diff --git a/.claude/agents/coder.md b/.claude/agents/coder.md index e99928f..4a8c161 100644 --- a/.claude/agents/coder.md +++ b/.claude/agents/coder.md @@ -42,7 +42,7 @@ ## 作業手順 (Workflow) -1. **ドキュメントと規約を読む**: `docs/` 内の関連ファイル(仕様書等)と,`.claude/rules/` のプロジェクト固有規約(coding-style・error-handling 等,存在する場合)を確認する +1. **ドキュメントと規約を読む**: `docs/` 内の関連ファイル(仕様書等)と,`.claude/rules/` のプロジェクト固有規約(coding-style・error-handling 等,存在する場合)を確認する.アプリの起動・実行が必要な場合のコマンドは `docs/02_ENV/ENV_04_開発コマンド.md`(存在する場合)を参照する 2. **既存コードを理解する**: 変更対象のコードとその周辺を読み,既存のパターン・ユーティリティを把握する 3. **実装する**: タスクの要件に沿って実装する.既存の関数やユーティリティがあれば再利用する 4. **実装サマリーを出力する**: 以下のフォーマットで出力する diff --git a/.claude/agents/refactorer.md b/.claude/agents/refactorer.md index eeca8df..42052d8 100644 --- a/.claude/agents/refactorer.md +++ b/.claude/agents/refactorer.md @@ -43,7 +43,7 @@ 1. **コーディング規約を読む**: プロジェクトのコーディング規約(`.claude/rules/` の coding-style 等,存在する場合)を確認する 2. **サマリーを確認する**: Coder・Tester エージェントの出力を読む 3. **変更差分を確認する**: `git diff` で全変更内容を確認する -4. **テストを実行する**: 現時点でテストが全て通ることを確認する(開始前のベースライン) +4. **テストを実行する**: 現時点でテストが全て通ることを確認する(開始前のベースライン).テスト実行コマンドは `docs/02_ENV/ENV_04_開発コマンド.md`(存在する場合)に記載のものを使い,無ければ構成ファイルから特定する 5. **リファクタリングを行う**: 以下の観点で改善する - 命名規則の統一 - コード重複の除去 diff --git a/.claude/agents/tester.md b/.claude/agents/tester.md index 723f624..ac5dd3b 100644 --- a/.claude/agents/tester.md +++ b/.claude/agents/tester.md @@ -42,15 +42,16 @@ 1. **仕様を読む**: `docs/04_SPEC/` 内の関連仕様書を確認する 2. **テスト方針を読む**: プロジェクトのテスト方針(`.claude/rules/` の testing 等,存在する場合)を確認する -3. **実装サマリーを確認する**: Coder エージェントの出力を読み,何が変更されたかを把握する -4. **変更差分を確認する**: `git diff` で実際の変更内容を確認する -5. **テストを作成する**: +3. **テスト実行コマンドを確認する**: `docs/02_ENV/ENV_04_開発コマンド.md`(存在する場合)に記載のコマンドを使う.無ければ構成ファイル(`package.json`,`pubspec.yaml` 等)から特定し,推測でコマンドを試行錯誤しない +4. **実装サマリーを確認する**: Coder エージェントの出力を読み,何が変更されたかを把握する +5. **変更差分を確認する**: `git diff` で実際の変更内容を確認する +6. **テストを作成する**: - 仕様に基づく正常系テスト - エッジケース・境界値テスト - エラーパスのテスト - 既存テストとの整合性を確認 -6. **テストを実行する**: テストスイートを実行し,結果を確認する -7. **テストサマリーを出力する** +7. **テストを実行する**: テストスイートを実行し,結果を確認する +8. **テストサマリーを出力する** ## テスト作成の原則 (Testing Principles) diff --git a/.claude/rules/docs-naming.md b/.claude/rules/docs-naming.md index 121b145..04a09e9 100644 --- a/.claude/rules/docs-naming.md +++ b/.claude/rules/docs-naming.md @@ -23,7 +23,7 @@ | カテゴリ | ディレクトリ | 内容 | 対象例 | | --- | --- | --- | --- | | `GUIDE_` | `01_GUIDE/` | 運用フロー・ガイド | 立ち上げフロー,エージェント運用,チーム開発ルール | -| `ENV_` | `02_ENV/` | 開発環境,プロジェクトの土台 | 環境構築手順,技術スタック一覧,パッケージ構成図 | +| `ENV_` | `02_ENV/` | 開発環境,プロジェクトの土台 | 環境構築手順,技術スタック一覧,パッケージ構成図,開発コマンド一覧 | | `PLAN_` | `03_PLAN/` | 進行計画,スケジュール,要件定義 | WBS,ロードマップ,要件定義書,タスク一覧 | | `SPEC_` | `04_SPEC/` | ユーザーから見える仕様 | 企画書,画面遷移図,パラメータ設定 | | `TECH_` | `05_TECH/` | エンジニア向けの技術設計 | 通信プロトコル仕様,データベース設計,クラス設計 | diff --git a/.claude/skills/auto-audit/SKILL.md b/.claude/skills/auto-audit/SKILL.md index 01ec9fa..3137e70 100644 --- a/.claude/skills/auto-audit/SKILL.md +++ b/.claude/skills/auto-audit/SKILL.md @@ -83,7 +83,7 @@ - `git status` で作業ツリーがクリーンか確認する.未コミットの変更があれば,無人で巻き込むのは危険なので**停止して報告**する. - 現在のブランチを確認する.`main` にいる場合は `.claude/rules/git-conventions.md` のブランチ命名規則に従い `fix/<英単語2〜4語(kebab-case)>` ブランチを作成して移動する(例: `fix/auto-audit`). - 既に `fix/` ブランチにいる場合はそれを使う.`feature/`・`refactor/` 等の他作業ブランチにいる場合は,混在を避けるため**停止して確認を求める**. -3. **検証スイートの特定**:構成ファイル(`package.json`,`pubspec.yaml`,`Cargo.toml`,`go.mod`,`pyproject.toml`/`pytest.ini` 等)から,以下を特定する. +3. **検証スイートの特定**:`docs/02_ENV/ENV_04_開発コマンド.md` が存在すればまずそれを参照する.無ければ(または記載が不足していれば)構成ファイル(`package.json`,`pubspec.yaml`,`Cargo.toml`,`go.mod`,`pyproject.toml`/`pytest.ini` 等)から,以下を特定する. - **テスト実行コマンドとフレームワーク**(必須). - 利用可能なら **ビルド/型チェック/リンタのコマンド**(例: `tsc --noEmit`,`cargo build`,`go build ./...`,`flutter analyze`,`npm run lint` 等). - 以降,**「検証スイート」= テスト+(あれば)ビルド/型チェック/リンタ** をまとめて指す. diff --git a/.claude/skills/auto-refactor/SKILL.md b/.claude/skills/auto-refactor/SKILL.md index e0b4b84..ebd9ecb 100644 --- a/.claude/skills/auto-refactor/SKILL.md +++ b/.claude/skills/auto-refactor/SKILL.md @@ -83,7 +83,7 @@ - `git status` で作業ツリーがクリーンか確認する.未コミットの変更があれば,無人で巻き込むのは危険なので**停止して報告**する. - 現在のブランチを確認する.`main` にいる場合は `.claude/rules/git-conventions.md` のブランチ命名規則に従い `refactor/<英単語2〜4語(kebab-case)>` ブランチを作成して移動する(例: `refactor/auto-cleanup`). - 既に `refactor/` ブランチにいる場合はそれを使う.`feature/` 等の他作業ブランチにいる場合は,混在を避けるため**停止して確認を求める**. -3. **検証スイートの特定**:プロジェクトの構成ファイル(`package.json`,`pubspec.yaml`,`Cargo.toml`,`go.mod`,`pyproject.toml`/`pytest.ini` 等)から,以下を特定する. +3. **検証スイートの特定**:`docs/02_ENV/ENV_04_開発コマンド.md` が存在すればまずそれを参照する.無ければ(または記載が不足していれば)プロジェクトの構成ファイル(`package.json`,`pubspec.yaml`,`Cargo.toml`,`go.mod`,`pyproject.toml`/`pytest.ini` 等)から,以下を特定する. - **テスト実行コマンドとフレームワーク**(必須). - 利用可能なら **ビルド/型チェック/リンタのコマンド**(例: `tsc --noEmit`,`cargo build`,`go build ./...`,`flutter analyze`,`npm run lint` 等).これらは「テスト緑」だけでは拾えないコンパイル破壊やリンタ違反を検出する追加の安全網になる. - 以降,**「検証スイート」= テスト+(あれば)ビルド/型チェック/リンタ** をまとめて指す.緑の判定はこの検証スイート全体で行う. diff --git a/.claude/skills/implement/SKILL.md b/.claude/skills/implement/SKILL.md index b84d2d7..0b02744 100644 --- a/.claude/skills/implement/SKILL.md +++ b/.claude/skills/implement/SKILL.md @@ -79,6 +79,7 @@ - API・データ構造の変更 → `docs/04_SPEC/` の該当仕様を更新 - 環境・依存関係の変更 → `docs/02_ENV/` を更新 +- 起動・テスト・lint 等の開発コマンドの追加・変更 → `docs/02_ENV/ENV_04_開発コマンド.md` を更新(無ければ作成し,CLAUDE.md のドキュメント一覧にリンクを追記する) - 開発ステップの進捗 → `docs/03_PLAN/` や進捗記録(`CLAUDE.md` の進捗欄+ `docs/PROGRESS.md`)を更新(書式は進捗記録ルール `.claude/rules/progress-log.md` に従う.CLAUDE.md は最新 1 行に上書き,`docs/PROGRESS.md` に詳細を末尾追記.`git log` で取れる詳細は書かない) - 規約・運用ルールの変更 → `docs/01_GUIDE/` を更新 - 該当なし(軽微なバグ修正,リファクタリングのみ等)→ 更新をスキップしてよい diff --git a/CLAUDE.md b/CLAUDE.md index 1b61dc3..37ab4a0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -27,6 +27,11 @@ - Phase 2 成功後は Phase 3 → Phase 4 まで自動で進む(Phase 4 で更新がある場合のみ確認) - テスト・リファクタリングをスキップしない +### 開発コマンド + +- 起動・テスト・lint 等の開発コマンドは `docs/02_ENV/ENV_04_開発コマンド.md` にまとめる.**存在する場合は実行前に必ず参照し,推測でコマンドを試さない** +- コマンドが新しく確定・変更された時は同ファイルに反映する(無ければその時点で作成する.`/implement` の Phase 4 でも見直される) + ### 手動確認が必要な作業(自分で完了させないこと) 以下は実装完了後にユーザーへ報告し,確認・実施を依頼すること. 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 2362612..f277852 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" @@ -9,7 +9,7 @@ | -------- | ---------------------------------------------- | ---------------------------------------------------------- | | 方針決定 | プロジェクトの目的・スコープを決める | `PLAN_01_要件定義書.md` | | 技術選定 | 言語・フレームワーク・インフラを決める | `ENV_01_技術スタック.md` | -| 環境構築 | 開発環境のセットアップ手順を整備する | `ENV_02_環境構築手順.md`,`ENV_03_管理者用環境構築手順.md` | +| 環境構築 | 開発環境のセットアップ手順を整備する | `ENV_02_環境構築手順.md`,`ENV_03_管理者用環境構築手順.md`,`ENV_04_開発コマンド.md`(任意) | | 仕様設計 | アーキテクチャ・データモデル・画面設計を決める | `SPEC_01_*.md` | | 規約整備 | 技術スタックに応じたコーディング規約を作る | `.claude/rules/*.md` | | 開発計画 | ステップを分割し,開発順序を決める | `PLAN_02_開発ステップ.md` | @@ -58,6 +58,9 @@ - **成果物**: - `ENV_02_環境構築手順.md` — メンバーの参加時や環境の再構築時に使う手順 - `ENV_03_管理者用環境構築手順.md` — プロジェクト作成時に一度だけ行う初期設定(リポジトリ作成,外部サービスの設定等) + - `ENV_04_開発コマンド.md`(任意)— アプリの起動・テスト・lint・ビルド等,日常の開発で使うコマンド一覧.人間とエージェント(tester・coder,`/auto-refactor`・`/auto-audit`)がコマンドを推測せずに済むようにするための唯一の参照先とする + - 立ち上げ時点で確定しているコマンドが無ければ**作成を後回しにしてよい**.実装中にコマンドが確定・変更された時点で作成・追記する(`/implement` の Phase 4 で自動的に見直される) + - コマンドが増えてきたら,タスクランナー(npm scripts・Makefile 等)への集約を優先し,本ファイルは薄い一覧に保つ(「手順書より自動化・コード化」の基本方針と同じ) ## 仕様設計 (Specification)