Kind

Lifecycle

What happens, and when?

The phases something passes through, what triggers each one, and what belongs in each.

Lifecycle Environment & Tooling

Devcontainer Lifecycle

Six ordered hook phases that take a development container from host-side preparation to an attached, ready workspace.

.devcontainer/lifecycle/ 8
Lifecycle Environment & Tooling

Initialize Phase

Host-side hooks that run before the container is built or created, preparing only the files and directories the container definition expects.

.devcontainer/lifecycle/initialize.d/ 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
Lifecycle Environment & Tooling

On-Create Phase

Early in-container hooks that create container-local state — user-home caches, CLI configuration, directories — before repository-driven setup runs.

.devcontainer/lifecycle/on-create.d/ 4
Lifecycle Environment & Tooling

Post-Attach Phase

Human-facing hooks that run each time a developer or editor attaches — short guidance, actionable warnings, and pointers to interactive sign-in.

.devcontainer/lifecycle/post-attach.d/ 3
Lifecycle Environment & Tooling

Post-Create Phase

The last mile of workspace bootstrap — linking wrappers, configuring the shell, generating local configuration — once the container and content are in place.

.devcontainer/lifecycle/post-create.d/ 4
Lifecycle Environment & Tooling

Post-Start Phase

Fast, repeatable hooks that run on every container start to repair ephemeral state, verify prerequisites, and keep lightweight services running.

.devcontainer/lifecycle/post-start.d/ 4
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
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