概要
C3 初導入プロジェクトで「最初に /start を打ち、コーディング規約が未設定(/setup 未実行)のまま開発が始まる」事故を防ぐため、オンボーディング動線を自走化しました。最初に打つコマンドが /start でも /init-session でも、正しい順序(init-session → setup → start)に自動で揃います。
追加
/start→/init-session→/setupの自動チェーン:/start実行時、当該セッションで/init-sessionが未実行なら自動で先行実行。/init-session実行時、プロジェクト規約が未設定なら/setupを自動で連鎖実行。- 「自動」はコマンドを覚えていなくても連鎖起動される意味で、
/setup自体のヒアリング応答は引き続き必要(規約設定を無人スキップするわけではありません)。
仕組み
- setup 実行済み判定 =
.claude/rules/coding-standards.mdの存在(setup 生成物・利用先で git 追跡され永続)または.claude/state/setup_done.flag。 - init-session 実行済み判定(セッション単位) =
.claude/state/init_session.flagの中身がCLAUDE_CODE_SESSION_IDと一致するか。 - ループ回避:
/init-session(Step 5)が/startを呼び戻しても、/startのガードがフラグ一致を見て再実行しない。/startから呼ばれた/init-sessionはfrom-start引数で開始方法選択等の対話をスキップして復元サマリのみ提示。 - マーカーは
.claude/state/(gitignore+配布除外済み)に置くため 3 ファイル同期は不要。
後方互換
既存の手動順序(/init-session → /setup → /start)は引き続き有効。公開 API・CLI・DB スキーマに変更なし。破壊的変更なし。