diff --git a/.claude/skills/setup/SKILL.md b/.claude/skills/setup/SKILL.md index f779753..59b16ee 100644 --- a/.claude/skills/setup/SKILL.md +++ b/.claude/skills/setup/SKILL.md @@ -17,6 +17,15 @@ - 成果物のドラフトを提示し,ユーザーの修正指示を反映してからファイルに書き出す - フォルダは成果物を実際に書き出すときにのみ作成する.空のカテゴリフォルダを先回りで作らない +## 立ち上げ中の Git 運用 (Git During Setup) + +立ち上げ作業は専用ブランチ `chore/project-setup` の上で行い,**各フェーズの成果物を書き出してユーザーが承認したら,その場でコミットする**(フェーズごとに 1 コミット).手順・コミットメッセージの対応表は本スキルの `reference.md`(`.claude/skills/setup/reference.md`)「フェーズごとのコミット」に従う. + +- 本スキルは CLAUDE.md「Git 運用」の「`/commit` 自発実行禁止」に対する**ユーザー承認済みの例外**である(`/auto-refactor`・`/auto-audit` と同格).例外が認められるのは `chore/project-setup` ブランチへのコミットに限る +- **`git push`・PR 作成・マージ・`main` への直接コミットは一切行わない**.`main` への取り込みは全フェーズ完了後にユーザーが `/commit push`(または `/commit merge`)で行う +- ブランチは最初のコミットを作る直前に `main` から作成する.既に `chore/project-setup` にいる場合(再開時)はそのまま使い続ける +- コミット履歴がそのままフェーズの進捗になるため,中断・再開しても「どこまで終わったか」が git から辿れる(`CLAUDE.md` の進捗欄・`docs/PROGRESS.md` の更新はそのフェーズのコミットに含める) + ## 前提確認 (Pre-check) 1. CLAUDE.md がテンプレート初期状態(タイトルが `# プロジェクト名` のまま)か確認する @@ -77,6 +86,7 @@ 2. ユーザーとの対話で情報を収集する 3. 成果物のドラフトを作成し,ユーザーに提示する 4. 承認を得てから GUIDE_01 に記載された保存先に書き出す +5. 書き出した成果物をコミットする(前述「立ち上げ中の Git 運用」・`reference.md`「フェーズごとのコミット」.push・PR は行わない) ### 台詞テンプレート @@ -84,7 +94,7 @@ {ドラフト内容} -修正点があれば指示してください.OKであれば {保存先} に保存して次のフェーズに進みます.」 +修正点があれば指示してください.OKであれば {保存先} に保存し,`chore/project-setup` にコミットして次のフェーズに進みます.」 ### フォルダ作成の注意 @@ -94,6 +104,7 @@ 外部サービスの設定(アカウント作成,コンソール操作等)はユーザー自身が行う.手順書に記載するが,AI が実行しないこと. **例外**として,`gh` CLI で操作できる GitHub リポジトリ設定は AI が実行する. +手順書を書き出した後は,それ以外の手順を実際に実行して環境を構築する(後述「環境構築の実行」.ツール導入は都度承認を得る). ### GitHub リポジトリのセキュリティ設定 (GitHub Repository Security Settings) @@ -110,6 +121,17 @@ - 生成内容(対象エコシステム・更新頻度・グループ化)は他の成果物と同様にドラフトとしてユーザーに提示し,承認を得てから書き出す(「作るかどうか」は聞かず,「内容」だけを確認する) - マニフェストがまだ存在しない場合(立ち上げ時点でコードが無い)でも,スタックが確定していれば生成してよい.Dependabot はマニフェストが置かれた時点から動き始める +### 環境構築の実行 (Executing the Environment Setup) + +`ENV_02_環境構築手順.md`・`ENV_03_管理者用環境構築手順.md` を書き出したら,**手順書を渡して終わりにせず,その手順に従って実際にこの環境を構築する**.未検証の手順書は誤り・前提の抜けを含みやすく,最初に詰まるのはその場のユーザーであるため.実行の分類(そのまま実行する/承認を取る/ユーザーに依頼する)と進め方は `reference.md`「環境構築の実行」に従う. + +- リポジトリ内で完結する操作(プロジェクト初期化・依存インストール・設定ファイル生成・ビルドや起動の疎通確認・`gh` でのリポジトリ設定)はそのまま実行する +- ツール導入(SDK・ランタイム・CLI のインストール,`docker build`,dev container の起動)は**実行するコマンドを提示して承認を得てから**実行する.OS・パッケージマネージャ・バージョン・入る場所(システム全体かプロジェクト内か)を明示する +- 外部サービスのコンソール操作・アカウント作成・対話ログイン(`gh auth login` 等)・クレデンシャルの発行はユーザーに依頼する(`! gh auth login` のように `!` を付けてその場で実行できることを案内する) +- 実行して分かった手順書の誤り・不足・OS 依存の差異は `ENV_02`/`ENV_03` に反映してからコミットする.解決できなかった手順は「※ 未検証」と明記して残す +- 確定した起動・テスト・lint・ビルドのコマンドは `ENV_04_開発コマンド.md` に書き出す(GUIDE_01「環境構築」) +- 生成物(`node_modules/`・ビルド出力等)を作る前に `.gitignore` を整備する + ### 検証プロファイルの作成(任意) (Verify Profile) 技術スタックと開発コマンドが固まった後(フェーズ 3 の最後)に,Claude による動作確認を使うかをユーザーに 1 度だけ確認する.**既定は「作らない」**であり,作らなくても `/implement` の流れは従来どおり(Phase 1b はスキップされ,動作確認は人間が行う). @@ -144,7 +166,8 @@ 2. 作成した全ドキュメントの一覧を表示する 3. 最初の実装ステップを確認する 4. **モードに関わらず**,「GitHub リポジトリのセキュリティ設定」(前述)を実行する(Phase 3 で有効化済みなら検証コマンドだけで確認する.リモートがまだ無ければ,リポジトリ作成後に ENV_03 のコマンドを実行するようユーザーに案内する) -5. **team モードの場合**は,AI に実施できない「管理者の初期設定」(GUIDE_03「管理者の初期設定」)をユーザーに案内する: +5. CLAUDE.md の最終更新・進捗の更新を `chore/project-setup` にコミットする(前述「立ち上げ中の Git 運用」).`main` への取り込みは行わず,ユーザーに `/commit push`(または `/commit merge`)を案内する +6. **team モードの場合**は,AI に実施できない「管理者の初期設定」(GUIDE_03「管理者の初期設定」)をユーザーに案内する: - GitHub リポジトリ作成・メンバー招待 - Issue テンプレートの用意 - CI 構築(未構築の間は GUIDE_03「CI 構築までの暫定ゲート」を適用) @@ -160,6 +183,8 @@ GitHub リポジトリのセキュリティ設定(Dependabot alerts / security updates): {有効化済み / リポジトリ未作成のため未実施(ENV_03 のコマンドで有効化してください)} 依存バージョン更新(`.github/dependabot.yml`): {対象エコシステム一覧} を {更新頻度} で監視 Dependabot が作る PR・alert は `/deps-update` で処理できます(安全な更新は自動マージ,メジャー更新等は分析付きで報告). +立ち上げの成果物は `chore/project-setup` に {N} コミットで積んであります.`main` への取り込みは `/commit push`(PR 作成まで)または `/commit merge`(マージまで)で行ってください. +環境構築: {実行した手順の要点 / ユーザーに依頼した手順 / 未検証のまま残した手順} 最初の実装ステップは `{ステップ名}` です.`/implement {タスク}` で開始できます. {team の場合: 「チーム運用の管理者初期設定(GitHub repo・CI 等)は GUIDE_03 を参照してユーザー側で実施してください.」}」 @@ -168,9 +193,11 @@ ユーザーが中断を希望した場合: 1. 現在のフェーズと状態を CLAUDE.md の「開発進捗」(最新 1 行に上書き)と `docs/PROGRESS.md`(末尾に追記)に記録する -2. 次回 `/setup` 実行時に続きから再開できるようにする +2. ここまでの成果物と進捗の更新を `chore/project-setup` にコミットする(未コミットの差分を残さない.push・PR は行わない) +3. 次回 `/setup` 実行時に続きから再開できるようにする 「**進捗を保存しました.** 現在の状態: フェーズ {N}({フェーズ名})まで完了 -次回 `/setup` を実行すると,フェーズ {N+1} から再開します.」 +`chore/project-setup` にコミット済みです(未コミットの変更はありません). +次回 `/setup` を実行すると,同じブランチでフェーズ {N+1} から再開します.」 diff --git a/.claude/skills/setup/reference.md b/.claude/skills/setup/reference.md index e1f9466..116934f 100644 --- a/.claude/skills/setup/reference.md +++ b/.claude/skills/setup/reference.md @@ -1,6 +1,6 @@ # setup リファレンス (Setup Reference) -`/setup`(`SKILL.md`)から参照される,GitHub リポジトリまわりの設定手順集(`gh` CLI で行うリポジトリ設定と,`.github/dependabot.yml` の生成規則).`/setup` の途中で AI が実行するほか,`/setup` 完了後にリポジトリを作成した場合などに管理者(人間)が単体で実行する runbook としても使う. +`/setup`(`SKILL.md`)から参照される実行手順集(`gh` CLI で行うリポジトリ設定,`.github/dependabot.yml` の生成規則,フェーズごとのコミット,環境構築の実行).`/setup` の途中で AI が実行するほか,`/setup` 完了後にリポジトリを作成した場合などに管理者(人間)が単体で実行する runbook としても使う. ## GitHub リポジトリのセキュリティ設定 (GitHub Repository Security Settings) @@ -121,3 +121,77 @@ ### 動作確認 (Verification) `main` に push された後,GitHub の Insights → Dependency graph → Dependabot で各エコシステムの「Last checked」と結果を確認できる.YAML の構文エラーはここにも表示される. + +## フェーズごとのコミット (Per-phase Commit) + +`/setup` は立ち上げ専用ブランチ `chore/project-setup` の上で,各フェーズの成果物を書き出してユーザーが承認したタイミングごとにコミットする.`git push`・PR 作成・マージ・`main` への直接コミットは行わない(CLAUDE.md「Git 運用」の例外が認められるのはこのブランチへのコミットに限る). + +### 手順 (Procedure) + +1. 最初のコミットの直前にブランチを用意する(2 回目以降のフェーズは作成済みのブランチをそのまま使う): + + ```bash + git branch --show-current # chore/project-setup なら,そのまま使う + git switch -c chore/project-setup # main にいる場合のみ作成する + ``` + + - コミットが 1 つも無い(`git log` が失敗する)場合は,先に最初のコミットを作ってからブランチを切る(コミットが無いとブランチを作れないため) +2. そのフェーズで書き出したファイルだけをステージングする(`.env` やクレデンシャル・生成物はステージングしない.`.gitignore` の整備を先に済ませる) +3. `.claude/rules/git-conventions.md` の書式(`[タグ] 内容`・日本語・末尾の句点なし)でコミットする + + ```bash + git add docs/03_PLAN/PLAN_01_要件定義書.md + git commit -m "[add] 要件定義書を作成" + ``` + +4. コミットした旨(ブランチ・メッセージ)を次フェーズの案内と一緒に 1 行で報告する + +### フェーズとコミットの対応 (Commit per Phase) + +| フェーズ | 主な対象 | コミットメッセージ例 | +| --- | --- | --- | +| 前提確認・モード選択 | `CLAUDE.md`(プロジェクト名・概要),`.claude/project-mode`,(team の場合)`settings.json`・`.gitignore` | `[update] プロジェクト名と開発モードを設定` | +| 1 方針決定 | `docs/03_PLAN/PLAN_01_要件定義書.md` | `[add] 要件定義書を作成` | +| 2 技術選定 | `docs/02_ENV/ENV_01_技術スタック.md` | `[add] 技術スタックを選定` | +| 3 環境構築 | `ENV_02`・`ENV_03`・`ENV_04`,`.gitignore`,`.github/dependabot.yml`,構築用ファイル(Dockerfile・devcontainer.json 等),(任意)`.claude/verify-profile.md` | `[add] 環境構築手順と設定ファイルを整備` | +| 4 仕様設計 | `docs/04_SPEC/SPEC_01_*.md` | `[add] 仕様設計書を作成` | +| 5 規約整備 | `.claude/rules/*.md`(コーディング規約等) | `[add] コーディング規約を整備` | +| 6 開発計画 | `docs/03_PLAN/PLAN_02_開発ステップ.md` | `[add] 開発ステップを策定` | +| 7 実装開始 | `CLAUDE.md`(最終更新),`docs/PROGRESS.md` | `[update] CLAUDE.md を立ち上げ完了状態に更新` | + +- フェーズ 3 は「手順書・設定ファイルの作成」と「実際の構築(+手順書の修正)」で差分の性質が違うため,2 コミット以上に分けてよい(例: `[add] 環境構築手順と設定ファイルを整備` → `[update] 実際の構築結果を環境構築手順に反映`) +- 進捗(`CLAUDE.md` の進捗欄・`docs/PROGRESS.md`)を更新した場合は,そのフェーズのコミットに含める +- 承認を得た成果物がまだ無いフェーズ(対話だけで終わった)ではコミットしない(空コミットを作らない) + +### 取り込み (Merging into main) + +全フェーズ完了後,ユーザーが `/commit push`(PR 作成まで)または `/commit merge`(マージまで)で `main` に取り込む.`/setup` からは案内のみを行う. + +## 環境構築の実行 (Executing the Environment Setup) + +`/setup` のフェーズ 3 で `ENV_02_環境構築手順.md`・`ENV_03_管理者用環境構築手順.md` を書き出した後,その手順に従って実際に開発環境を構築する.手順書だけで終わらせないのは,未検証の手順書は誤りや前提の抜けを含みやすく,最初に詰まるのがその場のユーザーになるため. + +### 実行の分類 (What to Execute) + +| 区分 | 例 | 扱い | +| --- | --- | --- | +| リポジトリ内で完結する操作 | プロジェクトの初期化(`npm create`・`flutter create`・`cargo new` 等),依存インストール,設定ファイル生成,`.gitignore` 整備,ビルド・起動・テストの疎通確認,`gh` で行うリポジトリ設定(本書「GitHub リポジトリのセキュリティ設定」) | そのまま実行する | +| ツール導入(システムに入るもの) | SDK・ランタイム・CLI・パッケージマネージャのインストール,グローバル設定の変更,`docker build`,dev container の起動 | **実行するコマンドを提示して承認を得てから**実行する | +| ユーザーにしかできない操作 | 外部サービスのアカウント作成・コンソール操作・セキュリティルール変更,対話ログイン(`gh auth login`・`firebase login` 等),クレデンシャルの発行と貼り付け,実機・ブラウザでの最終確認 | 実行せずユーザーに依頼する(CLAUDE.md「手動確認が必要な作業」) | + +### 進め方 (Procedure) + +1. `ENV_02`(メンバー向け手順)を上から順に実行する.各手順の実行前に,上表のどの区分かを判定する +2. ツール導入は 1 つずつ,**実行するコマンド・OS とパッケージマネージャ・バージョン・入る場所(システム全体かプロジェクト内か)**を示して承認を得る.既に入っているものはバージョン確認(`node -v` 等)だけで済ませ,入れ直さない +3. ユーザーにしかできない操作に来たら,手順の番号と依頼内容を伝えて待つ.対話ログイン等は `! gh auth login` のように `!` を付けてその場で実行できることを案内する +4. `ENV_03`(管理者用手順)のうち `gh` で実行できるもの(リポジトリのセキュリティ設定)は実行する.リモート未作成なら Phase 7 で再試行する +5. 実行結果を記録し,**手順書を実行結果に合わせて直す**(誤ったコマンド・抜けている前提・OS 依存の差異・必要なバージョン).解決できなかった手順は該当箇所に「※ 未検証({エラーの要点})」と明記する +6. 確定した起動・テスト・lint・ビルドのコマンドを `ENV_04_開発コマンド.md` に書き出す(無ければ作成する) +7. 構築結果をユーザーに報告する(実行した手順/承認を得て導入したツール/ユーザーに依頼した手順/未検証のまま残した手順) + +### 注意 (Notes) + +- 生成物(`node_modules/`・ビルド出力・`.venv` 等)を作る前に `.gitignore` を整備する.先にインストールを走らせると `git add` が汚れる +- 失敗したコマンドを推測で変形して繰り返さない.2 回失敗したら手を止め,エラー全文と試したことを添えてユーザーに判断を仰ぐ +- 既存ファイルを上書きする初期化コマンドやグローバル設定の書き換えは,対象を確認したうえで承認を得る(空ではないディレクトリでの `create` 系は特に注意する) +- 環境構築が済んだら,疎通確認で使ったコマンド(起動・テスト)が `ENV_04` の記載と一致していることを確認する.一致しない場合は実行できたコマンドを正とする diff --git a/.claude/template-sync-sha b/.claude/template-sync-sha index b1b49c2..33da67c 100644 --- a/.claude/template-sync-sha +++ b/.claude/template-sync-sha @@ -1 +1 @@ -3db9db52a691c16e9bdcd56ce10afb15f70ff4f9 +00dd94e0234076eb545a662e737594413a336066 diff --git a/CLAUDE.md b/CLAUDE.md index f9424ab..820f5ec 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ ## 開発進捗 -最新: テンプレートを `3db9db5` に同期(検証エージェント `verifier`/Phase 1b・フック起動ラッパー・ntfy 通知フック.上流に差し戻した共通層テストの不具合も解消済み).本プロジェクトは実機依存のため検証プロファイルは作らず Phase 1b はスキップ運用.#31(ArUco API 移行)は実機確認待ちの PR #36 として引き続き保留中 +最新: テンプレートを `00dd94e` に同期(`/setup` のフェーズごとコミット・環境構築の実行).本プロジェクトは実機依存のため検証プロファイルは作らず Phase 1b はスキップ運用.#31(ArUco API 移行)は実機確認待ちの PR #36 として引き続き保留中 ※ 本欄は**最新ステップ 1 行のみ上書き更新**.詳細な進捗履歴(動機・設計判断・失敗パターン)は [docs/PROGRESS.md](docs/PROGRESS.md) に追記する.運用ルールは `.claude/rules/progress-log.md` を参照(該当ファイル編集時に自動ロードされる). ## 必須ルール(コード実装時) @@ -25,7 +25,8 @@ - ブランチ名・コミットメッセージの書式は `.claude/rules/git-conventions.md` に従う(常時ロードされる) - コミットは `/commit` を使用する(push・PR 作成は `/commit push`,マージ・プルまで行う場合は `/commit merge`) - **`/commit` はユーザーが明示的に指示した時のみ実行する.Claude が自発的に `/commit` や `git commit` を呼んではならない**(`/implement` 完了後も,案内するだけで自分ではコミットしない.`/commit` skill は `disable-model-invocation` によりユーザー起動限定として強制されている) - - **例外**: 以下の無人運転ループはユーザー承認済みの例外として専用ブランチに自律コミットする.いずれも push・PR・マージ・`main` への操作はしない(取り込みは人間が `/commit push` 等で行う) + - **例外**: 以下(プロジェクト立ち上げと無人運転ループ)はユーザー承認済みの例外として専用ブランチに自律コミットする.いずれも push・PR・マージ・`main` への操作はしない(取り込みは人間が `/commit push` 等で行う) + - `/setup`(プロジェクト立ち上げ)→ `chore/project-setup` 専用ブランチ(フェーズごとに 1 コミット) - `/auto-refactor`(リファクタ/ドキュメント整理ループ)→ `refactor/` 専用ブランチ - `/auto-audit`(バグ/脆弱性の巡回監査ループ)→ `fix/` 専用ブランチ - **例外(`main` へのマージ)**: `/deps-update` は,Dependabot が作成した依存更新 PR に限り,ゲート(メジャー更新でない・競合なし・CI 緑またはローカル検証緑)を満たすものを `gh pr merge` で `main` に取り込む(ユーザーが明示的に起動した時のみ.メジャー更新・CI 赤・PR が付かない alert は報告して人間が判断する) diff --git "a/docs/01_GUIDE/GUIDE_01_\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210\347\253\213\343\201\241\344\270\212\343\201\222\343\203\225\343\203\255\343\203\274.md" "b/docs/01_GUIDE/GUIDE_01_\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210\347\253\213\343\201\241\344\270\212\343\201\222\343\203\225\343\203\255\343\203\274.md" index 27b39e9..574cdde 100644 --- "a/docs/01_GUIDE/GUIDE_01_\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210\347\253\213\343\201\241\344\270\212\343\201\222\343\203\225\343\203\255\343\203\274.md" +++ "b/docs/01_GUIDE/GUIDE_01_\343\203\227\343\203\255\343\202\270\343\202\247\343\202\257\343\203\210\347\253\213\343\201\241\344\270\212\343\201\222\343\203\225\343\203\255\343\203\274.md" @@ -30,6 +30,14 @@ - team 層ファイルの配置・削除は `/set-mode` が一括で行い,`/sync-template` は `.claude/project-mode` を見て team 層の同期可否を判定する.team 層ファイルの正確なリストは `/set-mode`・`/sync-template` の定義に持たせており,増減時は両者を一致させること. - テンプレート由来のファイルをプロジェクトの都合で意図的に変更した場合は,`.claude/template-overrides.md`(テンプレート改変台帳)に方針(`keep` / `merge` / `ask`)と理由を記録する(`.claude/rules/template-customization.md`).`/sync-template` は台帳を読み,登録ファイルをテンプレート版で上書きせず方針に従って処理する.未登録でも前回同期版から改変されたファイルは上書き前に確認される. +## 立ち上げ中の Git 運用 (Git During Setup) + +立ち上げ作業は専用ブランチ `chore/project-setup` の上で行い,**各フェーズの成果物が確定(ユーザーが承認)した時点でコミットする**(フェーズごとに 1 コミット).`/setup` が Git 規約(`.claude/rules/git-conventions.md`)の書式でコミットまで行い,`git push`・PR 作成・マージ・`main` への直接コミットは行わない.手順とフェーズごとのコミットメッセージ例は `.claude/skills/setup/reference.md`「フェーズごとのコミット」にある. + +- 狙いは,立ち上げの成果物をフェーズ単位でレビュー・巻き戻しできる形にし,中断・再開しても「どこまで終わったか」が git 履歴から辿れるようにすること +- 全フェーズ完了後,`main` への取り込みはユーザーが `/commit push`(PR 作成まで)または `/commit merge`(マージまで)で行う +- これは CLAUDE.md「Git 運用」の「`/commit` 自発実行禁止」に対するユーザー承認済みの例外(`/auto-refactor`・`/auto-audit` と同格)であり,`chore/project-setup` ブランチへのコミットに限る + ## 方針決定 (Direction) プロジェクトの全体像を明確にする. @@ -56,6 +64,10 @@ - Python 3.7 以上と `bash` — `.claude/settings.json` のフック(リポジトリ外アクセス制限・通知)の実行に使用.フックは `bash .claude/hooks/run_python.sh` 経由で起動し,`python3` → `python` → `py` の順に実際に起動できるものを使う(いずれか 1 つで起動できればよい.Windows では Git for Windows 付属の `bash` を使う).※ Python が見つからないとアクセス制限フックが Read・Write・Edit・Glob・Grep・Bash を**すべてブロックする**(通知フックは何もせず素通りする) - **基本方針**: 環境の再現性を重視し,手順書だけに頼らず構築を自動化・コード化できる方法を優先する(例: Docker,Dev Containers,Windows Sandbox,IaC ツール等). - **人間が決めること**: 開発マシンの選定,クラウドサービスのアカウント作成,環境構築方法の選択 +- **実際の構築まで行う**: 手順書を書いて終わりにせず,`/setup` がその手順に従って実際に環境を構築し,実行して分かった誤り・前提の抜けを手順書に反映する(未検証の手順書は誤りを含みやすく,最初に詰まるのがその場のユーザーになるため).区分は次の 3 つ(詳細は `.claude/skills/setup/reference.md`「環境構築の実行」) + - リポジトリ内で完結する操作(プロジェクト初期化・依存インストール・設定ファイル生成・ビルドや起動の疎通確認・`gh` でのリポジトリ設定)はそのまま実行する + - ツール導入(SDK・ランタイム・CLI のインストール,`docker build`,dev container の起動)は実行するコマンド・バージョン・入る場所を提示して**都度承認を得てから**実行する + - 外部サービスのコンソール操作・アカウント作成・対話ログイン(`gh auth login` 等)・クレデンシャルの発行はユーザーが行う - **AI に依頼できること**: 環境構築手順書の作成,設定ファイルの生成,`.gitignore` の作成,Dockerfile や devcontainer.json 等の構築用ファイルの作成,GitHub リポジトリのセキュリティ設定・`.github/dependabot.yml` の生成(後述),検証プロファイル(`.claude/verify-profile.md`.任意.後述)の記入 - **GitHub リポジトリのセキュリティ設定**: GitHub の Settings → Code security にある **Dependabot alerts**(既知脆弱性の検出."Vulnerabilities" として表示される)と **Dependabot security updates** はリポジトリごとに既定で OFF のため,リポジトリを作成したら必ず有効化する.モードに関わらず `/setup` が `gh api` で有効化・検証する(コマンド・検証・トラブル対応は `.claude/skills/setup/reference.md`「GitHub リポジトリのセキュリティ設定」).`/setup` 時点でリポジトリが無い場合は,`ENV_03_管理者用環境構築手順.md` に転記した同じコマンドをリポジトリ作成後に実行する. - **依存バージョン更新(Dependabot version updates)**: 上記とは別に,依存パッケージを定期的に最新化する PR を作らせるため,`/setup` が技術スタックに合わせて `.github/dependabot.yml` を必ず生成する(週 1 回・マイナー/パッチをまとめる・`[update]` プレフィックス.エコシステム対応表と雛形は `.claude/skills/setup/reference.md`「依存バージョン更新の設定」).Dependabot が作る PR と alert の処理は `/deps-update` で行う(ゲートを満たす PR を自動マージし,メジャー更新等は分析付きで報告.GUIDE_02「コミットルール」の例外). diff --git "a/docs/01_GUIDE/GUIDE_02_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" "b/docs/01_GUIDE/GUIDE_02_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" index 9fb0d5d..04fef34 100644 --- "a/docs/01_GUIDE/GUIDE_02_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" +++ "b/docs/01_GUIDE/GUIDE_02_\343\202\250\343\203\274\343\202\270\343\202\247\343\203\263\343\203\210\351\201\213\347\224\250\343\203\253\343\203\274\343\203\253.md" @@ -55,6 +55,8 @@ ※ リファクタリングとテストは実装と一体の成果物として,まとめてコミットする.必要に応じて分割コミットも可. +※ **例外(プロジェクト立ち上げ)**: `/setup` は立ち上げ中,各フェーズの成果物が確定した時点で `chore/project-setup` ブランチに自律コミットする(GUIDE_01「立ち上げ中の Git 運用」).push・PR・マージは行わず,`main` への取り込みは完了後に人間が `/commit push` 等で行う. + ※ **例外(無人運転)**: 以下のループは CLAUDE.md の「`/commit` 自発実行禁止」ルールに対するユーザー承認済みの例外として,専用ブランチに自律コミットする.いずれも push・PR・マージ・`main` への操作は行わず,取り込み可否は人間が判断する. - `/auto-refactor`(リファクタ/ドキュメント整理ループ)→ `refactor/` 専用ブランチ diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 3e2ba90..0f8bbdd 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -144,3 +144,5 @@ - [x] **上流の修正を取り込み,共通層テストのチーム層依存を解消** (2026-09-18): 前エントリで programming-template#43 として差し戻した不具合が上流で修正されたため,テンプレートを `60ab68c` → `3db9db5` に同期した.`TestCheckSync` に存在ガードが入り,solo でも失敗せず skip される(52 件中 3 件 skip で全緑). - 上流は個別のガード追加に留めず,「共通層のファイルはチーム層ファイルの存在を前提にしてはならない」を `/sync-template` の不変条件として明文化し,AST で共通層テストを検査するメタテストを追加した(メタテストは `.claude/tests/` 配下のため本プロジェクトには配布されない).同種の退行は今後テンプレート側で止まる. + +- [x] **テンプレートを最新版に同期(`/setup` のフェーズごとコミットと環境構築の実行)** (2026-09-29): `/sync-template` で programming-template を `3db9db5` → `00dd94e` に追従.変更は `/setup` 系(skill・GUIDE_01/02)と CLAUDE.md「Git 運用」の自律コミット例外への `/setup` 追加のみで,立ち上げ済みの本プロジェクトのコードへの影響は無い.台帳登録・未登録改変ともに 0 件.