[[📕tadashi-aikawa]]の個人的な[[Conventional Commits]]ベースのルールを決める。
## 形式
1行目が必須。3行目以降は任意だが、3行目以降を書くなら**2行目は空白にしなければいけない。**
```
$type($scope)!: $description
詳しく書きたければここから。
```
| 識別子 | 必須 | 説明 |
| -------------- | --- | ------------- |
| `$type` | O | コミットによる対応の種類 |
| `$scope` | | 特定範囲を示す指標 |
| `!` | | 破壊的変更を示す記号 |
| `$description` | O | コミットメッセージ(概要) |
## type
typeの一覧は以下。
| prefix | 意味 |
| -------- | ------------------------------------------------------------- |
| feat | 機能追加などマイナーバージョン以上の対応 |
| fix | バグ修正などパッチバージョンの対応 |
| style | 文章やデザインなど見た目の変更(リニューアル除く) |
| docs | ドキュメントの変更 (README含む) |
| build | 外部依存関係の都合により必要になった修正 |
| refactor | 機能に変わりのない対応・リファクタリング |
| test | テストに関する変更のみ |
| ci | [[GitHub Actions]]などのCIに関する変更 |
| dev | 開発者だけに把握が必要な修正 |
| chore | コード・テスト・ドキュメントに無関係な変更 (依存関係更新など) |
## scope
`web`や`bff`、`parser`など特定スコープを示す名詞を入れる。
複数指定の場合は`/`で区切る。`(web/bff)`のように
## !
破壊的変更を意味する記号。[[#type]]や[[#scope]]のあとにつく。
`例`
```
feat!: Add breaking change feature
feat(web)!: Add breaking change feature
```
## description
コミットメッセージの概要を入れる。