Local Roadmap Manager CLI for agentic workflows. Groadmap is a CLI tool in Go for managing technical roadmaps, using SQLite as backend.
curl -fsSL https://raw.githubusercontent.com/FlavioCFOliveira/Groadmap/main/install.sh | bashThis will detect your OS and architecture, download the latest release from GitHub, and install the rmp binary to /usr/local/bin. If rmp is already installed, it will be updated to the latest version.
- Roadmap Management: Create, list, select, and remove roadmaps
- Task Management: Create, edit, list, and get tasks with status, priority, and severity tracking
- Task Prioritization: Get next tasks from open sprint ordered by sprint task order
- Sprint Management: Organize tasks into sprints with complete lifecycle (PENDING, OPEN, CLOSED)
- Sprint Reporting: Comprehensive sprint reports with progress and distribution metrics
- Task Ordering: Reorder, move-to-position, swap, top, and bottom commands for sprint task management
- Audit Trail: Automatic logging of all operations for traceability
- State Machine: Validated task and sprint status transitions with automatic date tracking
- Bulk Operations: Support for multiple task IDs in single commands
| Command | Description | Documentation |
|---|---|---|
roadmap |
Roadmap management (create, list, select, remove) | DOCS/commands/roadmap.md |
task |
Task management (create, edit, list, get, next, status, priority, severity) | DOCS/commands/task.md |
sprint |
Sprint management with lifecycle control, reporting, and task ordering | DOCS/commands/sprint.md |
audit |
Audit log and entity history | DOCS/commands/audit.md |
# Clone the repository
git clone https://github.com/FlavioCFOliveira/Groadmap.git
cd Groadmap
# Build
go build -o ./bin/ ./cmd/rmp
# Add to PATH (optional)
cp ./bin/rmp /usr/local/bin/Install the roadmap-coordinator skill to enable task coordination via Claude Code:
Project-level (current directory only):
cp -r .claude/skills/roadmap-coordinator ~/.claude/skills/User-level (all projects):
cp -r .claude/skills/roadmap-coordinator ~/.claude/skills/Global (system-wide):
sudo cp -r .claude/skills/roadmap-coordinator /usr/local/share/claude/skills/Or install directly from GitHub:
mkdir -p ~/.claude/skills/
curl -fsSL https://raw.githubusercontent.com/FlavioCFOliveira/Groadmap/main/.claude/skills/roadmap-coordinator/roadmap-coordinator.md -o ~/.claude/skills/roadmap-coordinator/roadmap-coordinator.md# Create a new roadmap
rmp roadmap create myproject
# Select default roadmap
rmp roadmap use myproject
# Create a task
rmp task create -t "Implement feature X" \
-fr "User can perform X action" \
-tr "Develop code using Go" \
-ac "Feature working in production"
# List tasks
rmp task list
# Get specific task(s)
rmp task get 1
rmp task get 1,2,3
# Get next task from open sprint (ordered by sprint task order)
rmp task next
# Create a sprint
rmp sprint create -d "Sprint 1 - Setup"
# Add tasks to sprint
rmp sprint add-tasks 1 1,2,3
# Start sprint
rmp sprint start 1
# Reorder tasks in sprint
rmp sprint reorder 1 3,1,2
# Show sprint report
rmp sprint show 1.
├── cmd/rmp/main.go # CLI entry point
├── internal/
│ ├── commands/ # Subcommands (roadmap, task, sprint, audit)
│ ├── db/ # SQLite, schema, parameterized queries
│ ├── models/ # Structs and enums
│ └── utils/ # JSON, ISO 8601 dates, paths
├── bin/ # Build output
├── SPEC/ # Technical specifications
└── DOCS/ # Command documentation
- Success output: JSON to stdout
- Error output: Plain text to stderr
- Dates: ISO 8601 UTC
- Roadmaps: Stored in
~/.roadmaps/with permissions0700
| Code | Meaning | Description |
|---|---|---|
| 0 | Success | Command completed successfully |
| 1 | General error | Database failure, unexpected error |
| 2 | Invalid usage | Wrong arguments, syntax error |
| 3 | No roadmap | No roadmap selected for command |
| 4 | Not found | Roadmap/task/sprint doesn't exist |
| 5 | Already exists | Duplicate name when creating |
| 6 | Invalid data | Validation failed (dates, ranges) |
| 127 | Unknown command | Unknown command or subcommand |
See the SPEC/ folder for detailed technical documentation:
SPEC/ARCHITECTURE.md- System design and architectureSPEC/BUILD.md- Build system, CI/CD workflows, and cross-compilationSPEC/COMMANDS.md- CLI hierarchy and aliasesSPEC/DATABASE.md- SQLite schema and migrationsSPEC/DATA_FORMATS.md- JSON output schemaSPEC/DEPLOY.md- Installation, deployment, and platform detectionSPEC/MODELS.md- Model definitionsSPEC/STATE_MACHINE.md- State machinesSPEC/VERSION.md- Version management strategy
What is the active roadmap?
rmp roadmap list # List all roadmaps
rmp roadmap use <name> # Set active roadmapHow do I create and switch roadmaps?
rmp roadmap create <name> # Create new roadmap
rmp roadmap use <name> # Set as active for all subsequent commands
rmp roadmap remove <name> # Permanently delete (cannot remove active roadmap)What is the overall state of the roadmap?
rmp stats # Sprint counts, task distribution by status, average velocity
rmp stats -r <name> # Specific roadmapWhat is in the backlog?
rmp backlog list # All backlog tasks, sorted by priority
rmp backlog show-next 10 # Top 10 backlog tasks for sprint planning
rmp backlog list --type BUG # Filter by type
rmp backlog list --priority 7 # Filter by minimum priorityWhat sprints exist?
rmp sprint list
rmp sprint list --status OPEN
rmp sprint list --status PENDING,CLOSEDHow do I create a well-defined task?
rmp task create \
-t "Title" \
-fr "Functional requirements - Why build it?" \
-tr "Technical requirements - How to build it?" \
-ac "Acceptance criteria - How to verify it?" \
--type USER_STORY --priority 7 --severity 3 \
--specialists "go-elite-developer,qa-engineer"What task types are available?
USER_STORY- New feature from the user's perspectiveTASK- Internal work unit (setup, configuration)BUG- Something not working as expectedSUB_TASK- Decomposition of a story or taskEPIC- Large body of work spanning multiple sprintsREFACTOR- Structural improvement without behaviour changeCHORE- Maintenance (update dependencies, cleanup)SPIKE- Research or prototype to reduce uncertaintyDESIGN_UX- Wireframes, prototypes, interface flowsIMPROVEMENT- Refinement of an existing working feature
How do I get a task or multiple tasks?
rmp task get 5
rmp task get 1,2,3 # Bulk fetchHow do I filter and search tasks?
rmp task list --status BACKLOG
rmp task list --status DOING,TESTING
rmp task list --type BUG --severity 8,9
rmp task list --priority 7 --status SPRINT
rmp task list --specialists "go-elite-developer"
rmp task list --created-since 2026-03-01
rmp task list --sort created --limit 50What is the next task to work on?
rmp task next # Next task from active sprint (by sprint order)
rmp task next 5 # Next 5 tasksHow do I edit a task?
rmp task edit <id> -t "New title" --priority 9 --type BUGHow do I delete a task?
rmp task remove <id>
rmp task rm 1,2,3 # Bulk delete (tasks must be in BACKLOG)- Task must be in
BACKLOGstatus and have no subtasks.
How do I break a task into subtasks?
rmp task create -t "Write unit tests" \
-fr "..." -tr "..." -ac "..." \
--type SUB_TASK --parent 42- The parent task's
subtask_countis updated automatically.
How do I list the subtasks of a task?
rmp task subtasks 42 # Direct subtasks of task 42, ordered by priorityHow do I declare that a task depends on another?
rmp task add-dep 10 5 # Task 10 depends on task 5 (task 5 must complete first)
rmp task remove-dep 10 5 # Remove that dependency- Circular dependencies are rejected.
How do I see what is blocking a task?
rmp task blockers 10 # Tasks that task 10 depends on and are not yet COMPLETEDHow do I see what a task is blocking?
rmp task blocking 5 # Tasks that depend on task 5 and are waiting for itHow do I create a sprint with capacity control?
rmp sprint create -d "Sprint 5 - Auth module"
rmp sprint create -d "Sprint 5 - Auth module" --max-tasks 8 # Cap at 8 tasksHow do I update a sprint?
rmp sprint update <id> -d "New description"
rmp sprint update <id> --max-tasks 10 # Update capacity limit
rmp sprint upd <id> -d "New description" --max-tasks 10How do I add tasks to a sprint?
rmp sprint add-tasks 1 5,8,12,15- Tasks move from
BACKLOGtoSPRINTautomatically. - Rejected if the sprint is at
max_taskscapacity.
How do I define the execution order of tasks?
rmp sprint reorder 1 3,1,2 # Task 3 first, then 1, then 2
rmp sprint move-to 1 8 0 # Move task 8 to position 0 (top)
rmp sprint top 1 8 # Same as above, shorthand
rmp sprint bottom 1 8 # Move task 8 to last position
rmp sprint swap 1 3 7 # Swap positions of tasks 3 and 7How do I start a sprint?
rmp sprint start <id>- Only one sprint can be
OPENat a time.
How do I move tasks between sprints?
rmp sprint move-tasks 1 2 5,6,7 # Move tasks 5, 6, 7 from sprint 1 to sprint 2How do I remove tasks from a sprint?
rmp sprint remove-tasks 1 5,6 # Tasks return to BACKLOGHow do I close a sprint?
rmp sprint close <id>
rmp sprint close <id> --force # Bypass active-task checkHow do I reopen a closed sprint?
rmp sprint reopen <id>How do I remove a sprint?
rmp sprint remove <id>
rmp sprint rm <id>- Sprint must be
CLOSED. Tasks return toBACKLOG.
Can I have multiple open sprints?
No. Only one sprint can be OPEN at a time. Close the current sprint before starting another.
How do I start working on a task?
rmp task stat <id> DOING # Sets started_at automaticallyHow do I mark a task as ready for testing?
rmp task stat <id> TESTING # Sets tested_at automaticallyWhat do I do if a task fails testing?
rmp task stat <id> DOING # Return to developmentHow do I complete a task?
rmp task stat <id> COMPLETED
rmp task stat <id> COMPLETED --summary "Implemented OAuth2 with PKCE flow"--summaryis optional (max 4096 chars) and only valid on theTESTING → COMPLETEDtransition.closed_atis set automatically.
How do I bulk-change task status?
rmp task stat 1,2,3 TESTINGHow do I reopen a completed task?
rmp task reopen <id> # Returns to BACKLOG, clears all lifecycle timestamps
rmp task reopen 1,2,3 # Bulk reopenHow do I change priority or severity?
rmp task prio <id> 9 # Priority 0-9
rmp task sev <id> 8 # Severity 0-9
rmp task prio 1,2,3 7 # Bulk updateHow do I assign or remove specialists?
rmp task assign <id> "go-elite-developer"
rmp task unassign <id> "go-elite-developer"How is the sprint going? (comprehensive view)
rmp sprint show <id>Returns: status, task summary (pending/in-progress/completed), progress percentages, severity distribution, criticality distribution, task order, current load, and capacity percentage.
How many tasks are in each status? (metrics and velocity)
rmp sprint stats <id>Returns: total tasks, completed tasks, progress percentage, status distribution, task order, velocity (tasks/day, CLOSED sprints only), days elapsed, and burndown series.
What tasks are still open in the sprint?
rmp sprint open-tasks <id> # SPRINT + DOING + TESTING only
rmp sprint open-tasks <id> --order-by-priorityHow do I list all tasks in a sprint?
rmp sprint tasks <id>
rmp sprint tasks <id> --status DOING
rmp sprint tasks <id> --order-by-priorityHow do I see a task's full audit history?
rmp audit history --entity-type TASK --entity-id <id>What happened recently?
rmp audit list --today
rmp audit list --limit 20
rmp audit list --since 2026-03-20
rmp audit list --entity-type SPRINTHow do I see audit statistics?
rmp audit stats
rmp audit stats --since 2026-03-01 --until 2026-03-31What is the difference between Priority and Severity?
- Priority (0-9): business urgency, set by the Product Owner.
rmp task prio <id> 9/ filter:--priority 8,9
- Severity (0-9): technical impact, set by the engineering team.
rmp task sev <id> 8/ filter:--severity 8,9
Both scales run 0 (lowest) to 9 (highest). Use them independently.
What is the difference between sprint show and sprint stats?
sprint show— operational view: task composition, severity/criticality distributions, capacity load.sprint stats— metric view: velocity, burndown, days elapsed, progress percentage.
What is the difference between sprint order and task priority?
Sprint order controls execution sequence within a sprint — the order rmp task next returns tasks:
rmp sprint reorder 1 5,3,1,2
rmp task next # Returns task 5 firstPriority is a planning attribute for filtering and backlog grooming:
rmp backlog show-next 5 # Top 5 by priority for sprint planning
rmp task list --priority 8,9Where is the data stored?
In ~/.roadmaps/ with permissions 0700. Each roadmap is an independent SQLite file. No external services or cloud required.
How do I get help on any command?
rmp --help
rmp task --help
rmp task create --help
rmp sprint --help
rmp sprint show --helpWhat are the shorthand aliases?
rmp t=rmp taskrmp s=rmp sprintrmp road=rmp roadmaprmp aud=rmp auditrmp new=rmp creatermp ls=rmp listrmp rm=rmp removermp upd=rmp update
What if I get "No roadmap selected" error?
rmp roadmap list
rmp roadmap use <name>How are timestamps tracked automatically?
started_at— set when task moves toDOINGtested_at— set when task moves toTESTINGclosed_at— set when task moves toCOMPLETED- All three are cleared when a task is reopened to
BACKLOG
MIT License - see LICENSE for details.