← ClaudeAtlas

principle-version-controllisted

Version control & collaboration hygiene — atomic commits (one logical change), commit-message quality (imperative subject, body explains why), branching strategy (feature-branch vs trunk-based), rebase vs merge trade-offs, squash vs preserve history, PR description quality (what/why/how-to-test). Auto-load when discussing commit hygiene, writing commit messages, choosing a branching strategy, debating rebase vs merge, deciding when to squash, or reviewing PR description quality.
lugassawan/swe-workbench · ★ 2 · Code & Development · score 68
Install: claude install-skill lugassawan/swe-workbench
# Version Control & Collaboration `git log` is a debugging instrument. Its quality depends entirely on the discipline of the people who wrote to it. ## Atomic commits — one logical change One commit, one reason to revert it. The test: can you describe the change in a short subject line without using "and"? - Atomic commits make `git bisect` effective — a failing test traces to the exact change that introduced it. - Atomic commits make reverts safe — reverting "add feature X" does not also undo "fix unrelated bug Y". - Split a large change by concern: refactor first (pure mechanical moves), then behavior change, then test additions. ## Commit messages — what makes them load-bearing Subject line: imperative mood, ≤50 characters, no trailing period. Body: wrap at 72 characters, explain *why*, not *what*. ``` [type] Short imperative subject (≤50 chars) Why this change was made. What would break if reverted. Link the issue or ticket. Note non-obvious constraints. ``` Format schemes — Conventional Commits (`feat:`, `fix:`), `[type] Subject`, JIRA-prefix — are all valid conventions. Pick one; apply consistently and enforce via a `commit-msg` hook. Example: the swe-workbench plugin repo enforces `[type] Subject` via `.githooks/commit-msg`. Before authoring commit messages, detect the host repo's convention via the detection step in `swe-workbench:workflow-commit-and-pr`. ## Never mix formatting and logic Formatting commits (whitespace, import sort, rename) belong in a separ