commit-message
npx skills add https://github.com/gn00678465/agentskills --skill commit-message
Agent 安装分布
Skill 文档
æ £ä¾å¼æäº¤è¨æ¯çæå¨
æ ¹æ Conventional Commits 1.0.0-beta.4 è¦ç¯ï¼åæ git staged changes 並èªåçæç¹é«ä¸æ commit messageã
ä½¿ç¨ææ©
- éè¦çº staged changes çæ commit message
- æ³è¦ç¬¦åæ £ä¾å¼æäº¤è¦ç¯çæäº¤è¨æ¯
- éè¦ç¹é«ä¸ææè¿°ç commit message
æ £ä¾å¼æäº¤è¦ç¯
宿´è¦ç¯è«åè
references/conventional-commits-spec.md
çµæçµæ§
<é¡å>[å¯é¸çä½ç¨ç¯å]: <æè¿°>
[å¯é¸çæ£æ]
[å¯é¸çé è
³]
é¡åï¼Typeï¼
æ ¹æå®æ¹è¦ç¯ï¼ä»¥ä¸å ©ç¨®é¡åå ·æèªæåçæ¬æç¾©ï¼
| é¡å | SemVer | 說æ |
|---|---|---|
feat |
MINOR | æ°å¢åè½ |
fix |
PATCH | ä¿®æ£èè² |
以ä¸é¡åç± @commitlint/config-conventional æ¨è¦ä½¿ç¨ï¼
| é¡å | 說æ |
|---|---|
docs |
æä»¶æ´æ° |
style |
ç¨å¼ç¢¼æ ¼å¼èª¿æ´ï¼ä¸å½±é¿åè½ï¼ |
refactor |
éæ§ç¨å¼ç¢¼ |
perf |
æè½åªå |
test |
測試ç¸é |
build |
建置系統æå¤é¨ç¸ä¾æ§ |
ci |
CI è¨å®æªæ¡ |
chore |
å ¶ä»éé ï¼å·¥å ·ãé ç½®çï¼ |
revert |
æ¤é·å åç commit |
ä½ç¨ç¯åï¼Scopeï¼- å¯é¸
- ä½ç¨ç¯åå¿ é ç±æè¿°ç¨å¼å段çåè©çµæï¼ä¸¦ç¨æ¬èå è¦
- ç¯ä¾ï¼
feat(parser):ãfix(api):ãchore(eslint):
æè¿°ï¼Subjectï¼
- å¿ é ç·æ¥å¨é¡å/ä½ç¨ç¯åçåèèç©ºæ ¼ä¹å¾
- æ¬ Skill è¦æ±ä½¿ç¨ç¹é«ä¸ææ°å¯«
- éå¶å¨ 50 åå ä»¥å §
- 使ç¨ç¥ä½¿å¥ï¼å¦ï¼ãæ°å¢ãããä¿®æ£ãããæ´æ°ãï¼
- ä¸å å¥è
- æ¸ æ¥æè¿°è®æ´çæ ¸å¿å §å®¹
æ£æï¼Bodyï¼- å¯é¸
- å¿ é å¨æè¿°å¾çä¸å空è¡ä¹å¾éå§
- æ¬ Skill è¦æ±ä½¿ç¨ç¹é«ä¸ææ°å¯«
- 使ç¨é
ç®ç¬¦èå表ï¼
-éé ï¼ - æ¯åé ç®æè¿°ä¸åå ·é«è®æ´
- åªå 說æåäºä»éº¼ï¼å¿ è¦æè£å åå
- 使ç¨å°ç£å¸¸ç¨æè¡è©å½ï¼å¦ï¼ãå¥ä»¶ãããè¨å®ãããè ³æ¬ãï¼
é è ³ï¼Footerï¼- å¯é¸
- å å«éæ¼æäº¤çè©®éè³è¨
- ç¯ä¾ï¼ç¸éçæåè«æ±ãå¯©æ ¸è ãéå¤§è®æ´
- æ¯åè©®éè³è¨ä¸è¡
éå¤§è®æ´ï¼Breaking Changesï¼
æ ¹æå®æ¹è¦ç¯ï¼éå¤§è®æ´å°æå° SemVer ç MAJOR çæ¬ãæ¨ç¤ºæ¹å¼ï¼
æ¹å¼ä¸ï¼å¨é¡åå¾å !
feat(api)!: è®æ´ä½¿ç¨è
èªèæ©å¶
BREAKING CHANGE: ç§»é¤èç API 端é»ï¼ææç¨æ¶ç«¯éæ´æ°è³æ°ç SDK
æ¹å¼äºï¼å å¨é è ³æ¨ç¤º
feat: è®æ´ä½¿ç¨è
èªèæ©å¶
- 坦使°ç OAuth 2.0 æµç¨
- ç§»é¤èç session èªè
BREAKING CHANGE: ç§»é¤èç API 端é»ï¼ææç¨æ¶ç«¯éæ´æ°è³æ°ç SDK
è¦ç¯è¦æ±ï¼
BREAKING CHANGEå¿ é 大寫- 使ç¨
!æç¤ºæï¼æ£ææé è ³å §å¿ é å å«BREAKING CHANGE: description
å·è¡æ¥é©
æ¥é© 1ï¼åå¾è®æ´è³è¨
# 檢æ¥ç¶åçæ
è忝
git status
# æ¥çå·² staged çè®æ´çµ±è¨
git diff --staged --stat
# æ¥çå·² staged çè®æ´å
§å®¹
git diff --staged
æ¥é© 2ï¼æª¢æ¥åæ¯
夿·ç¶å忝æ¯å¦çº main æ masterï¼
æ
æ³ Aï¼å®å
¨åæ¯ï¼ï¼ è¥ç¶å䏿¯ main æ master 忝
- ç¹¼çºå·è¡æ¥é© 3
æ
æ³ Bï¼ä¸»åæ¯ï¼ï¼ è¥ç¶åæ¯ main æ master 忝
- 忢å¾çºæä½
- ä¾æè®æ´å
§å®¹ï¼å»ºè°ç¬¦åè¦ç¯çæ°åæ¯å稱
- ç¯ä¾ï¼
feat/login-form-validationãfix/payment-bug
- ç¯ä¾ï¼
- åå ±é¯èª¤ï¼
è«å åæè³å»ºè°çåæ¯ï¼æèªè¨åæ¯ï¼å¾ï¼åå·è¡ commitã
æ¥é© 3ï¼åæè¤é度
æ ¹æ git diff --staged --stat 輸åºï¼ä½¿ç¨ä»¥ä¸è©å系統è¨ç®è¤é度ï¼
è¤é度è©å表
èµ·å§åæ¸çº 0ï¼ç¬¦åæ¢ä»¶åå åï¼
| é¡å¥ | æ¢ä»¶ | 忏 |
|---|---|---|
| è®æ´é | è®æ´è¡æ¸ > 200 | +3 |
| è®æ´æªæ¡æ¸ > 5 | +2 | |
| é«é¢¨éªæªæ¡ | æ¶å lock æªæ¡ï¼package-lock.jsonãyarn.lockãpnpm-lock.yamlï¼ |
+5ï¼å¼·å¶è¤é模å¼ï¼ |
| æ¶åè³æåº« Schema æ Migration | +3 | |
æ¶åèªèæå®å
¨é輯ï¼authãsecurityãpermissionï¼ |
+3 | |
| æ¶æ§è®æ´ | æ¶åè¨å®æªï¼*.config.*ã.env*ï¼ |
+2 |
æ¶å CI/CD è¨å®ï¼.github/ã.gitlab-ci.ymlï¼ |
+2 |
æ¥é© 4ï¼é¸ææäº¤æ¨¡å¼
æ ¹æç¸½å鏿æäº¤æ¨¡å¼ï¼
æ æ³ Aï¼ç°¡å®æ¨¡å¼ï¼åæ¸ < 4ï¼
- ç´æ¥ä½¿ç¨
-måæ¸çæ commit message - é©ç¨æ¼å°åãä½é¢¨éªçè®æ´
git commit -m "feat: æ°å¢ä½¿ç¨è
ç»å
¥åè½"
å¤è¡è¨æ¯ï¼
git commit -m "feat: æ°å¢ä½¿ç¨è
ç»å
¥åè½" -m "- å¯¦ä½ JWT èªèæ©å¶
- æ°å¢ç»å
¥è¡¨å®é©è"
æ æ³ Bï¼è¤é模å¼ï¼åæ¸ >= 4ï¼
- ä½¿ç¨æªæ¡æ¹å¼çæè©³ç´°ç commit message
- é©ç¨æ¼å¤§åãé«é¢¨éªæéè¦è©³ç´°èªªæçè®æ´
# å°è¨æ¯å¯«å
¥ .git/COMMIT_EDITMSG
git commit -F .git/COMMIT_EDITMSG
æä½¿ç¨ç¨ç«æªæ¡ï¼æäº¤å¾éæ¸ çï¼ï¼
# macOS/Linux
git commit -F commit-message.txt && rm -f commit-message.txt
# Windows
git commit -F commit-message.txt
# æäº¤å¾æååªé¤ commit-message.txt
æ¥é© 5ï¼çæ Commit Message 並確èª
- åæè®æ´é¡ååå½±é¿ç¯å
- æ ¹æè®æ´å §å®¹æ±ºå®æé©åç commit type
- 便æ¥é© 4 é¸æçæ¨¡å¼ï¼è¼¸åºå®æ´ç Commit Message
- 輸åºå°æç
git commitæä»¤ - è©¢å使ç¨è
ï¼æ¯å¦éè¦åå©å·è¡ commitï¼
- æ¯ï¼å·è¡
git commitæä»¤å®ææäº¤ - å¦ï¼ç±ä½¿ç¨è èªè¡è¤è£½æä»¤å·è¡
- æ¯ï¼å·è¡
ç¯ä¾
詳細ç¯ä¾è«åè references/examples.mdï¼æ¶µèï¼
- åºç¤ç¯ä¾ï¼featãfixãdocsãstyleãrefactorãperfãtestãbuildãciãchoreãrevert
- é²éç¯ä¾ï¼å«ä½ç¨ç¯åãç ´å£æ§è®æ´ãåé¡ç·¨èãå ±åä½è ãè¤éè®æ´
- ä¸è¯ç¯ä¾ï¼å¸¸è¦é¯èª¤å¯«æ³èä¿®æ£å»ºè°
å¿«éåèï¼
feat: æ°å¢ä½¿ç¨è
ç»å
¥åè½
- å¯¦ä½ JWT èªèæ©å¶
- æ°å¢ç»å
¥è¡¨å®é©è
fix(cart): ä¿®æ£è³¼ç©è»éé¡è¨ç®é¯èª¤
- ä¿®æ£ææ£ç¢¼å¥ç¨é åºåé¡
注æäºé
- åªæ staged çæ çè®æ´æè¢«èæ ®
- æª staged çè®æ´ä¸æå å«å¨ commit message åæä¸
- 建è°å
使ç¨
git add鏿æ§å° stage è¦æäº¤çè®æ´ - è¥è®æ´éæ¼è¤éï¼å»ºè°æåçºå¤åç¨ç«ç commit
- ç¶æäº¤ç¬¦å䏿å¤ç¨®æäº¤é¡åæï¼æç¡å¯è½åæå¤åæäº¤
å¸¸ç¨æè¡è©å½å°ç §
| è±æ | ç¹é«ä¸æï¼å°ç£æ £ç¨ï¼ |
|---|---|
| package | å¥ä»¶ |
| config/configuration | è¨å® |
| script | è ³æ¬ |
| dependency | ç¸ä¾æ§ |
| component | å ä»¶ |
| module | æ¨¡çµ |
| function | å½å¼ |
| variable | è®æ¸ |
| parameter | 忏 |
| implement | å¯¦ä½ |
| initialize | åå§å |
| optimize | åªå |
| refactor | éæ§ |
| validate | é©è |
| authentication | èªè |
| authorization | ææ¬ |
| bug | èè² |
| pull request | æåè«æ± |
åèè³æ
references/conventional-commits-spec.md– æ £ä¾å¼æäº¤ 1.0.0-beta.4 宿´è¦ç¯references/examples.md– åé¡å commit message ç¯ä¾é- Conventional Commits 宿¹ç¶²ç«
- SemVer èªæåçæ¬
- @commitlint/config-conventional