Trait

Composable

Built from smaller parts that register themselves, rather than from a central list that must be edited.

Convention Build & Delivery

Actions

Local composite actions under .gitea/actions/ capture reusable orchestration steps, while the logic they orchestrate stays in the build system.

.gitea/actions/ 3
Contract Environment & Tooling

Environment Doctor

make doctor reports which required tools and repository files are present or missing — a standalone diagnostic, never a prerequisite of other targets.

scripts/build/ 4
Orchestration Environment & Tooling

Make Module Registries

Make modules register their targets and requirements into shared lists, and aggregate targets are composed from whatever registered.

scripts/build/ 5
Architecture Infrastructure & Runtime

Modules

Small, focused infrastructure building blocks with explicit inputs and outputs, consumed by deployable roots in env/ and workspaces/.

modules/ 3
Architecture Infrastructure & Runtime

Pinned Module Composition

Every deployable root composes the same published module at the same pinned version, so roots differ only in backend, domain, and credentials.

env/ 3
Orchestration Environment & Tooling

Run-Parts Hook Directories

One small runner turns each lifecycle event into a directory of .sh hooks, run in lexical order and stopped by the first failure.

.devcontainer/lifecycle/ 1
Convention Environment & Tooling

Self-Documenting Help

make help is generated from ## comments on the targets themselves, so the list of commands cannot drift from the real ones.

scripts/build/ 1
Architecture Infrastructure & Runtime

Workspaces

Developer-oriented deployment roots under workspaces/ whose instance identity may come from the current user or branch, kept apart from canonical environments.

workspaces/ 3