Where the application starts: a layout imposed, and the stack left to you.
Dependencies point inward.
This scaffold ships without code on purpose: the template imposes a layout, not a stack. The three layers below keep what the project is apart from how it is delivered and what it talks to, so the core logic never depends on a framework or a database.
This directory is yours from the first commit. Nothing here syncs, and nothing upstream will ever write to it or delete from it: 🔄 Template Sync leaves this whole folder to you, this README included.
| Entry | Purpose |
|---|---|
app/ |
The application layer: entry points and use cases that orchestrate the domain and receive infrastructure through injection. |
domain/ |
The domain layer: entities, business rules, and pure logic that import nothing outside themselves. |
infra/ |
The infrastructure layer: adapters that implement the domain interfaces against databases, networks, and outside services. |
README.md |
This file. |
🗂️ Machined Indexes redraws this log after every push to the default branch. Each layer logs its own files.
Dependencies point inward. domain imports nothing outside itself, app
orchestrates the domain and receives infra through injection, and infra
implements interfaces the other two declare. Only a composition root imports
infra directly.
The full rules, and the stack this is written in, belong in the fill-in
Source Code and
Technology Stack & Tooling
standards, seeded under docs/templates/technical/ for you to instantiate with
your decisions.
The domain at the centre, and everything else pointing at it.
Built with ❤️ by the Engineering Team. Distributed under the terms in LICENSE.