Skip to content

Add --dry-run flag to run, milestone, and project commands #177

@snipcodeit

Description

@snipcodeit

Description

Implement meaningful --dry-run behavior for the three commands where it matters most. The global --dry-run flag already exists in bin/mgw.cjs (line 43) and is handled for link, but not for run, milestone, or project.

Scope (consolidated from closed issues #129, #130)

mgw run --dry-run (was #130):

  • Print pipeline plan: GSD route, worktree path, agents to spawn
  • Do not execute: no worktree creation, no agent spawns, no GitHub writes
  • Show which issue would be processed and its current pipeline stage

mgw milestone --dry-run (was #130):

  • Print issue execution order and dependency graph
  • Show which issues are blocked, which are ready
  • Do not execute any pipeline steps

mgw project --dry-run (was #129):

  • Display full template output: milestone names, issues, dependency graph
  • Print summary table instead of making GitHub API calls
  • No milestones, issues, or labels created

Notes

The --dry-run flag hook point is already wired (global option in bin/mgw.cjs). Implementation requires reading opts.dryRun in each command handler before spawning agents or making API calls. Works best after lib/pipeline.cjs matures to expose a plan-only mode.

Acceptance Criteria

  • mgw run <n> --dry-run prints pipeline plan, makes no changes
  • mgw milestone <n> --dry-run prints execution order + dependency graph
  • mgw project --dry-run prints template output without creating GitHub resources

Prior Issues

Consolidated from: #129, #130

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogParked for future milestoneclienhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions