Skip to main content

CLI tool for managing Lark Suite tasks

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boring_cli-0.1.13.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boring_cli-0.1.13-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file boring_cli-0.1.13.tar.gz.

File metadata

  • Download URL: boring_cli-0.1.13.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for boring_cli-0.1.13.tar.gz
Algorithm Hash digest
SHA256 a5969a7fa619166d6e2a941d51d821a282b1558ad2969ab71c2dfccaee74f917
MD5 faefcf9312cdfe7bef0f057a0d8b01eb
BLAKE2b-256 d0cbe5c8db0ad27dfb5ad0519fa57ade352c5762442e01842efd2ceba6197584

See more details on using hashes here.

File details

Details for the file boring_cli-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: boring_cli-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for boring_cli-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 1e48c0f8c00fbda078f5201d52a9b2949de7633caa01c44205bfb125bdf4539a
MD5 8b2c9a9172f2d64ff8fc98ce46978ea5
BLAKE2b-256 cae651e9d149add18df4cc0bc0b2c650f669e7a6e1cf6f0d13e0f7de6d8d0354

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page