Git & Collaboration - High-Density Standards
Universal standards for version control, branching, and team collaboration.
Priority: P0 (OPERATIONAL)
Universal standards for effective version control, branching strategies, and team collaboration.
📝 Commit Messages (Conventional Commits)
- •Format:
<type>(<scope>): <description>(e.g.,feat(auth): add login validation). - •Types:
feat(new feature),fix(bug fix),docs,style,refactor,perf,test,chore. - •Atomic Commits: One commit = One logical change. Avoid "mega-commits".
- •Imperative Mood: Use "add feature" instead of "added feature" or "adds feature".
🌿 Branching & History Management
- •Naming: Use prefixes:
feat/,fix/,hotfix/,refactor/,docs/. - •Branch for Everything: Create a new branch for every task to keep the main branch stable and deployable.
- •Main Branch Protection: Never push directly to
mainordevelop. Use Pull Requests. - •Sync Early: "Pull Before You Push" to identify and resolve merge conflicts locally.
- •Prefer Rebase: Use
git rebase(instead of merge) to keep a linear history when updating local branches fromdevelopormain. - •Interactive Rebase: Use
git rebase -ito squash or fixup small, messy commits before pushing to a shared branch. - •No Merge Commits: Avoid "Merge branch 'main' into..." commits in feature branches. Always rebase onto the latest upstream.
🤝 Pull Request (PR) Standards
- •Small PRs: Limit to < 300 lines of code for effective review.
- •Commit Atomicness: Each commit should represent a single, complete logical change.
- •Description: State what changed, why, and how to test. Link issues (
Closes #123). - •Self-Review: Review your own code for obvious errors/formatting before requesting peers.
- •CI/CD: PRs must pass all automated checks (lint, test, build) before merging.
🛡 Security & Metadata
- •No Secrets: Never commit
.env, keys, or certificates. Use.gitignorestrictly. - •Git Hooks: Use tools like
huskyorlefthookto enforce standards locally. - •Tags: Use SemVer (
vX.Y.Z) for releases. UpdateCHANGELOG.mdaccordingly.