layered-architecture
Layered Architecture
Use this skill as the single front door for repository placement. It decides the owning app or project and its architectural boundary; it does not prescribe framework APIs.
This package contains the placement rules needed to use it independently. Respect local instructions and approved architecture decisions when present; no particular instruction file, specification system, or companion skill is required. Inspect the workspace's existing project roots and conventions before choosing a path. Preserve them unless a topology migration is explicitly approved; the projects/... paths below are defaults only when no convention exists.
Load only the reference that matches the unresolved decision:
| Question | Reference |
|---|---|
| App-local workflow, extracted capability, or independent resource? | App-local or capability |
| Domain-owned, platform-shared, or cross-platform shared? | Shared resource placement |
| Which canonical platform, type, and scope tags? | Nx boundary tags |
| How to organize slices, ports, and platform composition? | Internal folder boundaries |
Canonical Internal Responsibilities
Materialize only responsibilities selected by an approved boundary. feature owns use cases, workflow coordination, and cohesive workflow resources. data-access owns database, filesystem, external gateways, remote state, and integrations. domain owns pure rules, contracts, constants, and deterministic transformations. ui is frontend-only. Optional app-local runtime validates execution configuration and composes bootstrap, transports, routes, and capability-module imports.