<essential_principles>
<git_safety> Never run without explicit user request:
git push --forceto main/mastergit reset --hard--no-verifyflag (skip hooks)git commit --amendon pushed commits- Direct push to main/master (create feature branch first)
Always verify before acting:
git statusbefore staginggit log --oneline -5for commit style- Check remote tracking before push
Branch naming:
- Features:
feat/description - Fixes:
fix/description - Chores:
chore/description</git_safety>
<commit_format> Commit message structure:
type(scope): short description
- What changed (if not obvious from description)
- Why it changed (motivation)
Co-Authored-By: Claude <noreply@anthropic.com>
Types: feat, fix, refactor, test, docs, chore, perf
Use HEREDOC for multi-line messages:
git commit -m "$(cat <<'EOF'
feat(auth): add JWT refresh token rotation
- Rotates refresh tokens on every use
- Prevents replay attacks on stolen tokens
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
</commit_format>
<pr_format> PR body:
## Summary
- [What this PR does in 1-3 bullets]
## Test plan
- [ ] [Test 1]
- [ ] [Test 2]
## Changes
- [File 1]: [What changed]
- [File 2]: [What changed]
</pr_format>
</essential_principles>
- Commit — Stage and commit changes
- Push — Push commits to remote
- PR — Open a pull request
- Ship — Full workflow: commit + push + PR
Wait for response.
<workflows_index>
| Workflow | Purpose |
|---|---|
| commit.md | Stage changes and create commit |
| push.md | Push to remote, create branch if needed |
| pr.md | Create pull request with gh CLI |
| </workflows_index> |
