Imported from EdmundLimBoEn/stage-wand (
AGENTS.md). Install upstream withnpx skills add EdmundLimBoEn/stage-wand. Copyright stays with the author.
Agent notes
Edmund is the only contributor. Do not invent team process: no reviewers, no “open a PR for this,” no stacking PRs unless he asks. Isolation is the point of main / dev / worktrees, not GitHub ceremony.
Where you are
| Directory | Branch | Role |
|---|---|---|
This clone (stage-wand) |
dev |
Primary Cursor workspace. Keep it here. |
../stage-wand-trees/main |
main |
Locked production checkout. Do not remove. Do not commit here. |
../stage-wand-trees/feat-<slug> |
feat/<slug> |
One task. Create with ./scripts/worktree add. |
Before you edit, run git rev-parse --abbrev-ref HEAD and git worktree list.
- If this directory is on
devand the task is more than a one-line doc/typo:./scripts/worktree add <slug>, then do all file edits in that new directory. Do notgit switchthis directory offdev. - If you are already inside a
feat/*orhotfix/*worktree, stay there. Do not also dirtydev. - If you are on
main, stop. Move the work to ahotfix/*worktree frommain, or afeat/*worktree fromdev.
Git will refuse to check out a branch that is already in another worktree. Do not --force around that.
What you may change
- Commit on
feat/*orhotfix/*when Edmund asks for a commit. - Merge a finished feature into
devwhen he asks to land it (git merge --ff-onlyfrom thedevcheckout, then./scripts/worktree rm <slug>). - Push
origin/devafter landing, if he asked to push. - Push
origin/mainonly as a promotion or hotfix merge, if he asked to push.
Never: commit on main, force-push main or dev, delete main/dev, git switch the primary clone to a feature branch, or open a GitHub PR unless he asked.
Landing (no PR)
From the dev checkout, after the feature worktree is committed:
git fetch origin
git merge --ff-only feat/<slug>
# if that fails: git merge --no-ff feat/<slug>
git push origin dev # only if asked
./scripts/worktree rm <slug>
Promote dev → main only when he wants a shippable / presentable tip, not after every task:
git fetch origin
git -C ../stage-wand-trees/main merge --ff-only origin/dev
git push origin main # only if asked
Hotfix: ./scripts/worktree add hotfix/<slug> main, land on main, merge the same branch into dev.
PRs
Use a PR only if he asks, or if he wants CI without merging yet. Base is dev for features. Base is main only for dev (promotion) or hotfix/*.
Hooks
.githooks blocks ordinary commits and non-merge pushes on main. ./scripts/worktree setup sets core.hooksPath. Do not bypass the hooks.