Task management for your terminal. A full kanban board that lives in a markdown file.
- Modern, borderless TUI optimized for information density
- Vim-style navigation with intuitive keybindings
- CLI commands for scripting and automation
- MCP server for AI assistant integration
npm install -g @brainfile/cliVerify installation:
brainfile --version# Initialize a new brainfile
brainfile init
# Launch interactive TUI
brainfile
# Or use CLI commands
brainfile list # List all tasks
brainfile add --title "My task" --column todo # Add a task
brainfile move --task task-1 --column done # Move a taskLaunch an interactive task board:
brainfile # Open with default brainfile.md
brainfile ./path/to/file.md # Open specific fileTask Card Layout:
▌ CRIT Implement user authentication flow
[1/5] · Nov 30 · #auth #security task-39
HIGH Dashboard performance optimization
[0/4] · Dec 4 · #performance #frontend task-40
▌indicator shows selected task- Priority badge (CRIT/HIGH/MED/LOW) leads each row
[X/Y]shows subtask progress- Due dates with urgency coloring (red if overdue, yellow if soon)
- Tags and task ID complete the metadata row
Panel Navigation:
| Key | Action |
|---|---|
1 |
Switch to Tasks panel |
2 |
Switch to Rules panel |
3 |
Switch to Archive panel |
? |
Show help |
q |
Quit |
Tasks Panel:
| Key | Action |
|---|---|
TAB / Shift+TAB |
Navigate columns |
j/k or ↑/↓ |
Navigate tasks |
h/l or ←/→ |
Switch columns |
g/G |
Jump to top/bottom |
Enter |
Expand/collapse task |
/ |
Search tasks |
r |
Refresh |
Search Filters:
| Filter | Example | Description |
|---|---|---|
| Priority | p:high |
Filter by priority |
| Tag | #bug or t:feature |
Filter by tag |
| Assignee | @john |
Filter by assignee |
| Due date | due:week |
overdue, today, week, month |
Combine filters with text: p:high #bug login issue
Task Management:
| Key | Action |
|---|---|
e |
Edit task in $EDITOR |
m |
Move task to column |
d |
Delete task |
n |
Quick add new task |
N |
New task in $EDITOR |
p |
Cycle priority |
t |
Toggle subtask |
A |
Archive task |
y |
Copy task ID |
Rules Panel:
| Key | Action |
|---|---|
TAB / Shift+TAB |
Switch rule type |
h/l |
Switch rule type (always/never/prefer/context) |
j/k |
Navigate rules |
n |
Add new rule |
e |
Edit selected rule |
d |
Delete selected rule |
Archive Panel:
| Key | Action |
|---|---|
j/k |
Navigate archived tasks |
Enter |
Expand/collapse task |
R |
Restore task to column |
d |
Permanently delete task |
r |
Refresh archive |
List all tasks with optional filtering:
brainfile list
brainfile list --column "In Progress"
brainfile list --tag bugOptions:
-f, --file <path>- Brainfile path (default:brainfile.md)-c, --column <name>- Filter by column-t, --tag <name>- Filter by tag
Create a new task:
brainfile add --title "Implement auth" --column todo
brainfile add --title "Fix bug" --priority high --tags "bug,urgent"
brainfile add --title "Review PR" --assignee john --due-date 2025-02-01Options:
-t, --title <text>- Task title (required)-c, --column <name>- Target column (default:todo)-d, --description <text>- Task description-p, --priority <level>-low,medium,high, orcritical--tags <list>- Comma-separated tags--assignee <name>- Assignee name--due-date <date>- Due date (YYYY-MM-DD)--subtasks <list>- Comma-separated subtask titles
Move a task to a different column:
brainfile move --task task-1 --column "In Progress"
brainfile move --task task-5 --column doneOptions:
-t, --task <id>- Task ID (required)-c, --column <name>- Target column (required)
Update specific fields of a task:
brainfile patch --task task-1 --priority critical
brainfile patch --task task-1 --title "Updated title" --tags "new,tags"
brainfile patch --task task-1 --clear-assignee # Remove assigneeOptions:
-t, --task <id>- Task ID (required)--title <text>- New title--description <text>- New description--priority <level>- New priority--tags <list>- New tags (comma-separated)--assignee <name>- New assignee--due-date <date>- New due date--clear-description- Remove description--clear-priority- Remove priority--clear-tags- Remove tags--clear-assignee- Remove assignee--clear-due-date- Remove due date
Permanently delete a task:
brainfile delete --task task-1 --forceOptions:
-t, --task <id>- Task ID (required)--force- Confirm deletion (required)
Move a task to the archive:
brainfile archive --task task-1Restore a task from the archive:
brainfile restore --task task-1 --column todoOptions:
-t, --task <id>- Task ID (required)-c, --column <name>- Target column (required)
Manage subtasks:
brainfile subtask --task task-1 --add "New subtask"
brainfile subtask --task task-1 --toggle task-1-1
brainfile subtask --task task-1 --update task-1-1 --title "Updated"
brainfile subtask --task task-1 --delete task-1-2Options:
-t, --task <id>- Parent task ID (required)--add <title>- Add a new subtask--toggle <id>- Toggle subtask completion--update <id>- Update subtask (use with--title)--delete <id>- Delete a subtask--title <text>- New title (for--update)
Validate and auto-fix brainfile syntax:
brainfile lint # Check for issues
brainfile lint --fix # Auto-fix issues
brainfile lint --check # Exit with error code (for CI)What it checks:
- YAML syntax errors
- Unquoted strings with colons (auto-fixable)
- Duplicate column IDs
- Missing required fields
Create tasks from templates:
brainfile template --list
brainfile template --use bug-report --title "Login fails"
brainfile template --use feature-request --title "Dark mode"Built-in Templates:
bug-report- Bug tracking with triage stepsfeature-request- Feature proposalsrefactor- Code refactoring tasks
Integrate with AI coding assistants:
brainfile hooks install claude-code
brainfile hooks install cursor --scope project
brainfile hooks install cline
brainfile hooks list
brainfile hooks uninstall claude-code --scope allSupported Assistants:
- Claude Code
- Cursor
- Cline
Hooks provide automatic reminders to update task status during AI-assisted development.
Start an MCP (Model Context Protocol) server for AI assistant integration:
brainfile mcp
brainfile mcp --file ./project/brainfile.mdThe MCP server exposes all brainfile operations as tools that AI assistants can use directly.
Available MCP Tools:
| Tool | Description |
|---|---|
list_tasks |
List tasks with optional filtering |
add_task |
Create a new task |
move_task |
Move task between columns |
patch_task |
Update task fields |
delete_task |
Permanently delete a task |
archive_task |
Archive a task |
restore_task |
Restore from archive |
add_subtask |
Add a subtask |
delete_subtask |
Delete a subtask |
toggle_subtask |
Toggle subtask completion |
update_subtask |
Update subtask title |
Configuration for Claude Code:
Add to your MCP settings (.mcp.json or Claude Code config):
{
"mcpServers": {
"brainfile": {
"command": "npx",
"args": ["@brainfile/cli", "mcp"]
}
}
}Or with a specific file:
{
"mcpServers": {
"brainfile": {
"command": "npx",
"args": ["@brainfile/cli", "mcp", "-f", "path/to/brainfile.md"]
}
}
}Create a new brainfile:
brainfile init
brainfile init --file ./project/tasks.md
brainfile init --force # Overwrite existingThe CLI uses colors to highlight information:
| Element | Color |
|---|---|
| Task IDs | Gray |
| Titles | White |
| Critical Priority | Red (bold) |
| High Priority | Red |
| Medium Priority | Yellow |
| Low Priority | Blue |
| Tags | Cyan |
| Completed | Green |
- npm: https://www.npmjs.com/package/@brainfile/cli
- GitHub: https://github.com/brainfile/cli
- Core Library: @brainfile/core
- Protocol: https://brainfile.md
git clone https://github.com/brainfile/cli.git
cd cli
npm install
npm run build
npm testMIT
