Skip to content

[Change] Module package separation for command implementations #199

@djm81

Description

@djm81

Why

The modular command registry exists, but command implementations still live in src/specfact_cli/commands/. Module packages are mostly re-export shells, which keeps command ownership centralized and increases merge conflict risk.

What Changes

  • Move command implementations into module-local src/commands.py files under src/specfact_cli/modules/<name>/src/.
  • Update each module src/app.py to import app from local commands.
  • Keep backward-compatible re-export shims in src/specfact_cli/commands/.
  • Execute migration in tiers (small to heavyweight) with verification gates.
  • Update architecture and contributor docs that reference old command implementation locations.

Acceptance Criteria

  • Each migrated module has local command implementation and local app wiring.
  • Legacy imports from specfact_cli.commands.* continue to work via shims.
  • Tier-by-tier tests, contract checks, and representative CLI help checks pass.
  • Documentation reflects module-local command implementation model.

OpenSpec Change Proposal: arch-02-module-package-separation

Metadata

Metadata

Assignees

Labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions