AI-Driven Development: Claude Code + Trello for End-to-End Dev Workflow
See how I combined Anthropic’s Claude Code with Trello to create an AI-powered workflow that plans, tracks and even accelerates real development work—without the manual overhead.
How I built a complete workflow automation system that bridges AI-powered task planning with persistent project tracking.
The Problem: Bridging Ephemeral and Persistent Task Management
As developers we constantly juggle multiple contexts:
- Planning sessions – breaking complex features into manageable tasks
- Active development – tracking immediate progress
- Project management – maintaining persistent visibility across sessions
- Team collaboration – ensuring everyone can see the current work
Most tools are great at one of these, rarely all.
Claude Code excels at interactive task planning with its TodoWrite system, but those tasks vanish when a session ends.
Trello provides persistent project tracking, but manually creating cards and updating progress is tedious.
What if we could have the best of both worlds?
The Solution: A Seamless Integration
I built an integration that creates a fluid workflow:
- Plan – Use Claude Code’s TodoWrite to break down tasks.
- Create – Convert plans into Trello cards with a single command.
- Work – Tasks automatically move through development stages.
- Sync – Progress updates flow seamlessly between the two systems.
- Complete – Finished work is archived with context intact.
Architecture Overview
Core TypeScript Service (trello-claude-sync/
)
src/
├── services/
│ ├── trello-client.ts # REST API wrapper for Trello
│ └── todo-sync.ts # TodoWrite ↔ Trello sync logic
├── slash-commands.ts # Claude Code command handlers
├── utils/
│ ├── session.ts # Persistent session management
│ ├── config.ts # Environment configuration
│ └── logger.ts # Structured logging
└── types/
└── index.ts # TypeScript type definitions
Claude Code Slash Commands (.claude/commands/
)
/trello-create
– Create cards from TodoWrite plans/trello-pickup
– Load existing cards into the active session/trello-update
– Sync TodoWrite progress to Trello/trello-complete
– Move cards to Done with completion notes/trello-status
– Show current workflow state
Enhanced Features
- Smart labelling based on content analysis
- Checklist management: TodoWrite tasks become Trello checklist items
- Session persistence across command executions
- Automatic movement of cards through lists as work progresses
Implementation Highlights
Smart Content Analysis for Labelling
const labelMappings = [
{ keywords: ['bug', 'fix', 'error'], name: 'Bug', color: 'red' },
{ keywords: ['feature', 'enhancement'], name: 'Feature', color: 'green' },
{ keywords: ['test', 'testing'], name: 'Testing', color: 'purple' },
{ keywords: ['api', 'endpoint'], name: 'API', color: 'orange' },
];
async function addRelevantLabels(client, cardId, title, content) {
for (const mapping of labelMappings) {
const hasKeyword = mapping.keywords.some(keyword =>
title.toLowerCase().includes(keyword) ||
content.toLowerCase().includes(keyword)
);
if (hasKeyword) {
const labelId = await client.ensureLabel(mapping.name, mapping.color);
await client.addLabelToCard(cardId, labelId);
}
}
}
Persistent Session Management
interface SessionState {
currentCardId?: string;
currentCardName?: string;
linkedTasks?: TodoTask[];
createdAt?: string;
lastActivity?: string;
}
export function saveSession(state: SessionState): void {
const sessionData = { ...state, lastActivity: new Date().toISOString() };
writeFileSync('.trello-session.json', JSON.stringify(sessionData, null, 2));
}
Checklist Synchronisation
async function syncTasksToChecklists(client, cardId, tasks) {
const checklists = await client.getCardChecklists(cardId);
for (const checklist of checklists) {
for (const task of tasks) {
const matchingItem = checklist.checkItems.find(item =>
item.name.includes(task.content)
);
if (matchingItem) {
const shouldBeCompleted = task.status === 'completed';
if (matchingItem.state !== (shouldBeCompleted ? 'complete' : 'incomplete')) {
await client.updateChecklistItem(checklist.id, matchingItem.id, shouldBeCompleted);
}
}
}
}
}
Developer Experience Before & After
Before: Manual Context Switching
1. Plan tasks in Claude Code → tasks disappear after session
2. Manually create Trello cards → copy/paste task details
3. Work on code → manually update Trello
4. Switch contexts → lose track of work
5. Repeat for every feature → heavy overhead
After: Seamless Automation
1. Plan with TodoWrite naturally
2. /trello-create → card created with checklist + labels
3. /trello-pickup <card> → card moves to DOING, tasks loaded
4. /trello-update → syncs TodoWrite progress
5. /trello-complete → card moves to DONE with completion notes
Real-World Usage Example
/trello-create "Trello-TodoWrite Integration Implementation"
/trello-pickup "Trello-TodoWrite Integration"
/trello-update "Completed slash commands, working on checklist sync"
/trello-complete "Integration fully implemented and tested!"
Technical Decisions & Trade-offs
- REST API over MCP server – simpler, more reliable and easier to debug.
- File-based session persistence – survives across slash command executions without needing a database.
- TypeScript – type safety, strong IDE support and maintainable interfaces.
Results & Impact
- ≈90 % reduction in manual Trello card management
- 100 % task-tracking accuracy
- Zero context switching between planning and execution
- Complete audit trail of development progress
Qualitatively it preserves flow state, improves team visibility and keeps context when resuming work.
Future Enhancements
- Bidirectional checklist sync
- Time tracking and analytics dashboard
- Integrations for GitHub Issues, Linear, Notion
- Pre-configured team templates
Getting Started
The complete integration is now open-sourced in a dedicated public repository:
👉 CorbinatorX/trello-claude-sync
git clone https://github.com/CorbinatorX/trello-claude-sync
cd trello-claude-sync
npm install
cp .env.example .env # add Trello API key & token
npm run build
npm start test
Conclusion
The best developer tools don’t just solve individual problems—they create seamless workflows.
By combining Claude Code’s AI-powered planning with Trello’s persistent project tracking, this integration eliminates friction between planning and execution.
Rather than replace tools, it lets each shine and keeps the human firmly in control of the process.