Trait

Declarative

Describes what should exist, and leaves how to bring it about to the tool that reads it.

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

Development Container

The authoritative development environment for a repository — reusable features provide the toolchains, and repository-specific lifecycle hooks finish the workspace.

.devcontainer/ 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
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
Architecture Environment & Tooling

Linter Configuration

A single .linter/ directory holds the repository’s own lint configuration and overrides, layered over organisation defaults from the environment.

.linter/ 2
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 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