Skip to content

T-G6KG-co-locate-the-cli-substrate-suite-under-packages-cli

State: planning/proposed · Impact: medium · Complexity: large

The cli-substrate suite is one control unit, but its members are spread across packages/rust/ and packages/ts/. Moving them into packages/cli-substrate/ makes the suite a folder. Its planning root becomes packages/cli-substrate/docs/planning/ and it needs no members: list. The folder sits under packages/ because it is a library suite. Moving code is optional. The unit exists by declaration; the move only changes where it lives.

Moon idPath today
cli-toolpackages/ts/cli-tool
command-seampackages/ts/command-seam
easy-git-tspackages/ts/easy-git
easy-ghpackages/ts/easy-gh
detect-runnerspackages/ts/detect-runners
waypostpackages/ts/waypost
waypost-docspackages/ts/waypost/docs-site
repo-cleanerpackages/ts/repo-cleaner
sdlc-toolpackages/ts/sdlc-tool
dev-portspackages/ts/dev-ports
fleet-tspackages/ts/fleet
cli-configpackages/rust/cli-config
easy-gitpackages/rust/easy-git
fluent-gitpackages/rust/fluent-git
fleetpackages/rust/fleet
fleet-tauripackages/rust/fleet-tauri
(data, no moon id)packages/fleet-parity

Each member moves under packages/cli-substrate/ and keeps its moon project id. Rust and TS twins share names, so the suite folder splits by language (for example packages/cli-substrate/rust/<name> and packages/cli-substrate/ts/<name>). The exact layout is settled at the start of the task. The move updates every moon.yml, the globs and sources in .moon/workspace.yml, the root Cargo.toml members, the package.json workspaces, and every import path, tsconfig path, and path dependency that names an old location. Publishing config is unchanged: package names, registries, and mirror targets stay as they are. The planning root sits at the suite folder, above its packages, so neither a package snapshot nor a crate archive picks it up. The easy-git path named in the root CLAUDE.md changes with this move.

  • AC-1: moon project-graph lists the same project ids and edges as before the move; only paths differ.
  • AC-2: All builds and tests for the moved projects and their dependents are green.
  • AC-3: Published package and crate names are unchanged, and no mirror or crate archive contains docs/planning/.
  • AC-4: packages/cli-substrate/docs/planning/ exists and is registered in planning_roots: in the root sdlc.yaml, with no members: list.
  • AC-5: docs/LIBRARIES.md and the comments in .moon/workspace.yml name the new paths.
  • API changes to any moved package.
  • Renumbering entity ids, or moving entities into the new root. That is a separate triage.

T-N3RW-derive-the-structural-module-graph-from-existing-manifests


← Back to Tasks