Skip to content

Solution

Status: open/active

A cluster of apps and packages that belong to one solution and are shared only within it — typically a nested {apps/, packages/{ts,rust}} under solutions/<name>/. A sharing scope narrower than repo-wide packages/ and wider than a single app. The tell: a solution carries multiple deployables (CLI, desktop, web, workers) that share solution-local packages — the packages exist precisely because several deployables need them. First occupant: solutions/augmented/.

Not packages/<eco>/. A solution-local package is shared only inside its solution; a package under packages/ spans 2+ apps or solutions. A package earns packages/ when a consumer outside the origin solution imports it — see D-0001-project-structure, Placement and promotion.

Not apps/<name>/. An app is a single deployable, even when internally polyglot: nested packages or crates consumed only by that one deployable keep it an app (apps/pumice/). Multiple sub-apps sharing local packages is solution shape (apps/sdlc/ — desktop, CLI, experiences, products — wears it today; an observation, not a placement ruling).

The directory is a sharing-scope signal, not a resolution barrier: each solution enrolls its subtrees explicitly in the root registries (per-solution entries, not tier-wide wildcards), so workspace:* and { workspace = true } resolve unchanged. The tier fixes sharing scope, not internal shape — solutions are free to differ in layout.


← Back to the Glossary