Skip to content

T-PLW6-co-locate-the-app-kit-suite-under-packages-app-kit

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

The app-kit suite is one control unit, but its members are spread across packages/rust/ and packages/ts/. Moving them into packages/app-kit/ makes the suite a folder. Its planning root becomes packages/app-kit/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
uipackages/ts/ui
app-framepackages/ts/app-frame
panespackages/ts/panes
node-treepackages/ts/node-tree
graph-canvaspackages/ts/graph-canvas
code-editorpackages/ts/code-editor
colorpackages/ts/color
spec-querypackages/ts/spec-query

Each member moves under packages/app-kit/ and keeps its moon project id. Rust and TS twins share names, so the suite folder splits by language (for example packages/app-kit/rust/<name> and packages/app-kit/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. spec-query may belong to dev instead (open in the breakdown); settle that before moving it.

  • 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/app-kit/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