Help us improve
Share bugs, ideas, or general feedback.
From gitkkal
Analyzes staged and unstaged git changes for semantic intent, stages files individually avoiding sensitive ones, and creates new commits in configured style using user hint if provided.
npx claudepluginhub bityoungjae/marketplace --plugin gitkkalHow this command is triggered — by the user, by Claude, or both
Slash command
/gitkkal:commit [hint]This command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# gitkkal commit
Analyzes changes and creates commits following the configured style.
## Critical Rules
- NEVER include `Co-Authored-By` lines in commit messages
- NEVER use `git commit --amend` — always create NEW commits
- NEVER use `git add -A` or `git add .` — stage files individually
- NEVER commit sensitive files (.env, credentials, API keys)
- ALWAYS use HEREDOC for commit messages to ensure proper formatting
## Workflow
### 1. Load Configuration
Read `{project_root}/.gitkkal/config.json`. If not exists, use defaults and display once:
"Using default settings. Run `/gitkkal:in.../git-commitCreates conventional git commits with emojis, auto-stages unstaged files if needed, analyzes diffs, detects multiple logical changes, and suggests splitting into atomic commits.
/commitAnalyzes git changes to generate conventional commit messages, stages files appropriately, runs pre-commit checks like linting and tests, and creates atomic commits.
/commitAnalyzes staged git changes, generates a conventional commit message, seeks user approval, and executes the commit without trailers.
/commitAnalyzes git diffs or staged changes to generate conventional commit messages explaining WHY changes were made. Auto-detects type/scope, supports staging, validation, and overrides.
/commitStages unstaged changes based on git status and diff analysis, then creates a commit with a generated message. Uses current branch and recent commit history for context.
/commitStages changes and commits locally using Conventional Commits format. Analyzes git status/diffs, drafts typed message with scope, confirms with user before git add and commit.
Share bugs, ideas, or general feedback.
Analyzes changes and creates commits following the configured style.
Co-Authored-By lines in commit messagesgit commit --amend — always create NEW commitsgit add -A or git add . — stage files individuallygit rev-parse --show-toplevel # Find project root
Read {project_root}/.gitkkal/config.json. If not exists, use defaults and display once:
"Using default settings. Run /gitkkal:init to customize."
Run in parallel:
git status --short # All file states (NEVER use -uall flag)
git diff --cached # Staged changes (actual content)
git diff # Unstaged changes (actual content)
git log --oneline -5 # Recent commit style reference
Commit candidates (analyze all together):
Focus on the "why" rather than the "what":
When intent is unclear from code alone:
$ARGUMENTS — If provided, use as guidance for:
The hint is advisory — incorporate appropriately.
When splitCommits: true:
Principles:
When askOnAmbiguity: true and splitting is unclear → Use AskUserQuestion.
Patterns:
| Pattern | Format | Example |
|---|---|---|
conventional | <type>[(scope)]: <description> | feat(auth): add login feature |
gitmoji | <emoji> [(scope)] <message> | ✨ Add login feature |
simple | <message> | Add login feature |
Types:
| Type | Purpose | Gitmoji |
|---|---|---|
feat | New feature | ✨ |
fix | Bug fix | 🐛 |
docs | Documentation | 📝 |
style | Formatting (no logic) | 🎨 |
refactor | Refactoring | ♻️ |
perf | Performance | ⚡ |
test | Tests | ✅ |
build | Build/dependencies | 📦 |
ci | CI config | 👷 |
chore | Other | 🔧 |
Message guidelines:
ko or en)# Stage specific files
git add path/to/file1.ts path/to/file2.ts
# Commit with HEREDOC
git commit -m "$(cat <<'EOF'
feat(auth): add social login feature
- Implement OAuth2 flow
- Add session management
EOF
)"
Created: abc1234
Message: feat(auth): add social login feature
Files: src/auth.ts, src/session.ts
If multiple commits: show count and summary of each.
| Situation | Action |
|---|---|
| No changes to commit | "No changes to commit." |
| Pre-commit hook fails | Fix issue, create NEW commit (never amend) |
| Merge conflict state | "Resolve conflicts before committing." |
| Intent unclear from code | Ask user to clarify the purpose of changes |
| Sensitive file detected | Warn user and exclude from staging |