diff options
| -rw-r--r-- | .config/claude/skills/conventional-commit/SKILL.md | 36 | ||||
| -rw-r--r-- | home-manager/modules/common.nix | 1 |
2 files changed, 37 insertions, 0 deletions
diff --git a/.config/claude/skills/conventional-commit/SKILL.md b/.config/claude/skills/conventional-commit/SKILL.md new file mode 100644 index 0000000..8645b91 --- /dev/null +++ b/.config/claude/skills/conventional-commit/SKILL.md @@ -0,0 +1,36 @@ +--- +name: conventional-commit +description: Create a git commit for the current changes, following The Conventional Commits. +allowed-tools: Bash(git add:*), Bash(git diff:*), Bash(git status:*), Bash(git commit:*) +--- + +## Context + +- Current git status: !`git status` +- Current git diff (staged and unstaged changes): !`git diff HEAD` +- Recent commits: !`git log --oneline -5` + +## Instructions + +1. Check the git status and changes. +2. Analyze the changes and draft a commit message following Conventional Commits format: + - Types: feat, fix, refactor, test, docs, chore, style, perf, ci, build + - Format: `<type>(<scope>): <description>` + - Keep the first line under 72 characters + - Add a blank line and body if more context is needed +3. Create the commit with the message (`git commit -a -m "..."`) + +## Commit Message Format + +``` +<type>(<scope>): <short description> + +<optional body explaining the "why" not the "what"> +``` + +## Examples + +- `feat(auth): add refresh token rotation` +- `fix(sync): handle network timeout during push` +- `refactor(db): extract repository pattern for cards` +- `test(api): add integration tests for deck endpoints` diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index 44e4884..e7f6759 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -91,6 +91,7 @@ in ++ pkgs.lib.optional requiresWlClipboard pkgs.wl-clipboard; home.file = { + ".claude/skills/conventional-commit".source = ../../.config/claude/skills/conventional-commit; ".config/alacritty/alacritty.common.toml".source = ../../.config/alacritty/alacritty.common.toml; ".config/alacritty/alacritty.local.toml".source = ../../.config/alacritty/alacritty.${env.os}.toml; ".config/alacritty/alacritty.toml".source = ../../.config/alacritty/alacritty.toml; |
