A lightweight CLI tool for managing development tasks with integrated JJ workspace support.
Features
- Context-based Task Management: Switch to a task and all operations apply automatically
- Ticket Integration: Seamlessly integrate with Jira, GitHub Issues, and GitLab Issues
- JJ Workspace Management: Automatically manage isolated working directories for parallel development
- Web UI: Modern browser-based interface with real-time updates
Installation
# Build
# Install (optional)
Quick Start
# Create a new task
# Add TODOs
# Register repo and sync workspaces
# Add reference links
# Record work notes
# Work in the TODO workspace
# Mark TODO as complete
# View current task status
Command Reference
Task Management
| Command | Description |
|---|---|
track new <name> |
Create a new task and set it as active |
track new <name> --template <task_ref> |
Create task from template (copies TODOs) |
track list [--all] |
Display task list |
track switch <task_id> |
Switch tasks |
track switch today |
Switch to today's task (auto-creates if needed) |
track status [id] |
Display task information |
track status --json |
Output in JSON format |
track status --all |
Show all scraps |
track desc [description] |
View or set task description |
track ticket <ticket_id> <url> |
Link a ticket to the task |
track alias set <alias> |
Set an alias for the current task |
track alias set <alias> --force |
Overwrite existing alias on another task |
track alias remove |
Remove alias from the current task |
track archive [task_id] |
Archive a task |
Configuration
| Command | Description |
|---|---|
track config set-calendar <calendar-id> |
Set Google Calendar ID for today task |
track config show |
Show current configuration |
TODO Management
| Command | Description |
|---|---|
track todo add <text> [--worktree] |
Add a TODO (optionally create workspaces) |
track todo list |
Display TODO list |
track todo update <index> <status> |
Update TODO status |
track todo done <index> |
Complete a TODO (rebases and removes workspaces) |
track todo workspace <index> [--recreate --force --all] |
Show or recreate workspaces for a TODO |
track todo next <index> |
Move a TODO to the front (make it the next todo to work on) |
track todo delete <index> |
Delete a TODO |
track todo delete <index> --force |
Delete without confirmation |
Link Management
| Command | Description |
|---|---|
track link add <url> [title] |
Add a reference URL |
track link list |
Display link list |
track link delete <index> |
Delete a link |
Scrap (Work Notes) Management
| Command | Description |
|---|---|
track scrap add <content> |
Add a work note |
track scrap list |
Display note list |
Repository Management
| Command | Description |
|---|---|
track repo add [path] |
Register a repository to the current task |
track repo add --base <bookmark> |
Register repository with custom base bookmark |
track repo list |
Display registered repositories |
track repo remove <id> |
Remove a repository registration |
Sync
| Command | Description |
|---|---|
track sync |
Sync repositories and setup task bookmarks |
Web UI
| Command | Description |
|---|---|
track webui |
Start web-based user interface on port 3000 |
track webui --port 8080 |
Start on custom port |
track webui --open |
Start and open browser automatically |
The Web UI provides a modern, browser-based interface with real-time updates via Server-Sent Events (SSE).
Key Features:
- Today Task: Special task type that automatically inherits incomplete TODOs from the previous day. Access with
track switch today. - Calendar Integration: Display your Google Calendar in the today task view. Configure with
track config set-calendar <calendar-id>. - Todo-Scrap Linking: Click the 📝 button on any todo to jump to related scraps. Scraps are automatically linked to the active todo when created.
- Todo Reordering: Use the "⬆️ Make Next" option in the todo menu to move a todo to the front of your work queue.
- Real-time Updates: All changes are instantly reflected across all connected browsers.
- Focus Mode: Toggle between overview and focus modes to concentrate on the current task.
- Dark/Light Theme: Automatic theme switching with calendar color adaptation.
- Safe Markdown Rendering: Markdown is sanitized and raw HTML is stripped; links open safely in a new tab.
Shell Completion
track provides shell completion scripts for bash, zsh, fish, and powershell.
| Command | Description |
|---|---|
track completion bash |
Generate bash completion script |
track completion zsh |
Generate zsh completion script |
track completion fish |
Generate fish completion script |
track completion powershell |
Generate PowerShell completion script |
Quick Install (Dynamic - Recommended):
# Bash (dynamic)
# Zsh (dynamic)
# Add to ~/.zshrc: fpath=(~/.zsh/completions $fpath)
# Then: exec zsh
# Fish (static only)
What you get with dynamic completions:
For detailed installation instructions and troubleshooting, see completions/README.md.
Additional Features
For detailed information on the following features, see docs/USAGE_EXAMPLES.md:
- Task Aliases: Assign human-readable aliases to tasks
- Task Templates: Create new tasks from existing task templates
- Ticket Reference: Reference tasks by ticket ID
- Bookmark Naming Convention: Automatic bookmark naming based on ticket IDs
- JJ Workspace Workflows: Detailed workflows for parallel development
Database
Data is stored at the following path:
$HOME/.local/share/track/track.db
Complies with the XDG Base Directory specification.
Technology Stack
- Language: Rust (Edition 2021)
- CLI: clap v4.4+
- Database: SQLite (rusqlite with bundled feature)
- Error handling: anyhow, thiserror
- Date/time: chrono
- Display: prettytable-rs
- Web UI: Axum, MiniJinja, HTMX, SSE
Project Structure
See PROJECT_STRUCTURE.md for details.
Documentation
- DESIGN.md - Design specification
- docs/FUNCTIONAL_SPEC.md - Functional specification
- docs/TODAY_TASK.md - Today task feature guide
- PROJECT_STRUCTURE.md - Project structure
- docs/USAGE_EXAMPLES.md - Detailed usage examples
- docs/LLM_INTEGRATION.md - LLM agent integration guide (includes
track llm-helpcommand)
License
MIT License
Development
# Development build
# Run tests
# Release build