--- name: commit description: Group all pending file changes by conventional type and feature, then commit each group as {type}({scope}): {message}. Message style is full (What/Why/How/Who), brief (one line from git diff), or custom, chosen via decision tree. Use whenever changes must be committed; not for push or PR creation. --- # commit — group and commit file changes ## Steps 1. Track every file change: inspect all changes with `git status --porcelain` first, then `git add` group by group. `git add -A` followed by one bulk commit is forbidden. Done when every path listed by `git status --porcelain` is assigned to exactly one group, before the first commit runs. 2. Group the changes by same type plus same requirement or feature. One group is one commit. Done when each group carries one type and one requirement or feature, and no path sits in two groups. 3. Commit each group with the format `{type}({requirement or feature}): {message}`. Done when `git status --porcelain` returns empty; report done only then. ## Type table | Type | Purpose | | --- | --- | | feat | add or change a feature | | fix | fix a bug | | docs | documentation | | style | formatting; no change to how the code runs | | refactor | code change that neither adds a feature nor fixes a bug | | perf | improve performance | | test | add tests | | chore | build process or tooling change | | revert | revert an earlier commit | ## Message format (pick one of three) Ask the user per the `jsc-ask:ask` rules. Skip the question when the question record or this session already holds a convention. 1. **Full**: covers What, Why, How, and Who (which feature). 2. **Brief**: one sentence summarized from `git diff`. 3. **Custom**: the user types the message. ## Rules 1. The grouping and message drafting details **MUST run as a sub agent**. The main agent only confirms the grouping and runs the commits. 2. Write messages in UTF-8 Traditional Chinese (the type and scope stay in English), per the STE100 output rule. 3. Never push. Push and PR belong to `jsc-git:pr`.