- name
- atomic-commits
- description
- Create atomic commits grouped by logical features with README.md and CLAUDE.md awareness.
# Atomic Commits with Documentation Awareness
Guidelines for creating well-organized commits with README.md and CLAUDE.md awareness.
## Documentation Check
Before committing, evaluate if changes need documentation updates.
### README.md (User-facing documentation)
| Change Type | README Section to Update |
|-------------|-------------------------|
| New commands or features | Commands/Usage documentation |
| CLI interface changes | Usage examples |
| Configuration changes | Configuration/Environment sections |
| Breaking API changes | Upgrade/migration notes |
| New features | Feature documentation |
| Installation changes | Installation section |
**Trigger files (project-specific - customize in your .claude/skills/):**
- `src/cli.ts` or `src/index.ts` - Entry points
- `.claude-plugin/plugin.json` - Plugin metadata
- `commands/*.md` - Command definitions
### CLAUDE.md (Claude Code memory - hierarchical)
CLAUDE.md stores context that helps future sessions "do the right thing". Update when:
- You struggled with something and the insight would prevent future mistakes
- Important patterns or conventions that aren't obvious from code alone
- Workflows or commands that are non-trivial to discover
CLAUDE.md is hierarchical - use the directory level matching the changed files. Use `@path/to/file` includes to stay DRY.
| Change Scope | Which CLAUDE.md |
|--------------|-----------------|
| Project-wide (scripts, CI/CD, build) | Root CLAUDE.md |
| Directory-specific patterns | Subdirectory CLAUDE.md (create if needed) |
## Grouping Rules
Identify logical features by grouping related files:
- Same feature = same commit
- Infrastructure/config = separate commit
- Tests = with their implementation OR separate if test-only
## Commit Message Format
```text
<type>(<scope>): <description>
```
Types: `feat`, `fix`, `docs`, `chore`, `refactor`, `test`, `style`, `build`, `ci`, `perf`
**Note:** Commit messages are validated by commitlint (conventional commits format).
View on GitHub