--- 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 (): ``` Types: `feat`, `fix`, `docs`, `chore`, `refactor`, `test`, `style`, `build`, `ci`, `perf` **Note:** Commit messages are validated by commitlint (conventional commits format).