From 76cd1ded16068c2c32e34883de47615a032dc243 Mon Sep 17 00:00:00 2001 From: "Adrian Alfred C. Bonpin" Date: Fri, 7 Aug 2026 14:02:40 +0800 Subject: [PATCH] docs(agents): enforce branch + PR workflow for prod (never push directly) (#14) --- AGENTS.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 873fd21..6436c1d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -149,9 +149,19 @@ cargo build # Rust backend only (from src-tauri/) cargo test # Rust tests ``` +### Branch & PR workflow + +**Never commit or push directly to `prod`** — `prod` is protected (branch rules require a pull request). Always: + +1. Branch out first — `git checkout -b feat/` (or `fix/…`, `docs/…`) from `prod` +2. Commit and push the feature branch +3. Open a PR into `prod` and merge it there + +Direct pushes to `prod` will be bypassed only in emergencies; prefer the PR path so changes are reviewed. + ### Releases -Cut a release from the **`prod`** branch (never feature branches) by tagging it — `git tag vN.M.N && git push origin vN.M.N`. GitHub Actions (`release.yml`) builds installers for macOS (Apple Silicon + Intel), Windows, and Linux and opens a **draft** release (review + publish on GitHub). +Cut a release by tagging the **`prod`** branch once the PR is merged — `git tag vN.M.N && git push origin vN.M.N`. GitHub Actions (`release.yml`) builds installers for macOS (Apple Silicon + Intel), Windows, and Linux and opens a **draft** release (review + publish on GitHub). **Before tagging**, keep everything in sync: - Version number across `package.json`, `src-tauri/Cargo.toml`, and `src-tauri/tauri.conf.json`