A powerful, lightweight task management system with both Terminal User Interface (TUI) and Command Line Interface (CLI) capabilities. Features per-project task databases and seamless integration with Claude through MCP (Model Context Protocol).
- π― Dual Interface: Rich TUI for interactive management, CLI for automation
- π Per-Project Tasks: Each project maintains its own
.tasqdirectory with isolated task database - β‘ Priority System: 5-level priority system with visual indicators
- π€ Claude Integration: MCP server for AI-assisted task management
- β Task Completion: Mark tasks complete with visual strikethrough
- π Task Details: Comprehensive task information in modal view
- ποΈ SQLite Backend: Reliable local database storage
- π¨ Color-Coded: Priority-based color coding for quick visual scanning
- π Auto-Discovery: MCP server automatically detects nearest
.tasqdirectory
Prerequisites:
- Rust 1.70+ (install from rustup.rs)
Build steps:
git clone https://github.com/arcalumis/tasq.git
cd tasq
cargo build --release
sudo cp target/release/tasq /usr/local/bin/cd your-project-directory
tasq initThis creates a .tasq/ directory with:
config.json- Project configurationhooks/- Post-completion hook scripts
tasq add "Implement user authentication" --priority 1
tasq add "Write documentation" --priority 3
tasq add "Setup CI/CD pipeline" --priority 2tasq# Add a new task
tasq add "Implement user authentication" --priority 1
# List all tasks
tasq list
# List only pending tasks
tasq list --pending
# List only completed tasks
tasq list --completed
# Get the next highest priority task
tasq next
# Complete a task (by ID or search term)
tasq complete 5
tasq complete "authentication"
# Set task priority
tasq set-priority 5 1 # Set task 5 to priority 1 (urgent)
tasq set-priority "auth" 2 # Set task containing "auth" to priority 2Launch the interactive TUI by running tasq without arguments:
tasqNavigation:
β/k- Previous taskβ/j- Next taskShift+β/K- Move task upShift+β/J- Move task down
Task Management:
Space- Toggle task completionEnter- View task detailsi- Add new taskd- Delete selected task+/=- Increase priority (more urgent)-/_- Decrease priority (less urgent)
View Options:
c- Toggle between showing all tasks and pending onlyq- Quit
Tasks use a 5-level priority system:
| Priority | Color | Indicator | Description |
|---|---|---|---|
| 1 | Red | !!!!! | Urgent |
| 2 | Yellow | !!!! | High |
| 3 | White | !!! | Normal |
| 4 | Blue | !! | Low |
| 5 | Gray | ! | Very Low |
TasQ includes an MCP server that integrates with Claude Desktop, allowing you to manage tasks through AI conversation.
-
Install the MCP Server Dependencies:
cd /path/to/tasq/mcp-tasq uv sync -
Add to Claude Desktop Configuration:
Open your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the TasQ MCP server:
{ "mcpServers": { "mcp-tasq": { "command": "uv", "args": ["run", "--directory", "/path/to/tasq/mcp-tasq", "main.py"] } } }Replace
/path/to/tasqwith the actual path where you cloned/installed TasQ. - macOS:
-
Restart Claude Desktop to load the new configuration.
The MCP server automatically detects the nearest .tasq directory from your current working directory, enabling:
- Multi-Project Support: Works with any project that has been initialized with
tasq init - Auto-Discovery: Finds the correct
.tasqdirectory by walking up the directory tree - Task Management: Add, list, complete, and prioritize tasks through Claude
- Status Overview: Get project task summaries and statistics
- UI Guidance: Instructions for opening the TUI interface
You: "Add a high priority task to implement user authentication"
Claude: β
Task added: Implement user authentication (priority: 2)
You: "What's my next task?"
Claude: βοΈ Next task: [1] !!!!! Implement user authentication
You: "List all my pending tasks"
Claude: π Tasks:
β [1] !!!!! Implement user authentication
β [2] !!! Write documentation
β [3] !! Setup CI/CD pipeline
TasQ uses SQLite databases stored in .tasq/tasks.db in each project directory. This enables project-specific task management with complete isolation.
CREATE TABLE tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
description TEXT NOT NULL,
completed BOOLEAN NOT NULL DEFAULT FALSE,
priority INTEGER NOT NULL DEFAULT 3,
created_at TEXT NOT NULL,
completed_at TEXT,
position INTEGER NOT NULL DEFAULT 0
);The .tasq/config.json file contains project settings:
{
"database_path": ".tasq/tasks.db",
"mcp_server_port": 8080,
"hooks_enabled": true,
"auto_next_task": true,
"claude_md_path": "CLAUDE.md"
}TasQ supports post-completion hooks that run when tasks are marked as complete:
- Hook Location:
.tasq/hooks/post-complete.py - Automatic Execution: Runs when tasks are completed
- Claude Integration: Updates
CLAUDE.mdwith next task information - Customizable: Modify hooks for your workflow
After running tasq init, your project will have:
your-project/
βββ .tasq/
β βββ config.json # Project configuration
β βββ tasks.db # Task database (created on first use)
β βββ hooks/
β βββ post-complete.py # Hook script for task completion
βββ CLAUDE.md # AI assistant instructions (optional)
βββ ... (your project files)
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
MIT License - see the LICENSE file for details.
If you get "No module named 'fastmcp'" errors:
- Ensure you've run
uv syncin themcp-tasqdirectory - Use the
--directoryflag in your Claude Desktop config as shown above - Verify Python version is 3.10+ (check with
python3 --version)
If tasks aren't persisting:
- Check that you have write permissions in the project directory
- Run
tasq initto reinitialize the.tasqdirectory - Verify the
.tasq/tasks.dbfile is being created
If the TUI doesn't display properly:
- Ensure your terminal supports color and UTF-8
- Try resizing your terminal window
- Check that you're running in a proper TTY (not redirected output)
- FastMCP - Fast MCP server framework
- Model Context Protocol - Protocol specification
- Claude Desktop - AI assistant with MCP support