Trait

Explicit

Inputs, component lists, and paths are declared rather than discovered from ambient state.

Architecture Build & Delivery

Automation & CI/CD

.gitea/ is the repository’s automation control folder: event-driven workflows and local actions that orchestrate the repository’s own commands.

.gitea/ 2
Architecture Documentation & Metadata

Catalog Descriptors

Machine-readable repository identity that tells catalog systems what a repository is and produces, and where the authoritative definitions live.

.descriptor/ 2
Architecture Environment & Tooling

Command Surface

An identical root Makefile in every repository, with the repository’s own components declared once in scripts/build/repository.mk.

Makefile 4
Convention Documentation & Metadata

Decision Records

Architecture decision records are a last resort, written only when the repository’s structure, code, tests, and owner documentation cannot make a choice clear.

docs/pdlc/decisions/ 2
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
Architecture Infrastructure & Runtime

Environments

Thin, canonical deployable roots under env/ that compose reusable modules for a concrete deployment target and run without ad hoc parameters.

env/ 4
Contract Environment & Tooling

Explicit Skips

When a capability is intentionally unavailable, a command says so with a skip: line and succeeds, while a check that actually fails still exits non-zero.

scripts/ 6
Contract Build & Delivery

Fingerprinted Cache Tiers

Content-hashed CSS and JS are cached for a year as immutable; everything else is revalidated on every request and kept fresh by invalidation.

public/ 2
Lifecycle Documentation & Metadata

Issue Plan Tree

Plans live on disk as a tree of milestone folders and issue files that a planner reserves and syncs into Gitea, moving from slug-only drafts to ID-prefixed synced names.

<root>/ 1
Contract Environment & Tooling

Lint Gate

One aggregate lint command runs every linter that is installed, skips the rest with a clear message, and fails only on real findings.

scripts/lint.sh 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
Convention Documentation & Metadata

Managed Standard Files

Standard files copied into every repository carry a DO NOT EDIT header; they are changed at their source, never in the repository that received them.

./ 0
Architecture Infrastructure & Runtime

Modules

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

modules/ 3
Orchestration Environment & Tooling

Offline Validation

Networked setup hydrates the workspace once; validation then runs with OFFLINE=1 and never quietly re-downloads anything.

scripts/build/ 3
Convention Documentation & Metadata

Owner Documentation

Conventions are described beside the thing that owns them — a directory’s layout in its own README, a command’s behaviour in its module or script.

<area>/README.md 4
Contract Infrastructure & Runtime

Parameterless Deployment

A canonical deployable root runs under a generic deployer with no ad hoc parameters; every value it needs resolves from committed, well-defined sources.

env/ 2
Architecture Documentation & Metadata

Product Development Life Cycle

docs/pdlc/ holds the durable product context behind a repository — problems, constraints, tradeoffs, and decisions — and nothing short-lived.

docs/pdlc/ 2
Convention Documentation & Metadata

Reference Over Duplication

Each fact is stated once, where it is maintained, and every other place that needs it points there instead of keeping a copy.

./ 2
Architecture Environment & Tooling

Scripts

Narrow, deterministic command helpers for make modules, CI, and local tooling — glue that takes its inputs from the caller and leaves orchestration to it.

scripts/ 4
Orchestration Product Code

Staged Content Mounts

Repository documentation is staged from docs/ into .cache/docs-site/ and mounted into a Hugo site, so the docs stay where they are owned.

.cache/docs-site/ 2
Architecture Product Code

Static Websites

Each child of www/ is a self-contained site root whose content, layouts, assets, and configuration travel together and whose output is disposable.

www/ 3
Architecture Environment & Tooling

Tools

Repository tooling with stable command entry points and documented contracts — small applications that own a workflow, rather than glue around one.

tools/ 2
Orchestration Build & Delivery

Workflows

Workflow YAML decides when automation runs and in what order, and hands the work itself to stable repository commands and reusable actions.

.gitea/workflows/ 4