Trait

Reproducible

The same committed inputs produce the same output wherever they run.

Convention Infrastructure & Runtime

Derived Developer Identity

A developer deployment names its instance from the Terraform workspace, chosen from an override, the CI branch, or the local username — never from a per-developer file.

workspaces/ 3
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
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
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
Lifecycle Build & Delivery

Release Pipeline

Every change moves through the same Build → Test → Publish pipeline locally, on the pull request, and on merge, ending in a deployment only where there is one.

docs/RELEASING.md 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 Build & Delivery

Static Site Delivery

make deploy is the whole deployment model: build the site, initialise and apply its Terraform root, upload public/, and invalidate the CDN.

scripts/deploy.sh 5
Lifecycle Environment & Tooling

Update-Content Phase

Hooks driven by repository content — lockfiles, manifests, checked-in configuration — that restore dependencies once the workspace is synchronised.

.devcontainer/lifecycle/update-content.d/ 5
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