A command-line tool that lets you manage Trello boards using markdown as the primary interface.
- Markdown-first workflow: Edit Trello boards using familiar markdown syntax
- Hierarchical structure: Boards → Lists → Cards represented as
#→##→- [ ] - Label management: Create, assign, and manage labels directly in markdown
- Due date support: Set and manage card due dates with customisable formats
- Bulk operations: Move multiple cards and lists by reorganising markdown
- Detailed editing: Access advanced board, list, and card settings
- Browser integration: Open boards directly in Trello via your default browser
- Offline-first: Make changes in your preferred text editor
- Go 1.18 or higher
- A Trello account and API token
Download the latest binary from the releases page and add it to your PATH.
git clone https://github.com/vinzmyko/mdello.git
cd mdello
go build -o mdello
sudo mv mdello /usr/local/bin/go install github.com/vinzmyko/mdello@latest-
Initialise mdello with your Trello token:
mdello init
You'll be prompted to enter your Trello API token. Get your token from https://trello.com/app-key.
-
List your boards:
mdello boards
-
Edit a board:
mdello board
This opens your current board as a markdown file in your default editor.
-
Open board in browser:
mdello open
mdello [command]
Available Commands:
board Edit current board via markdown file
boards Get all current user's boards
help Help about any command
init Initialise mdello with your Trello token
open Open current board in Trello via default browser
Flags:
-h, --help help for mdello
Use "mdello [command] --help" for more information about a command.mdello uses a hierarchical markdown structure to represent Trello boards:
# Board Name {board_id}
@label_name:colour {label_id}
## List Name {list_id}
- [ ] Card name @label due:25-07-2025 21:34 {card_id}
- [x] Completed card {card_id}
## Another List {list_id}
- [ ] Another card {card_id}Structure breakdown:
#= Board name@label:colour= Board labels (below board name)##= List names- [ ]= Incomplete cards- [x]= Completed cards{id}= Unique identifiers (automatically managed)
Creating cards:
Add new lines with - [ ] under any list:
## To Do
- [ ] New task
- [ ] Another new taskMoving cards: Cut and paste cards between lists:
## Backlog
- [ ] Move this card
## In Progress
- [ ] Move this card # Moved from BacklogCompleting cards:
Change [ ] to [x]:
- [x] This task is completeCreating labels: Add labels below the board name:
# My Project {board_id}
@urgent:red {label_id}
@feature:blue {label_id}
@bug:yellow {label_id}Applying labels to cards:
Reference labels with @ in card text:
- [ ] Fix critical bug @urgent @bug {card_id}
- [ ] Add new feature @feature {card_id}Set due dates using the format configured during mdello init:
- [ ] Task with deadline due:25-07-2025 21:34 {card_id}
- [ ] Another deadline due:30-07-2025 12:00 {card_id}For advanced editing of boards, lists, and cards, append ! to any item:
# My Board {board_id}!This opens a detailed editing interface with additional options:
Board settings:
- Description
- Permissions (org/private/public)
- Voting settings
- Comment permissions
- Display preferences
List settings:
- Position
- Archive status
- Subscriptions
Card settings:
- Detailed descriptions
- Start and due dates
- Archive status
- Notifications
# Website Redesign {8ee70}
@urgent:red {c5adc}
@design:blue {d4e8f}
@development:green {f9a2b}
## Backlog {0be10}
- [ ] User research @design {f5061}
- [ ] Competitor analysis @design {a3f84}
## In Progress {c9e65}
- [ ] Homepage mockup @design due:28-07-2025 17:00 {b7d92}
## Review {1f0d6}
- [ ] Logo concepts @design {e8c47}
## Done {383bd}
- [x] Project kickoff meeting {30e09}
- [x] Requirements gathering due:20-07-2025 12:00 {a59dd}# Website Redesign {8ee70}!
# =============================================================================
# EDITING BOARD: Website Redesign {68826e536b5f666e87d80ca8}
# =============================================================================
## Description
=== DESCRIPTION START ===
Complete redesign of company website focusing on:
* Improved user experience
* Mobile responsiveness
* Modern design language
* Accessibility compliance
=== DESCRIPTION END ===
## Board Settings
Name: Website Redesign
Closed: false
## Permissions
Permission Level: org
Voting: members
Comments: members
Invitations: membersmdello stores configuration in ~/.mdello/config.json:
{
"trello_token": "your-api-token",
"date_format": "02-01-2006 15:04",
"editor": "vim",
"current_board": "board-id"
}Customisable settings:
- Date format for due dates
- Default text editor
- API credentials
- Current working board
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development setup:
git clone https://github.com/vinzmyko/mdello.git
cd mdello
go mod download
go buildRunning tests:
go test ./...This project is licensed under the MIT License
Need help? Open an issue on GitHub