git-workflow-and-versioning

Structures git commits, branching, semantic versioning, and changelog practices for code changes.

2|Updated Jul 1, 2026
One-click install
npx skills add https://github.com/Lazare-Panam/mars-api --skill git-workflow-and-versioning-lazare-panam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: git-workflow-and-versioning
Source: https://github.com/Lazare-Panam/mars-api/tree/main/Mars.API/.claude/skills/git-workflow-and-versioning
Command: npx skills add https://github.com/Lazare-Panam/mars-api --skill git-workflow-and-versioning-lazare-panam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code changes made without version control discipline become impossible to review, revert, or release safely. This Skill enforces structured git workflows—atomic commits, short-lived branches, semantic versioning, and curated changelogs—so every change stays manageable and every release communicates clearly to consumers. ## Core Features & Use Cases - Commit Discipline: Enforces atomic commits with conventional message types (feat, fix, refactor, test, docs, chore) and pre-commit hygiene checks for secrets, tests, and linting. - Branching & Parallel Work: Guides trunk-based development with short-lived feature branches and git worktrees for running parallel work streams without interference. - Release & Versioning: Applies semantic versioning rules (MAJOR.MINOR.PATCH), annotated git tags as the source of truth, and human-readable changelogs grouped by impact. - Use Case: When finishing a feature, use this Skill to split the work into atomic commits, verify no secrets are staged, choose the correct version bump, tag the release, and write the changelog entry. ## Quick Start Review my current uncommitted changes and help me split them into atomic commits with proper messages, then advise on the right semantic version bump for the release.

Frequently Asked Questions about git-workflow-and-versioning

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write good git commit messages?

Use the format 'type: short description' where type is feat, fix, refactor, test, docs, or chore. The body should explain why the change was made, not what changed, since the diff already shows that.

How do I split a large change into smaller commits?

Commit each logical increment separately: one commit per self-contained change such as an endpoint, a component, or a test suite. Target around 100 lines per commit and split anything approaching 1000 lines before submitting.

What is trunk-based development vs gitflow?

Trunk-based development keeps main always deployable with short-lived feature branches merged within 1-3 days. Long-lived branches accumulate merge risk, so prefer feature flags over keeping incomplete work on divergent branches.

How do I choose between major, minor, and patch version bumps?

Breaking changes require a major bump, backward-compatible new features require minor, and backward-compatible bug fixes require patch. When unsure whether a change is breaking, assume it is, since consumers may rely on observed behavior.

Should I commit generated files like package-lock.json?

Commit generated files only when the project expects them, such as package-lock.json or Prisma migrations. Never commit build output, .env files, or node_modules, and ensure .gitignore covers these standard exclusions.

Why is a changelog different from git log output?

A changelog is curated for consumers and grouped by impact (Added, Changed, Fixed, Deprecated, Removed, Security), while git log is raw commit history for developers. Write changelog entries with each change rather than reconstructing them at release time.