- Default branch:
development - Open PRs against
development mainis stable and updated viadevelopmentmerges
We use Conventional Commits:
feat:new feature (minor)fix:bug fix (patch)deps:dependency updates (patch)chore:internal changes/docs (no release by default)
- Only stage files related to the task
- Avoid bundling unrelated changes
- Backend (unit):
ade api test - Backend (integration/all):
ade api test integrationorade api test all - Worker (unit):
ade worker test - Worker (integration/all):
ade worker test integrationorade worker test all - Frontend:
ade web test - Lint (backend):
ade api lint - Lint (frontend):
ade web lint - Full suite:
ade test
- Releases are handled automatically by Release Please on
main - Do not bump
VERSIONorCHANGELOG.mdmanually - Version bumps are inferred from commit messages:
fix:/deps:-> patchfeat:-> minorfeat!:orBREAKING CHANGE:footer -> major
- If you need to force a version, use commit footer:
Release-As: X.Y.Z - Runtime version metadata (
ADE_APP_VERSION,ADE_APP_COMMIT_SHA) is injected by CI; do not set these in.envfor normal runtime config - Deployable image versions are published as release tags (
vX.Y.Z); production should deploy pinned tags viaADE_DOCKER_TAG=vX.Y.Z - See
docs/reference/release-process.mdfor details
- Merge conventional commits to
main. - Release Please opens/updates a release PR.
- Merge the release PR.
- GitHub release publish triggers container publish.
- Open a PR from
developmentintomain. - If the PR will be squash-merged, make sure Release Please can still see releasable metadata:
- either use a releasable PR title such as
fix: ...,feat: ..., ordeps: ... - or add a
BEGIN_COMMIT_OVERRIDE/END_COMMIT_OVERRIDEblock to the PR body with the releasable commit lines to publish
- either use a releasable PR title such as
- Wait for checks to pass, then merge.
- Confirm Release Please opens the release PR for the new version.
- Run the rebuild workflow (
.github/workflows/rebuild-release.yaml) with:base_release_tag=vX.Y.Zreason=<short reason>
- Workflow auto-creates next rebuild tag (
vX.Y.Z-rN) and a prerelease. - Prerelease publish triggers container publish for rebuild tag only.
- Open PR against
development. - Wait for required checks.
- Merge PR (PR-first; avoid direct branch merges by default).
- Preferred: pin by digest (
ghcr.io/<org>/<repo>@sha256:...). - Acceptable: immutable release tags (
vX.Y.ZorvX.Y.Z-rN).
See AGENTS.md for coding-agent operational commands and docs/reference/release-process.md for full release/tag behavior.