Git Workflow
Follow these conventions for all git operations.
Commit Messages
Use conventional commit format:
<type>(<optional scope>): <short description>
<optional body — explain WHY, not WHAT>
Types
feat: — New feature or capability
fix: — Bug fix
refactor: — Code restructuring without behavior change
chore: — Build, tooling, dependency updates
docs: — Documentation only
test: — Adding or updating tests
perf: — Performance improvement
style: — Formatting only (no logic change)
ci: — CI/CD pipeline changes
Rules
- Subject line: imperative mood, lowercase, no period, under 72 characters
- Body: wrap at 72 characters, explain motivation and context
- Never mention AI, LLMs, or "generated" in commit messages
- One logical change per commit — if you need "and" in the message, split it
Branching
- Branch from the latest main/master unless told otherwise
- Branch naming:
<type>/<short-description> (e.g., feat/user-auth, fix/null-pointer-login)
- Keep branches short-lived — smaller PRs merge faster
Atomic Commits
Each commit should:
- Compile/build successfully on its own
- Not break existing tests
- Represent one complete logical change
- Be revertable without side effects
Splitting Strategy
If a task involves multiple changes, split by:
- Infrastructure/setup changes first
- Core logic changes
- Tests for the new logic
- Documentation updates
Pull Requests
PR Title
- Under 70 characters
- Same format as commit messages:
type: short description
PR Description Template
## Summary
[1-3 bullet points describing what and why]
## Changes
- [Specific change 1]
- [Specific change 2]
## Test Plan
- [ ] [How to verify change 1]
- [ ] [How to verify change 2]
## Notes
[Anything reviewers should know: risks, trade-offs, follow-up work]
Safety
- Never force-push to main/master
- Never skip pre-commit hooks without explicit user approval
- Never auto-push — report unpushed commits and let the user decide
- Before destructive operations (reset, rebase, force-push), explain impact and confirm
- Stage specific files by name — avoid
git add . or git add -A which can catch secrets
Keep commits small and review staged changes carefully before committing.
Source: daniel-craft/dev-tool-configs — distributed by TomeVault.
1---2name: daniel-craft-dev-tool-configs-git-workflow3description: Git Workflow4---56# Git Workflow78Follow these conventions for all git operations.910## Commit Messages1112Use conventional commit format:1314```15<type>(<optional scope>): <short description>1617<optional body — explain WHY, not WHAT>18```1920### Types21- `feat:` — New feature or capability22- `fix:` — Bug fix23- `refactor:` — Code restructuring without behavior change24- `chore:` — Build, tooling, dependency updates25- `docs:` — Documentation only26- `test:` — Adding or updating tests27- `perf:` — Performance improvement28- `style:` — Formatting only (no logic change)29- `ci:` — CI/CD pipeline changes3031### Rules32- Subject line: imperative mood, lowercase, no period, under 72 characters33- Body: wrap at 72 characters, explain motivation and context34- Never mention AI, LLMs, or "generated" in commit messages35- One logical change per commit — if you need "and" in the message, split it3637## Branching3839- Branch from the latest main/master unless told otherwise40- Branch naming: `<type>/<short-description>` (e.g., `feat/user-auth`, `fix/null-pointer-login`)41- Keep branches short-lived — smaller PRs merge faster4243## Atomic Commits4445Each commit should:46- Compile/build successfully on its own47- Not break existing tests48- Represent one complete logical change49- Be revertable without side effects5051### Splitting Strategy52If a task involves multiple changes, split by:531. Infrastructure/setup changes first542. Core logic changes553. Tests for the new logic564. Documentation updates5758## Pull Requests5960### PR Title61- Under 70 characters62- Same format as commit messages: `type: short description`6364### PR Description Template65```markdown66## Summary67[1-3 bullet points describing what and why]6869## Changes70- [Specific change 1]71- [Specific change 2]7273## Test Plan74- [ ] [How to verify change 1]75- [ ] [How to verify change 2]7677## Notes78[Anything reviewers should know: risks, trade-offs, follow-up work]79```8081## Safety8283- Never force-push to main/master84- Never skip pre-commit hooks without explicit user approval85- Never auto-push — report unpushed commits and let the user decide86- Before destructive operations (reset, rebase, force-push), explain impact and confirm87- Stage specific files by name — avoid `git add .` or `git add -A` which can catch secrets8889> Keep commits small and review staged changes carefully before committing.9091---92> Source: [daniel-craft/dev-tool-configs](https://github.com/daniel-craft/dev-tool-configs) — distributed by [TomeVault](https://tomevault.io).93<!-- tomevault:4.0:skill_md:2026-06-16 -->