# Feature Branch and Developer Handoff Guide Use this workflow for a specific feature that starts from `main` and is handed to another developer. ## 1. Protect existing work ```bash git status --short ``` If the worktree contains changes you do not own, stop and coordinate. Do not silently discard, stash, or include someone else's changes. ## 2. Create the feature branch from current main ```bash git switch main git pull --ff-only origin main git switch -c feature/ ``` Use lowercase kebab-case based on the outcome, for example: `feature/equipment-status-card`. ## 3. Work and verify - Keep the branch focused on one feature. - Reuse the component prompts and `/design-system` visual reference. - Make small commits that describe completed outcomes. - Follow `agents.md`; do not run its prohibited build/typecheck commands. - Run focused linting plus `git diff --check`. ## 4. Publish the branch ```bash git add git commit -m "feat(): " git push -u origin feature/ ``` Do not push feature work directly to `client/`. Those branches are generated from `main`. Follow `GIT_BRANCHES.md` separately for additive, client-only `overlay/` work. ## 5. Handoff template ```text # Feature branch handoff Branch: feature/ Base branch: main Scope: ## Goal ## Current state - - - ## Verification completed - git diff --check - npx eslint --quiet - ## Remaining work - ## How to continue git fetch origin git switch feature/ git pull --ff-only origin feature/ Read agents.md, prompts/design-system.md, and the relevant component prompt before editing. Preserve unrelated work. ``` ## 6. Merge expectation Review the feature against `main`. Address review feedback on the feature branch and merge only after acceptance criteria and focused verification pass. **TL;DR:** Branch from an updated `main`, keep the feature focused, push it, and handoff the branch with completed work, verification, and exact next steps.