incremental-commits

Break multi-file code changes into atomic, dependency-ordered commits.

35|4|Updated Dec 18, 2024
One-click install
npx skills add https://github.com/wellcrafted-dev/wellcrafted --skill incremental-commits-wellcrafted-dev
Or copy as Structured Prompt for Agentโ–ผ
Please help me install this Agent Skill.
Skill: incremental-commits
Source: https://github.com/wellcrafted-dev/wellcrafted/tree/main/.claude/skills/incremental-commits
Command: npx skills add https://github.com/wellcrafted-dev/wellcrafted --skill incremental-commits-wellcrafted-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

๐Ÿ’ก This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the complexity of managing large code changes that span multiple files by breaking them down into smaller, manageable, and logically ordered commits. This makes code reviews easier, debugging more efficient, and the overall project history more understandable.

Core Features & Use Cases

  • Wave-based development: Organizes changes into distinct "waves" based on logical concerns (e.g., types, factories, contracts, infrastructure, consumers).
  • Atomic and Buildable Commits: Ensures each commit represents a single logical concern, is focused, and leaves the codebase in a buildable state.
  • Dependency Ordering: Provides a heuristic for ordering waves based on file dependencies, ensuring foundational changes are made before dependent ones.
  • Use Case: Refactoring a core API. You would first commit changes to the types, then to the factory functions, then to the API contracts, then to any supporting infrastructure, and finally to the consuming applications, with each step being a separate, verifiable commit.

Quick Start

Use the incremental-commits skill to break down a large feature into atomic commits following the wave pattern.

Frequently Asked Questions about incremental-commits

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

FAQPage Schema
How do I break down multi-file code changes into atomic git commits?โ–ผ

To break down multi-file code changes into atomic git commits, organize modifications into a wave pattern based on logical concerns like types, factories, and infrastructure. This structured ordering ensures each commit is focused, buildable, and independently verifiable before moving to dependent files.

What is the best way to order commits during a large refactoring?โ–ผ

The best way to order commits during a large refactoring is by following a heuristic based on file dependencies. You commit foundational changes first, such as types and contracts, then proceed to factories and supporting infrastructure, before finally committing the consuming applications.

Why should I use atomic commits for feature development?โ–ผ

You should use atomic commits for feature development because they make code reviews easier, debugging more efficient, and the overall project history more understandable. Each commit represents a single logical concern and leaves the codebase in a completely buildable state.

Can I use the wave pattern for API changes impacting multiple consumers?โ–ผ

Yes, you can use the wave pattern for API changes impacting multiple consumers. The process organizes changes into distinct waves from foundations to consumers, ensuring API contracts and supporting infrastructure are committed and buildable before the consuming applications are modified.

What does it mean for a commit to be buildable and focused?โ–ผ

A buildable and focused commit means the change represents a single logical concern and leaves the codebase in a state that successfully compiles. This prevents breaking dependent components, ensuring the project history remains clean and each step is independently verifiable.