/trello/.
For API key setup, see Trello Setup.
Config
Filesystem Layout
__ so that
resource-specific commands can reference the correct resource without
extra lookups.
Workspaces
Each workspace directory is named:workspace.jsonis the normalized workspace metadataboards/contains one directory per board
Boards
Each board directory is named:board.jsonis the normalized board metadatamembers/contains one JSON file per board memberlabels/contains one JSON file per board labellists/contains one directory per list
Lists
Each list directory is named:list.json— normalized list metadata with fields such aslist_id,list_name,board_id,closed,poscards/contains one directory per card
Cards
Each card directory is named:card.json— normalized card metadata with command-aligned fields such ascard_id,board_id,list_id,member_ids,label_ids,due,urlcomments.jsonl— normalized comment stream ordered bycreated_at
comments.jsonl is a Mirage representation chosen for shell-friendly
workflows. It is not a native Trello file format.
Members
Each member file is named:member_id and
username so the value can be reused directly in commands like
trello-card-assign.
Labels
Each label file is named:label_id, label_name, color, and board_id.
Cache
UsesIndexCacheStore (same as other resources).
Example
Seeexamples/trello/trello.py for the full working example.
Finding IDs
IDs are embedded in directory and file names after__:
Shell Commands
Standard commands available on the mounted Trello tree:| Command | Notes |
|---|---|
ls | List workspaces, boards, lists, cards |
cat | Read .json metadata or .jsonl comments |
head / tail | First/last N lines |
grep / rg | Pattern search (file or directory level) |
jq | Query JSON fields |
wc | Line/word/byte counts |
stat | File metadata (name, size, type) |
find | Recursive search with -name, -maxdepth |
tree | Directory tree view |
basename | Extract file name from path |
dirname | Extract directory from path |
realpath | Resolve path to absolute form |
Resource-Specific Commands
trello-card-create
Create a new card. Description can be passed via --desc, --desc_file, or stdin.
| Option | Required | Description |
|---|---|---|
--list_id | yes | Trello list ID |
--name | yes | Card name |
--desc | no | Inline description text |
--desc_file | no | Path to file containing description |
trello-card-update
Update an existing card. Description can be passed via --desc, --desc_file, or stdin.
| Option | Required | Description |
|---|---|---|
--card_id | yes | Trello card ID |
--name | no | New card name |
--desc | no | Inline description text |
--desc_file | no | Path to file containing description |
--due | no | Due date |
--closed | no | Archive card (true/false) |
trello-card-move
Move a card to a different list.
| Option | Required | Description |
|---|---|---|
--card_id | yes | Trello card ID |
--list_id | yes | Trello list ID |
trello-card-assign
Assign a member to a card.
| Option | Required | Description |
|---|---|---|
--card_id | yes | Trello card ID |
--member_id | yes | Trello member ID |
trello-card-comment-add
Add a comment to a card. Text can be passed via --text, --text_file, or stdin.
| Option | Required | Description |
|---|---|---|
--card_id | yes | Trello card ID |
--text | * | Inline comment text |
--text_file | * | Path to file containing text |
--text, --text_file, or stdin is required.
trello-card-comment-update
Update an existing comment. Text can be passed via --text, --text_file, or stdin.
| Option | Required | Description |
|---|---|---|
--comment_id | yes | Trello comment ID |
--card_id | yes | Trello card ID |
--text | * | Inline comment text |
--text_file | * | Path to file containing text |
--text, --text_file, or stdin is required.
trello-card-label-add
Add a label to a card.
| Option | Required | Description |
|---|---|---|
--card_id | yes | Trello card ID |
--label_id | yes | Trello label ID |
trello-card-label-remove
Remove a label from a card.
| Option | Required | Description |
|---|---|---|
--card_id | yes | Trello card ID |
--label_id | yes | Trello label ID |