DiagramPilot v0.2.7
DiagramPilot v0.2.7
Issue: Generate command for configured outputs
Issue Version: 0.2.7
Tag: v0.2.7
npm: https://www.npmjs.com/package/diagrampilot/v/0.2.7
Public Website: https://diagrampilot.com
Summary
Add diagrampilot generate [path] as the explicit write command for refreshing
all expected outputs in the selected scope. There is no --write flag because
the command itself is the write intent.
Without config, generate should refresh the zero-config SVG expectation.
With config, it should rewrite all expected configured outputs in scope, create
parent directories as needed, refuse writes outside the config tree, and expose
structured results through --json.
Implementation Notes
- Added
generateDiagramPilotRepoWorkflowand dependency-injected
generateDiagramPilotRepoWorkflowWithDependenciesin core. The generator
reuses Repo Workflow Configuration discovery, scoped source discovery,
explicit configured source merging, configured output resolution, and
centralized repairable source diagnostics. generateplans all generated content before exposing write intents. Invalid
config, invalid sources, and generation adapter failures return no planned
writes, preventing partial invalid artifact updates.- Zero-config and unmatched configured sources produce the default
next-to-source SVG output. Matched configured sources produce SVG, PNG,
Mermaid, D2, and DOT outputs using the CLI render/export adapters. - Configured Markdown outputs are reported as skipped structured results until
generated Markdown embeds ship in issue 71. - Added CLI parsing, help text, and a generate command planning adapter that
maps core generated artifacts to the existing command write-intent execution
path, including parent directory creation. generate --jsonreturns structuredwritten,skipped, andfailures
arrays without embedding generated file contents.- Added planner, core, and smoke tests covering cwd, directory, source-file,
zero-config SVG, configured outputs, parent directory creation, path safety,
JSON output, invalid sources, invalid config, skipped outputs, and existing
read-onlycheckbehavior. - Follow-up quality workflow hardening fixed current Fallow dead-code findings,
added narrow Fallow configuration for intentional static-analysis blind
spots, committed Fallow baselines for existing duplication and health debt,
and made Fallow a blocking local and CI quality gate. - CI follow-up made Fallow build-aware so clean checkouts have the package
dist/imports available before dead-code and changed-code audits run. - Release repair bumped the shared DiagramPilot version metadata and checkout
demo SVG provenance to the issue's assigned0.2.7version so mergedmain
publishes a new immutable Issue Release instead of retrying0.2.6.
Validation Results
npm testpassed: 211 tests.npm run audit:fallowpassed.npm run audit:fallow:changedpassed with only inherited duplication context
reported from the committed baseline.- Clean-state
npm run audit:fallowpassed afternpm run clean, confirming
the gate builds before analyzing generated package outputs. npm run buildpassed after the final cleanup.node packages/cli/dist/index.js generate demo-projects/checkout --json
passed with 1 checked source and 1 written SVG artifact.git diff --checkpassed.npm run check:release-version -- 0.2.7passed.node scripts/generate-release-notes.mjs --version 0.2.7 --tag v0.2.7
passed.npm view diagrampilot@0.2.7 versionreturned npmE404, confirming the
release version is not already published.- The release workflow package dry-run publish command passed for all 7 public
packages at0.2.7.