Skip to content

Add a final summary to dev-tools sync #58

@coisa

Description

@coisa

Objective

Improve dev-tools:sync output so maintainers can see a concise summary of what changed, what was skipped, and what needs attention.

Current Limitation

dev-tools:sync orchestrates several commands, but its final output does not provide a single actionable summary across phases such as Composer metadata, workflow stubs, .editorconfig, Dependabot, wiki, .gitignore, .gitattributes, skills, license, and Git hooks.

Proposed Work

Add a final sync summary that aggregates each phase result into deterministic, human-readable output.

Scope

  • Report changed, created, skipped, repaired, and no-op phases.
  • Include file paths or resource names when practical.
  • Keep output stable enough for tests and CI logs.
  • Preserve current command behavior and exit codes unless a real failure occurs.
  • Add tests for mixed changed/skipped/no-op sync results.

Non-goals

  • Changing the sync phases themselves.
  • Adding dry-run or check behavior; that belongs to a separate issue.
  • Introducing machine-readable output in the first implementation.

Acceptance Criteria

Delivery Criteria

  • dev-tools:sync prints a final summary after all queued sync phases complete.
  • The summary distinguishes changed, skipped, repaired, and unchanged phases.
  • The summary includes affected paths for file-based operations where available.
  • Existing phase output remains useful and is not replaced by vague aggregate text.
  • Tests cover a sync run with at least one changed phase and one skipped/no-op phase.

Architectural / Isolation Criteria

  • Summary collection is isolated from command orchestration where practical.
  • SyncCommand remains focused on sequencing sync phases.
  • Output is deterministic and suitable for assertions.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status

Released

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions