Merge pull request 'Docs: codify trunk-based git workflow in AGENTS.md' (#6) from chore/trunk-based-git-workflow into main

This commit was merged in pull request #6.
This commit is contained in:
2026-10-18 15:43:29 -07:00
+19 -8
View File
@@ -48,17 +48,28 @@ the [runbook index](#runbook-index). The full swap history lives in
pages (`serverAppConfigs-docs/log.md` carries the wave plan and results) pages (`serverAppConfigs-docs/log.md` carries the wave plan and results)
- `tests/` — bats suite + Playwright e2e - `tests/` — bats suite + Playwright e2e
## Git Workflow ## Git Workflow — trunk-based (fleet law, aligned 2026-10-18)
All edits flow through git. Never edit files on a remote machine directly. All edits flow through git. Never edit files on a remote machine directly.
1. **Source** the live config from the target machine `main` is the only long-lived branch: no `develop`, no release branches, no
2. **Commit** the fetched version here (redact secrets into `.env`) back-merges. Frank is the only dev; this repo and `dank/command-center` follow
3. **Edit** locally the same regime.
4. **Test** — `./tests/run.sh` must pass
5. **Commit and push** — origin is Gitea on Dankclaw 1. **Branch fresh** — `git fetch`, then branch off the current `origin/main`
6. **Pull** on the target (`deploy.sh` does this) (`<type>/<slug>`, type ∈ feat|fix|docs|chore). If main moves under you,
7. **Deploy** — `scripts/deploy.sh` plans and dispatches only changed services merge it into your branch — never rebase.
2. **Source** the live config from the target machine
3. **Commit** the fetched version here (redact secrets into `.env`)
4. **Edit** locally
5. **Test** — `./tests/run.sh` must pass
6. **Push the branch and open a PR against `main`** — origin is Gitea on
Dankclaw. Merge with `--no-ff`; **never merge a PR without an explicit,
current OK from Frank.** **The moment the PR is open, open it in Frank's
browser** (`xdg-open <PR-URL>` — a Firefox tab on the workstation); never
make him hunt for it in Gitea. Releases: tag `vX.Y.Z` straight on `main`.
7. **Pull** on the target (`deploy.sh` does this)
8. **Deploy** — `scripts/deploy.sh` plans and dispatches only changed services
## Deployment ## Deployment