create-commit 変更内容を分析して Conventional Commits 形式でコミットを作成します。 フロー Step 1: 変更内容を確認する staged がない場合は も確認してユーザーに staging を案内する。 Step 2: シークレット混入チェック(必須) コミット実行前に、staged 差分へ秘密情報が含まれていないことを確認する。 検査は (a) 機械照合 と (b) 目視レビュー の 2 段構えである。(a) だけでは不十分であり、 (b) は (a) が何も検出しなかった場合でも必ず実施する (理由は後述の「機械照合の限界」)。 (a) 機械照合 パターンは変数へ一度だけ定義し、自己テストと本検査で同じ文字列を使う。 の実装差 (BSD grep / GNU grep / ugrep)で BRE の の解釈が割れ、正規表現が構文エラーになることがある。 エラーになった は非ゼロで終わるため、 の形だと 秘密情報があっても 「検出なし」と報告される (fail-open)。これは検出側( )だけでなく 除外側( )も 同じ で、除外パターンが壊れると一致済みの行が消えて「検出なし」になる。自己テストは除外側まで 含めて実行する。 定義と検査を別のコードブロックに分けてはならない。コードブロックはそれぞれ独立したシェルで 実行され得るため変…