ido4

    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