docs(agents): drop the dedicated integration-worktree rule
Revert the branches-and-worktrees convention. No fixed integration worktree; checkout and merge ad hoc. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Seto Elkahfi committed
Jun 30, 2026 at 20:30 UTC
994c53465352f4b96652f89bbf2dd0f5a5ea39e4
1 file changed
-34
.agents/AGENTS.md
-34
@@ -60,38 +60,6 @@ The public `sigit` repo carries its own skills (`ai-assisted-coding`,
60
`agent-client-protocol`, `tool-calling`, `branding`, `sigit-code-release`). Those
61
stay public-safe.
62
63
-## Branches and worktrees
64
-
65
-This repo is developed with multiple git worktrees: one repository, several
66
-working directories, each pinned to its own branch. A branch can be checked out
67
-in only one worktree at a time. Treat that as a guard rail, not a bug: it stops
68
-two working trees from desyncing the same branch.
69
-
70
-Rules:
71
-
72
-- **Feature work lives in a feature worktree** on its own `feature/*` branch.
73
- Never check out `development` or `main` into a feature worktree.
74
-- **Integration is centralised in one dedicated integration worktree** that
75
- stays permanently on `development`. It is the only place `feature/* ->
76
- development` merges happen, and the only place `development -> main` promotion
77
- and deploy (`git push smbcloud main`) happen. Canonical path:
78
- `.claude/integration` (a stable worktree, deliberately kept out of the
79
- auto-managed `.claude/worktrees/` subtree).
80
-- **Branch off `development` from anywhere.** `git checkout -b feature/x
81
- development` creates a new branch from `development`'s commit without checking
82
- `development` out, so it works even while the integration worktree holds it.
83
-- **Standard flow.** In a feature worktree: branch `feature/x` off
84
- `development`, commit. In the integration worktree: `git merge --no-ff
85
- feature/x` into `development`; when releasing, `git merge --no-ff development`
86
- into `main` and `git push smbcloud main`. Then delete the merged `feature/x`.
87
-- **Do not force a branch another worktree holds.** Never `git branch -f` or
88
- push into a branch that is checked out elsewhere; it desyncs that working tree.
89
- If you must merge into such a branch outside the normal flow, run the merge
90
- inside the worktree that owns it (`git -C <path> merge ...`).
91
-- The `.claude/worktrees/*` directories are ephemeral per-session feature
92
- worktrees; the integration worktree (`.claude/integration`) is stable and
93
- lives alongside them, not inside that subtree.
94
-
63
## Validation
64
65
- Rust (`sigit`, `onde-cloud`): `cargo build`, `cargo test`, `cargo clippy`.
@@ -103,5 +71,3 @@ Rules:
71
- Putting strategy, a provider name, or a secret into the public `sigit` repo.
72
- Leaving AI-writing tells in public prose.
73
- Mixing the product, CLI, and company names.
106
-- Checking out `development` or `main` into a feature worktree, or merging into
107
- them anywhere but the integration worktree (see Branches and worktrees).