1.7 KiB
1.7 KiB
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 — 分組認可檔案變更
步驟
- 追蹤所有檔案變更:先
git status --porcelain檢視全部變更,再逐組git add(不可盲目git add -A後一次 commit)。 - 依「同類型 + 同需求/功能」將檔案變更分組,一組一個 commit。
- 每組依格式認可:
{類型}({需求 or 功能}): {訊息}。
類型表
| 類型 | 用途 |
|---|---|
| feat | 新增/修改功能 |
| fix | 修補 bug |
| docs | 文件 |
| style | 格式(不影響程式碼運行的變動) |
| refactor | 重構(既不是新增功能,也不是修補 bug 的程式碼變動) |
| perf | 改善效能 |
| test | 增加測試 |
| chore | 建構程序或輔助工具的變動 |
| revert | 撤銷回覆先前的 commit |
訊息格式(三選一)
依 jsc-ask:ask 規則詢問使用者;問詢紀錄或本 session 已有慣例就不再問。
- 完整版:包含做什麼(What)、為什麼做(Why)、怎麼做(How)、哪個功能做(Who)。
- 簡易版:根據
git diff總結出一句描述。 - 自訂:使用者自行輸入訊息。
規則
- 分組與訊息草擬的細節必須以 sub agent 執行,主 agent 只確認分組結果與執行 commit。
- 訊息一律 UTF-8 繁體中文(類型與 scope 除外)。
- 不可 push;push 與 PR 由
jsc-git:pr負責。