dev_sandbox/.pi/agent/skills/planning/example-plan.md
2026-05-13 20:54:14 -04:00

1.1 KiB

Plan: Add --json output mode to the report CLI

Add a --json flag to the existing report command so it can emit machine-readable output in addition to the current human-readable table. Must not change default behavior.

Tasks

  • 1. Read src/cli/report.ts and identify where output is currently rendered.
  • 2. Define a ReportJson type in src/cli/report-types.ts matching the existing table columns.
  • [~] 3. Add --json flag parsing to src/cli/report.ts and thread it through to the renderer.
    • 3a. Register the flag with the arg parser.
    • 3b. Branch on the flag in renderReport() to call a new renderJson() helper.
  • 4. Implement renderJson() that prints JSON.stringify(data, null, 2) and exits 0.
  • 5. Update --help text and README.md usage section to document --json.
  • 6. Add a test in test/cli/report.test.ts covering --json output shape.

Notes

  • Keep default (non---json) output byte-identical to current behavior — existing snapshot tests must still pass.
  • Open question: should errors also be JSON when --json is set? Assuming yes; will confirm with user before step 4.