Skip to main content

Boring CLI

PyPI version Python 3.9+ License: MIT

CLI tool for managing bug tasks from the command line, supporting both Lark Suite and Kanban (Outline) backends.

Installation

pip install boring-cli

Quick Start Guide

Step 1: Run Setup

boring setup

Supported Backends: Lark & Kanban

Backend Description Setup Steps
Lark Lark Suite task management Lark Setup
Kanban Outline Kanban board integration Kanban Setup

Lark Suite Setup

Step 2: Configure Settings (Lark)

You'll be prompted for the following settings:

Server URL [https://boring.omelet.tech/api]: (press Enter to use default)
Bugs output directory [/tmp/bugs]: /path/to/your/project/bugs
Backend type (lark, kanban) []:  lark
Tasklist GUID (from Lark) []: 9a31701d-fd0e-4417-b00d-e040afe2b234
In-progress Section GUID []: e2c8e412-fbae-41ea-9daa-c2b58efc1b87
Solved Section GUID []: 76a74fd6-79d8-4f74-a358-e78c688ee5ef

Default GUIDs for Bugs list:

Setting GUID
Tasklist GUID 9a31701d-fd0e-4417-b00d-e040afe2b234
In-progress Section (Inprogress - Bình) e2c8e412-fbae-41ea-9daa-c2b58efc1b87
Solved Section 76a74fd6-79d8-4f74-a358-e78c688ee5ef

Step 3: Login with Lark

  1. A browser window will open for Lark login
  2. Login with your Lark account
  3. After login, you'll see a JSON response like:
{"user":{...},"token":{"access_token":"eyJhbGciOiJ...",...}}
  1. Copy the access_token value (the long string starting with eyJ...)
  2. Paste it in the terminal when prompted
Paste your access_token here: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Login successful! Setup complete!



## Kanban Setup

### Step 2: Configure Settings (Kanban)

You'll be prompted for the following settings:

Server URL [https://boring.omelet.tech/api]: (press Enter to use default) Bugs output directory [/tmp/bugs]: /path/to/your/project/bugs Backend type (lark, kanban) []: kanban Kanban API Base URL [https://local.outline.dev:3000]: https://local.outline.dev:3000 Kanban API Key [*****]: Fetching available boards...

Available Boards:

  • Kanban (b55c24c4-cbad-422a-b42e-56a9692a2e10)

Kanban Board ID [b55c24c4-cbad-422a-b42e-56a9692a2e10]: Fetching board details...

Available Lists (Columns):

  • In Progress (c5286835-b3c9-4a99-9a17-66217a7d0ef9)
  • To Do (c85e17e1-3190-4f5c-b2c0-bbe3a862f575)
  • Done (f03c2aef-c3b3-4789-8b32-b4180cc6d927)

In-progress List ID [c5286835-b3c9-4a99-9a17-66217a7d0ef9]: Tasklist GUID (from Lark) []: 9a31701d-fd0e-4417-b00d-e040afe2b234 Solved/Done List ID [f03c2aef-c3b3-4789-8b32-b4180cc6d927]:

Kanban configuration updated!


**Default GUIDs for Bugs list:**
| Setting | GUID |
|---------|------|
| Tasklist GUID | `9a31701d-fd0e-4417-b00d-e040afe2b234` |
| In-progress Section (Inprogress - Bình) | `e2c8e412-fbae-41ea-9daa-c2b58efc1b87` |
| Solved Section | `76a74fd6-79d8-4f74-a358-e78c688ee5ef` |

### Step 3: Login with Lark (for Kanban)

If your Kanban board is linked to Lark authentication, follow the same login process:

1. A browser window will open for Lark login
2. Login with your Lark account
3. After login, you'll see a JSON response like:
   ```json
   {"user":{...},"token":{"access_token":"eyJhbGciOiJ...",...}}
  1. Copy the access_token value (the long string starting with eyJ...)
  2. Paste it in the terminal when prompted
Paste your access_token here: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Login successful!
Setup complete!

Step 4: Download Bug Tasks

Download all tasks from your configured section:

boring download

Download to a specific directory:

boring download --dir /path/to/your/project/bugs

Download from a specific section:

boring download --section e2c8e412-fbae-41ea-9daa-c2b58efc1b87

Step 5: View Sections (Optional)

List all tasklists and sections to find GUIDs:

boring sections

Commands Reference

Command Description
boring setup Configure CLI and login to Lark
boring download Download tasks to local folder
boring download --section GUID Download from specific section
boring download --dir PATH Download to specific directory
boring download --labels "Critical,High" Filter by labels
boring sections List all tasklists and sections
boring solve Move tasks to Solved section
boring solve --keep Solve but keep local folders
boring status Show current configuration
boring --version Show version
boring --help Show help

Configuration File

Configuration is stored in ~/.boring-agents/config.yaml:

server_url: https://boring.omelet.tech/api
jwt_token: eyJhbGc...
bugs_dir: /path/to/your/project/bugs
tasklist_guid: 9a31701d-fd0e-4417-b00d-e040afe2b234
section_guid: e2c8e412-fbae-41ea-9daa-c2b58efc1b87
solved_section_guid: 76a74fd6-79d8-4f74-a358-e78c688ee5ef

Troubleshooting

Token Expired

If you see authentication errors, run boring setup again to get a new token.

Find Section GUIDs

Run boring sections to list all available tasklists and their sections with GUIDs.

Requirements

  • Python 3.9+

License

MIT

Metadata

Release files for boring-cli 0.1.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for boring-cli 0.1.14
File Size Uploaded Provenance
boring_cli-0.1.14.tar.gz 21.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for boring-cli 0.1.14
File Interpreter ABI Platform
boring_cli-0.1.14-py3-none-any.whl Python 3 none any Details

Total release size: 51.9 kB

Release files / boring_cli-0.1.14.tar.gz

Download URL boring_cli-0.1.14.tar.gz
Size 21.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b7dfc78feb4f646bc809acc2710bbd60b822ff352a7ddb586f0d8d2b739c67bb
BLAKE2b-256 checksum
How to use checksums
39545db694f57765624bc2644e55db4d708359953f46051c2db0383656f61d15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / boring_cli-0.1.14-py3-none-any.whl

Download URL boring_cli-0.1.14-py3-none-any.whl
Size 30.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
667c8606b23c141a00202742819b68d0ed13b7822ef722303195fe447c28842c
BLAKE2b-256 checksum
How to use checksums
694ace787af8df4782c8ed18933e52671b5a6b2e85b3e721a6ebebf672ab899a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Security for boring-cli 0.1.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page