Git Conventions
Remotes
- Name remotes by host:
githubfor GitHub,forgefor the personal Forgejo instance. Neverorigin. - Set up both remotes when possible; the second acts as a backup mirror.
- Each repo picks one primary remote at setup. The primary owns CI and pull requests, and is what "origin" means in conversation. Default primary:
github.
Commits and PR titles
First line is type(scope): description, scope optional. Types: feat, fix, docs, ci, build, chore, refactor, test, perf, revert.
Worktrees
Worktrees are optional. Manual ones live at <repo>/.worktrees/<branch> with slashes flattened to dashes, and the directory stays gitignored. Native harness worktree homes (for example Claude Code's .claude/worktrees/) are equally fine. Keep project folders free of bare worktree siblings.
Writing style
- Plain sentences with periods and commas; sentence-case headings.
- Write for the repo's durable history: describe the change itself, never plans, milestones, or phases. Branch names may keep stack prefixes like
m2/prngsince branches are deleted at merge. - Skip emdashes and decorative emoji.