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
    ,
    style
    ,
    revert
  • 命令形: 「追加」「修正」「削除」 — 「追加した」「追加します」不可
  • ≤50文字目標・72文字上限
  • 末尾ピリオド不要
  • 日本語/英語はリポジトリ既存コミット履歴に合わせる(
    git log
    確認)
  • <type>(<scope>): <imperative summary>
    <scope>
    is optional
  • types:
    feat
    ,
    fix
    ,
    refactor
    ,
    perf
    ,
    docs
    ,
    test
    ,
    chore
    ,
    build
    ,
    ci
    ,
    style
    ,
    revert
  • 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 #42
    Refs #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 #42
    Refs #17

絶対入れない

Strictly prohibited

  • 「このコミットは〜します」「私は」「我々は」「現在」「今」— diff 見れば自明
  • 「〇〇の依頼により」—
    Co-authored-by
    trailer 使う
  • 「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
    Co-authored-by
    trailer instead
  • 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

  • メッセージ生成のみ。
    git commit
    実行・ステージング・amend 不実施
  • 出力はコードブロックで貼付可能な形式
  • 「原始人コミットやめて」「通常モード」で解除
  • Only generates commit messages. Does not execute
    git commit
    , stage changes, or amend commits.
  • Output is in a format that can be pasted into code blocks.
  • Disable with commands like "Stop genshijin commits" or "Normal mode"