Official Python CLI for Trello - Optimized for agile workflows
Project description
Trello CLI v2.2
Official Python CLI for Trello - Extensible workflow management with plugin system and comprehensive board auditing.
โจ Features
- ๐ Plugin System - Extensible architecture for custom functionality
- ๐ Board Audit - Expose workflow chaos and structural problems (available as plugin!)
- ๐ค Optimized for Claude Code - AI-first design with discovery commands
- ๐ Sprint Planning - Complete sprint lifecycle management
- ๐ฆ Bulk Operations - Process multiple cards efficiently
- ๐ Board Standardization - Enforce Agile/Scrum best practices
- ๐ Advanced Queries - Filter and analyze cards
- โก Quick Workflows - Shortcuts for common operations
- ๐ฏ 48+ Commands - Comprehensive board management
๐ What's New in v2.2
๐ Plugin System + Board Audit
Major architectural evolution:
-
Production-Ready Plugin System
- Language-agnostic (Python, Bash, JS, Ruby, Go, etc.)
- Environment injection (credentials, config paths)
- Metadata validation and discovery
- Timeout protection and error handling
-
Official Board Audit Plugin
- 8 critical workflow validations
- Health score system (0-100)
- JSON output for CI/CD integration
- 600+ lines of production-ready code
- Proves the plugin system can handle complex logic
-
Enhanced Core Audit Command
- Comprehensive board-audit rewrite
- Detects workflow chaos Trello hides
--report-jsonand--fix-labelsflags- Critical/High/Medium issue prioritization
Previous in v2.1:
- 29 new commands across 5 categories (Quick, Sprint, Bulk, Query, Standardization)
- See CLAUDE.md for complete v2.1 features
๐ฆ Installation
Prerequisites
pip3 install py-trello
Setup
-
Clone or download this repository
-
Add to PATH (already done if using from
~/Documents/trello-cli-python) -
Configure API credentials:
trello config
Get your credentials from:
- API Key: https://trello.com/app-key
- Token: Follow the link provided during config
๐ Quick Start
For Claude Code Users
๐ฏ Essential Command:
trello help-json # Get ALL commands in JSON format
Key Discovery Commands:
trello boards # List all boards
trello board-overview <board_id> # Complete board structure
trello board-ids <board_id> # Quick ID reference
trello search-cards <board_id> "query" # Find cards anywhere
๐ Full Guide: CLAUDE.md
๐ Plugin System - Extensibility at its Core
The Trello CLI features a production-ready plugin system that allows you to extend functionality without modifying core code.
Why This Matters
Even the board auditor runs as a plugin. If critical analysis logic can live externally, anything can.
This isn't just a feature - it's an architectural statement: The core doesn't need to change for the CLI to evolve.
Quick Start with Plugins
# List available plugins
trello plugin list
# See plugin details
trello plugin info board-audit
# Run the official board auditor plugin
trello plugin run board-audit <board_id>
# JSON output for CI/CD integration
trello plugin run board-audit <board_id> --json
๐ Featured Plugin: Board Audit
Exposes the structural chaos that Trello hides.
Your board looks organized, but underneath:
- โ Cards in "Done" without due dates (can't measure velocity)
- โ Cards in "Done" with incomplete checklists (false completion)
- โ Overdue cards not marked complete (zombie tasks)
- โ ๏ธ Active cards without due dates (no accountability)
- โ ๏ธ Execution cards without owners (orphaned work)
- โ ๏ธ Empty checklists (fake productivity signals)
Real Example:
$ trello plugin run board-audit 68fcf05e481843db13204397
๐ BOARD AUDIT REPORT - AI Portfolio Sprint 1
Health Score: 60/100 - ๐ NEEDS ATTENTION
Critical Issues: 1
- 17 cards in Done without due dates
High Priority: 2
- 11 active cards without due dates
- 11 execution cards without owners
Health Score System:
90-100: ๐ข EXCELLENT - Board ready for production70-89: ๐ก GOOD - Minor issues detected50-69: ๐ NEEDS ATTENTION - Significant workflow problems0-49: ๐ด CRITICAL - Severe structural problems
Official Plugins Included
- board-audit.py - Comprehensive workflow auditor (600+ lines, production-ready)
- example-python.py - Python plugin template
- example-bash.sh - Bash plugin template
Creating Your Own Plugins
Plugins can be written in any language (Python, Bash, JavaScript, Ruby, Go, etc.)
Example plugin structure:
#!/usr/bin/env python3
# trello-plugin
# name: My Plugin
# description: What it does
# usage: plugin run my-plugin [args]
# author: Your Name
# version: 1.0.0
import os
import sys
# Access injected credentials
api_key = os.environ.get('TRELLO_API_KEY')
token = os.environ.get('TRELLO_TOKEN')
# Your plugin logic here...
Available Environment Variables:
TRELLO_API_KEY- Your API keyTRELLO_TOKEN- Your API tokenTRELLO_USER_ID- Your user IDTRELLO_BASE_URL- Trello API base URLTRELLO_CLI_VERSION- CLI versionTRELLO_CONFIG_DIR- Config directoryTRELLO_PLUGIN_DIR- Plugin directory
๐ Full Plugin Guide: PLUGINS.md
๐ Command Categories
1. Discovery & Help (5 commands)
trello help # Show all commands
trello help-json # Get commands in JSON
trello board-overview <id> # Board structure + metrics
trello board-ids <id> # All IDs in one place
trello search-cards <id> "q" # Find cards by text
2. Quick Workflows (5 commands)
trello quick-start <card_id> # Move to "In Progress" + comment
trello quick-test <card_id> # Move to "Testing" + comment
trello quick-done <card_id> # Move to "Done" + comment
trello my-cards <board_id> # Show all assigned cards
trello card-age <list_id> # See how old cards are
3. Sprint Planning (4 commands)
trello sprint-start <board_id> # Start sprint (interactive)
trello sprint-status <board_id> # Sprint progress dashboard
trello sprint-close <board_id> # Close sprint + cleanup
trello sprint-velocity <board_id> # Calculate team velocity
4. Bulk Operations (5 commands)
# Move multiple cards
trello bulk-move-cards <source_list> <target_list> ["filter"]
# Label multiple cards
trello bulk-add-label cards.txt "red" "Priority"
# Set due dates in bulk
trello bulk-set-due cards.txt "2025-12-31"
# Archive multiple cards
trello bulk-archive-cards <list_id> ["filter"]
# Create cards from CSV/JSON
trello bulk-create-cards <list_id> cards.csv
5. Advanced Queries (5 commands)
trello cards-by-label <board_id> "red" # Find by label
trello cards-due-soon <board_id> [days] # Due soon (default: 7d)
trello cards-overdue <board_id> # Overdue cards
trello list-metrics <list_id> # List analytics
trello board-health <board_id> # Health check (score 0-100)
6. Board Standardization โญ NEW (4 commands)
trello list-templates # Show available templates
trello standardize-lists <id> agile # Apply template to board
trello scrum-check <board_id> # Validate Agile conformity
trello migrate-cards <list> <board> # Move cards between boards
7. Basic CRUD (15+ commands)
# Boards
trello boards
trello create-board "Name"
# Lists
trello lists <board_id>
trello create-list <board_id> "Name"
trello archive-list <list_id>
# Cards
trello cards <list_id>
trello add-card <list_id> "Title" ["Description"]
trello show-card <card_id>
trello update-card <card_id> "Description"
trello move-card <card_id> <list_id>
# Enhancements
trello add-label <card_id> "color" ["name"]
trello add-checklist <card_id> "Name"
trello add-checkitem <card_id> "Checklist" "Item"
trello set-due <card_id> "YYYY-MM-DD"
trello add-comment <card_id> "Text"
๐ฏ Common Use Cases
Use Case 1: Daily Workflow
# Morning: Check your cards
trello my-cards <board_id>
# Start working on a card
trello quick-start <card_id>
# Move to testing
trello quick-test <card_id>
# Mark as done
trello quick-done <card_id>
Use Case 2: Sprint Planning
# Check board health
trello scrum-check <board_id>
trello board-health <board_id>
# Start new sprint
trello sprint-start <board_id>
# Monitor progress
trello sprint-status <board_id>
# Close sprint
trello sprint-close <board_id>
trello sprint-velocity <board_id>
Use Case 3: Board Standardization
# Standardize all company boards
trello list-templates
trello standardize-lists <board_id> agile --dry-run
trello standardize-lists <board_id> agile
# Validate conformity
trello scrum-check <board_id>
Use Case 4: Bulk Cleanup
# Find overdue cards
trello cards-overdue <board_id>
# Archive old cards
trello bulk-archive-cards <list_id> "2023"
# Move stale cards to backlog
trello card-age <list_id>
trello bulk-move-cards <source> <backlog>
๐ Documentation
Essential Docs (in root)
Additional Docs (in docs/)
- docs/README.md - Documentation index
- TESTING_GUIDE.md - Pytest setup
- REPORTING_GUIDE.md - Export reports to HTML/PDF
Developer Docs
- PROJECT_SUMMARY.md - Architecture
- CONTRIBUTING.md - How to contribute
- MIGRATION.md - v1โv2 migration
๐จ Board Templates
Three standard templates available:
1. Agile/Scrum (Full) - 12 lists
๐ก Ideas โ ๐ฅ Inbox โ ๐ Backlog โ ๐ To Prioritize โ ๐ Refinement
โ โ
Ready โ ๐ Design โ ๐ Sprint โ โ๏ธ In Progress โ ๐งช Testing โ โ
Done โ ๐ Architecture
2. Kanban (Simple) - 3 lists
๐ To Do โ โ๏ธ In Progress โ โ
Done
3. Basic Workflow - 4 lists
๐ Backlog โ ๐ To Do โ โ๏ธ In Progress โ โ
Done
Apply with:
trello standardize-lists <board_id> <template>
๐ Scrum Conformity Checks
The scrum-check command validates:
- โ Required Lists - Backlog, Ready, Sprint, In Progress, Testing, Done
- โ๏ธ WIP Limits - In Progress should have โค3-5 cards
- ๐ Sprint Size - Sprint should have 5-15 cards
- ๐งช Testing Queue - Testing should have โค3-5 cards
- ๐ Backlog Health - Should have 10-50 cards
Score: 0-100 with recommendations
- ๐ข EXCELLENT (90-100)
- ๐ก GOOD (70-89)
- ๐ NEEDS WORK (50-69)
- ๐ด CRITICAL (<50)
trello scrum-check <board_id>
๐ ๏ธ Development
Project Structure
trello-cli-python/
โโโ trello_cli/
โ โโโ commands/ # All command modules
โ โ โโโ board.py
โ โ โโโ list.py
โ โ โโโ card.py
โ โ โโโ bulk.py # Bulk operations
โ โ โโโ quick.py # Quick shortcuts
โ โ โโโ sprint.py # Sprint planning
โ โ โโโ query.py # Advanced queries
โ โ โโโ standardize.py # Board standardization
โ โ โโโ ...
โ โโโ utils/ # Utilities
โ โโโ cli.py # Main CLI entry
โโโ tests/ # Test suite
โโโ docs/ # Documentation
โโโ trello # Executable
Running Tests
pytest tests/
pytest --cov=trello_cli tests/
๐ค Contributing
See CONTRIBUTING.md
๐ Examples
Example 1: Bulk Card Creation
# cards.csv
title,description,due_date,labels
Feature A,Description A,2025-12-25,red:P0
Feature B,Description B,2025-12-30,blue:Feature
trello bulk-create-cards <list_id> cards.csv
Example 2: Automated Reports
#!/bin/bash
# Generate daily report
DATE=$(date +%Y-%m-%d)
trello scrum-check <board_id> > "reports/${DATE}_report.txt"
trello board-health <board_id> >> "reports/${DATE}_report.txt"
Example 3: Sprint Automation
# Start sprint on Monday
trello sprint-start <board_id>
# Daily standup - check status
trello sprint-status <board_id>
# Friday - close sprint
trello sprint-close <board_id>
trello sprint-velocity <board_id>
๐ For Claude Code
Claude Code should always start with:
trello help-json
This returns all available commands in machine-readable format.
Key commands for AI:
board-overview- Understand board structuresearch-cards- Find cards without knowing their locationscrum-check- Validate board healthbulk-*commands - Process multiple items efficiently
๐ Complete Guide: CLAUDE.md
๐ Statistics
- Total Commands: 48
- Command Categories: 7
- Board Templates: 3
- Lines of Code: ~5,000
- Test Coverage: Expanding
๐ Links
- GitHub: bernardurizaorozco/trello-cli-python
- Issues: Report bugs
- Trello API: Documentation
๐ License
MIT License - See LICENSE
๐ค Author
Bernard Uriza Orozco
๐ Acknowledgments
- Built with py-trello
- Designed for Claude Code
- Inspired by Agile/Scrum best practices
Version: 2.1.0 Last Updated: 2025-10-27
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trello_cli_python-2.1.1.tar.gz.
File metadata
- Download URL: trello_cli_python-2.1.1.tar.gz
- Upload date:
- Size: 61.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0607535da2512ff3c5fd47f0df73257e7822965d4d63b78d77671dafb81e701a
|
|
| MD5 |
a0e25417420ca5e1a374fc99699fe1a2
|
|
| BLAKE2b-256 |
e7f19189da172c5817f86ae83651b4f1fc839929a70a2852c9c50a844c9ffdaf
|
File details
Details for the file trello_cli_python-2.1.1-py3-none-any.whl.
File metadata
- Download URL: trello_cli_python-2.1.1-py3-none-any.whl
- Upload date:
- Size: 66.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b35c3dc6966885ca6947e63a33cd7ab86bf2498bc94d5d32ea4a579e2ec29e6
|
|
| MD5 |
8224f6f7cc5ce20a5e8002d5a4e0ebd3
|
|
| BLAKE2b-256 |
f82d533ab54e63dd4d8539395a9ec58045d27fad29b0cb0b749233c638659168
|