From ed6d506bc274593a2e0373bd4ad72fdb86c6b805 Mon Sep 17 00:00:00 2001 From: naskya Date: Wed, 17 Jan 2024 18:05:59 +0900 Subject: [PATCH] docs: add commit message conventions --- docs/contributing.md | 30 +++++++++++++++++++ .../server/api/endpoints/release/translate.ts | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/docs/contributing.md b/docs/contributing.md index 67d50f42..9c1948cf 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -62,6 +62,36 @@ make debug make pre-commit ``` +### コミットメッセージ + +コミットメッセージの書き方に厳密な規則はありませんが、私は以下のようにコミットメッセージを書いているのである程度それに則ってもらえると助かります。でも適当で大丈夫です(更新を取り込む際にコミットメッセージが書き換えられる場合もありますが、ご了承ください)。 + +コミットメッセージは英語で書き、場合によっては冠詞などを適度に省いて短く収めてください。長い説明が必要な場合には、以下の規則で 1 行目にざっくりとしたコミットメッセージを書いてから 2 つ改行して(つまり 1 行空けて)詳細説明を続けてください。 + +コミットメッセージの頭文字は大文字にせず、動詞から始める場合には現在形を用いてください。例えば、`feat: Added xxxxx` とはせずに `feat: add xxxxx` としてください。 + +1. 重大な不具合の緊急修正: `hotfix: 不具合の内容` + - プログラム自体が起動しなくなったり投稿が一切できなくなるなどの重大な不具合を回避するための更新には `hotfix:` を頭につけます。 +2. ドキュメントのみの更新: `docs: 更新の概要` + - 内容がドキュメントの更新のみの場合、`docs:` を頭につけます。たとえ更新内容が誤字の訂正であったとしても `fix: typo` ではなく `docs: fix typo` とします。 +3. 翻訳の更新: `locale: 更新の概要` + - `locales/` 以下のファイルをいじった場合のコミットなどがこれに該当します。 +4. コンテナイメージに関する更新: `container: 更新の概要` + - `Dockerfile` や `docker-compose.yml` の更新など、Podman/Docker のユーザー以外には一切影響しない更新がこれに該当します。 +5. Firefish のプログラム本体には変更を加えない更新: `dev: 更新の概要` + - アップデートスクリプトや Makefile の更新など、プログラム本体への変更は加えない場合には `dev:` を頭につけます。 + - `packages.json`, `packages/`, `locales/` に変更を全く加えていないコミットは大体これに該当します。 + - 開発とは全く関係無い場合には `meta:` を用いてもよいです。 +6. 不具合の修正: `fix: 不具合の内容` +7. 機能の追加: `feat: 更新の概要` +8. パフォーマンスの向上のための再設計: `perf: 再設計の概要` +9. Web クライアントの見た目の変更: `style: 更新の概要` +10. プログラムの再設計: `refactor: 再設計の概要` +11. その他の雑務: `chore: 更新の概要` + - コードのフォーマットや非常に小規模なプログラムの書き換え(一箇所の `||` を `??` に書き換えるなど)や依存パッケージの更新がこれに該当します。 + +更新が本当に小規模な場合には `:` の直前に `(minor)` を入れても良いです(例: `docs (minor): fix typo in README.md`)が、ほとんどの場合にこれは使う必要がありません。 + ## 注意事項 データベースのマイグレーションを伴う変更を加える場合にはマイグレーションのファイルを [`packages/backend/migration-neko`](https://code.naskya.net/naskya/firefish/source-by/main/packages/backend/migration-neko) の下に作成し、マイグレーションを打ち消す SQL クエリを [`neko/revert.sql`](https://code.naskya.net/naskya/firefish/source-by/main/neko/revert.sql) の**一番上に**追記してください。 diff --git a/packages/backend/src/server/api/endpoints/release/translate.ts b/packages/backend/src/server/api/endpoints/release/translate.ts index 6a547a4b..fa3d3df7 100644 --- a/packages/backend/src/server/api/endpoints/release/translate.ts +++ b/packages/backend/src/server/api/endpoints/release/translate.ts @@ -44,9 +44,9 @@ async function translateCommitMsg(msg: string, targetLang: Language) { if (targetLang.startsWith("ja")) { const prefixes = { + container: "コンテナ (Podman/Docker)", chore: "雑務", dev: "開発", - docker: "Docker", docs: "ドキュメント", feat: "新機能", fix: "修正",