ido4
Command Reference
This document provides a comprehensive reference for all ido4
commands. Commands are grouped by topic for easy navigation.
About Hydro Concepts
The commands below implement key Hydro methodology concepts:
- Waves - dependency-driven execution units that replace time-boxed sprints
- Epic Integrity - all tasks in an epic stay together in the same wave
- Task Classification - optimizing work allocation between humans and AI
- Dependency Flow - work progresses when blockers clear, not when calendars dictate
Learn more about the complete methodology at hydro-dev.gitbook.io.
Global Flags:
These flags can be used with most commands:
--dry-run
: Preview the changes without executing them. Essential for safe exploration.--format json
: Output the results in a machine-readable JSON format.--help
: Display help information for any command.
project:
Commands
Commands for managing your overall project.
ido4 project:init
Initializes ido4
in the current repository. This command creates a new GitHub Project, configures it with the required custom fields and workflow states, and creates the local .ido4/project-info.json
configuration file.
- Usage:
ido4 project:init
- Examples:
# Initialize a new project ido4 project:init
ido4 project:status
Displays a high-level overview of the entire project, including task counts by status and active wave information.
- Usage:
ido4 project:status
- Examples:
# Get the project dashboard ido4 project:status
task:
Commands
Commands for managing the lifecycle of individual tasks (issues).
ido4 task:start-refinement [issue]
Moves a task from Backlog
to In Refinement
to begin the analysis and planning phase.
- Usage:
ido4 task:start-refinement <issue-number>
- Examples:
# Start refining issue #42 ido4 task:start-refinement 42
ido4 task:approve-refinement [issue]
Moves a task from In Refinement
to Ready for Dev
after all planning is complete.
- Usage:
ido4 task:approve-refinement <issue-number>
- Examples:
# Approve refinement for issue #42 ido4 task:approve-refinement 42
ido4 task:start [issue]
Starts active development on a task, moving it to In Progress
.
- Usage:
ido4 task:start <issue-number>
- Examples:
# Start working on issue #42 ido4 task:start 42
ido4 task:submit-for-review [issue]
Moves a task to In Review
after implementation is complete.
- Usage:
ido4 task:submit-for-review <issue-number>
- Examples:
# Submit issue #42 for review ido4 task:submit-for-review 42
ido4 task:approve [issue]
Approves a task in review, moving it to Done
.
- Usage:
ido4 task:approve <issue-number>
- Examples:
# Approve issue #42 ido4 task:approve 42
ido4 task:set-dependencies [issue] [dependencies]
Sets the dependencies for a task.
- Usage:
ido4 task:set-dependencies <issue-number> "<dependency-string>"
- Examples:
# Set dependencies for issue #42 ido4 task:set-dependencies 42 "Depends on: #15, #17" # Indicate a task has no dependencies ido4 task:set-dependencies 42 "No dependencies"
ido4 task:check-dependencies [issue]
Checks if a task's dependencies are met.
- Usage:
ido4 task:check-dependencies <issue-number>
- Examples:
# Check if issue #42 is unblocked ido4 task:check-dependencies 42
ido4 task:set-wave [issue] [wave]
Manually assigns a task to a specific Wave.
- Usage:
ido4 task:set-wave <issue-number> <wave-name>
- Examples:
# Assign issue #42 to wave-001 ido4 task:set-wave 42 "wave-001-authentication"
ido4 task:assign-wave [issue]
Automatically assigns a task to the correct Wave based on its dependencies.
- Usage:
ido4 task:assign-wave <issue-number>
- Examples:
# Auto-assign a wave for issue #42 ido4 task:assign-wave 42
wave:
Commands
Commands for managing waves of work.
ido4 wave:list
Lists all the waves in the current project.
- Usage:
ido4 wave:list
- Examples:
# See all project waves ido4 wave:list
ido4 wave:status [wave]
Displays the status and progress of a specific wave.
- Usage:
ido4 wave:status <wave-name>
- Examples:
# Get the status of the authentication wave ido4 wave:status "wave-001-authentication"
sandbox:
Commands
Commands for managing the interactive learning sandbox.
ido4 sandbox:init
Initializes a new sandbox environment by letting you choose a scenario.
- Usage:
ido4 sandbox:init
- Examples:
# Start the sandbox creation wizard ido4 sandbox:init
setup:
Commands
Commands related to the initial configuration of ido4
.
ido4 setup
The one-time global setup command. This is the first command you should ever run.
- Usage:
ido4 setup
- Examples:
# Run the interactive setup wizard ido4 setup