genshijin-commit
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseコミットメッセージは簡潔かつ正確に。Conventional Commits 形式。冗長禁止。「何を」より「なぜ」。
Commit messages should be concise and accurate. Follow the Conventional Commits format. No redundancy. Prioritize "why" over "what".
ルール
Rules
件名
Subject
- —
<type>(<scope>): <命令形の要約>任意<scope> - types: ,
feat,fix,refactor,perf,docs,test,chore,build,ci,stylerevert - 命令形: 「追加」「修正」「削除」 — 「追加した」「追加します」不可
- ≤50文字目標・72文字上限
- 末尾ピリオド不要
- 日本語/英語はリポジトリ既存コミット履歴に合わせる(確認)
git log
- —
<type>(<scope>): <imperative summary>is optional<scope> - types: ,
feat,fix,refactor,perf,docs,test,chore,build,ci,stylerevert - Imperative form: Use verbs like "Add", "Fix", "Remove" — do not use past tense (e.g., "Added") or polite/conjugated forms (e.g., "Will add")
- Target ≤50 characters, maximum 72 characters
- No trailing period
- Match the language (Japanese/English) of the repository's existing commit history (check with )
git log
本文(必要時のみ)
Body (only when necessary)
- 件名で自明なら省略
- 追加する場合:
- 非自明な「なぜ」
- 破壊的変更
- マイグレーション注意
- 関連Issue/PR
- 72文字で折返し
- 箇条書きは (
-不使用)* - 末尾にIssue/PR参照:
Closes #42Refs #17
- Omit if the subject is self-explanatory
- When including:
- Non-obvious "why" behind the change
- Breaking changes
- Migration notes
- Related issues/PRs
- Wrap at 72 characters
- Use for bullet points (do not use
-)* - Reference issues/PRs at the end:
Closes #42Refs #17
絶対入れない
Strictly prohibited
- 「このコミットは〜します」「私は」「我々は」「現在」「今」— diff 見れば自明
- 「〇〇の依頼により」— trailer 使う
Co-authored-by - 「Generated with Claude Code」等 AI 帰属表記
- 絵文字(プロジェクト慣習で必須な場合を除く)
- scope で既出のファイル名再記述
- Phrases like "This commit will...", "I", "We", "Currently", "Now" — these are self-evident from the diff
- "Requested by..." — use the trailer instead
Co-authored-by - AI attribution like "Generated with Claude Code"
- Emojis (unless required by project conventions)
- Repeating filenames already mentioned in the scope
例
Examples
diff: ユーザープロフィール用新エンドポイント、なぜ必要か本文で説明
- ❌
feat: ユーザープロフィール情報をDBから取得する新しいエンドポイントを追加 - ✅
feat(api): GET /users/:id/profile 追加 モバイルクライアント コールドスタート時 LTE帯域削減のため、完全user payload不要なprofileデータ 取得エンドポイントが必要。 Closes #128
diff: 破壊的API変更
- ✅
feat(api)!: /v1/orders を /v1/checkout にリネーム BREAKING CHANGE: /v1/orders クライアント 2026-06-01 までに /v1/checkout 移行必須。以降旧ルート 410 返却。
diff: 小さいバグ修正(本文不要例)
- ✅
fix(auth): トークン期限チェック境界条件修正
diff: New endpoint for user profiles, explain the "why" in the body
- ❌
feat: Add a new endpoint to fetch user profile information from the DB - ✅
feat(api): Add GET /users/:id/profile To reduce LTE bandwidth usage during mobile client cold starts, a dedicated endpoint is needed to fetch profile data without the full user payload. Closes #128
diff: Breaking API change
- ✅
feat(api)!: Rename /v1/orders to /v1/checkout BREAKING CHANGE: Clients using /v1/orders must migrate to /v1/checkout by June 1, 2026. After that date, the old route will return 410 Gone.
diff: Small bug fix (example with no body needed)
- ✅
fix(auth): Fix token expiration check boundary condition
自動明瞭化
Auto-clarity
以下は件名のみ禁止・本文必須:
- 破壊的変更
- セキュリティ修正
- データマイグレーション
- revert コミット
将来のデバッガーがコンテキスト必要。圧縮し過ぎない。
The following require a body (subject-only is prohibited):
- Breaking changes
- Security fixes
- Data migrations
- Revert commits
Future debuggers will need context. Don't over-compress.
境界
Boundaries
- メッセージ生成のみ。実行・ステージング・amend 不実施
git commit - 出力はコードブロックで貼付可能な形式
- 「原始人コミットやめて」「通常モード」で解除
- Only generates commit messages. Does not execute , stage changes, or amend commits.
git commit - Output is in a format that can be pasted into code blocks.
- Disable with commands like "Stop genshijin commits" or "Normal mode"