phasegate 0.183.0 → 0.191.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/guide/skills-overview.md +10 -9
- package/package.json +1 -1
- package/scripts/harness/biome-ast-engine/infrastructure/parsers/comment-density-parser.ts +51 -10
- package/scripts/harness/ci-governance/composition-root.ts +1 -1
- package/scripts/harness/ci-governance/infrastructure/adapters/adr-foundation-existence-adapter.ts +26 -2
- package/scripts/harness/ci-governance/infrastructure/adapters/harness-api-command-existence-adapter.ts +74 -1
- package/scripts/harness/phase-dependency-model/domain/ports/story-reflection-file-system-port.ts +2 -0
- package/scripts/harness/phase-dependency-model/domain/services/story-reflection-checker.ts +8 -0
- package/scripts/harness/phase-dependency-model/infrastructure/filesystem/file-system-story-reflection-adapter.ts +75 -2
- package/scripts/harness/setup/skill-deployer.ts +6 -6
- package/scripts/harness/skill-quality/domain/services/skill-structure-validator.ts +13 -2
- package/scripts/harness/skill-quality/domain/types/skill-kind.ts +6 -0
- package/scripts/harness/skill-quality/domain/value-objects/skill-structure.ts +24 -8
- package/skills/cascade-updater/SKILL.md +3 -3
- package/skills/codebase-mapper/SKILL.md +5 -5
- package/skills/codex-delegator/SKILL.md +4 -3
- package/skills/codex-delegator/references/prompt-patterns.md +3 -3
- package/skills/codex-delegator/references/review-dimensions.md +1 -1
- package/skills/consistency-checker/SKILL.md +1 -1
- package/skills/domain-designer/SKILL.md +4 -2
- package/skills/engineering-perspective/SKILL.md +1 -0
- package/skills/environment-designer/SKILL.md +8 -6
- package/skills/implementation-planner/SKILL.md +6 -4
- package/skills/implementation-readiness-checker/SKILL.md +2 -1
- package/skills/it-test-designer/SKILL.md +10 -8
- package/skills/it-test-logic-designer/SKILL.md +11 -9
- package/skills/it-test-logic-designer/references/repository-test-patterns.md +8 -1
- package/skills/logical-designer/SKILL.md +5 -3
- package/skills/mock-designer/SKILL.md +10 -6
- package/skills/phasegate-config-doctor/SKILL.md +3 -2
- package/skills/phasegate-toolkit-guide/SKILL.md +1 -0
- package/skills/pointer-validator/SKILL.md +1 -0
- package/skills/quick-implementor/SKILL.md +1 -1
- package/skills/scenario-test-designer/SKILL.md +27 -14
- package/skills/scenario-test-logic-designer/SKILL.md +10 -8
- package/skills/scenario-test-logic-designer/references/msw-patterns.md +3 -1
- package/skills/scenario-test-logic-designer/references/playwright-patterns.md +3 -1
- package/skills/skill-creator/SKILL.md +6 -5
- package/skills/story-implementor/SKILL.md +2 -0
- package/skills/story-mapper/SKILL.md +4 -4
- package/skills/story-writer/SKILL.md +5 -5
- package/skills/test-coverage-checker/SKILL.md +4 -6
- package/skills/uiux-designer/SKILL.md +4 -2
- package/skills/unit-designer/SKILL.md +8 -6
- package/skills/unit-test-designer/SKILL.md +25 -11
- package/skills/unit-test-logic-designer/SKILL.md +10 -8
- package/skills/unit-test-logic-designer/references/test-patterns.md +7 -1
|
@@ -14,7 +14,7 @@ languages: [typescript]
|
|
|
14
14
|
|
|
15
15
|
```
|
|
16
16
|
テストケース設計フェーズ
|
|
17
|
-
|
|
17
|
+
scenario-test-designer → uiux-designer → unit-test-designer → it-test-designer
|
|
18
18
|
↓
|
|
19
19
|
test-coverage-checker
|
|
20
20
|
↓
|
|
@@ -25,7 +25,7 @@ languages: [typescript]
|
|
|
25
25
|
└────────────────────────────────────────────┘
|
|
26
26
|
↓
|
|
27
27
|
TDD実装フェーズ
|
|
28
|
-
story-implementor
|
|
28
|
+
implementation-readiness-checker → story-implementor
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
## 前提条件チェック
|
|
@@ -36,9 +36,11 @@ TDD実装フェーズ
|
|
|
36
36
|
|
|
37
37
|
### 推奨インプット(あれば参照)
|
|
38
38
|
- **カバレッジレポート** — `docs/product/construction/{unit}/coverage_report.md`
|
|
39
|
-
- **既存シナリオテスト** — `e2e/tests/**/*.spec.ts
|
|
39
|
+
- **既存シナリオテスト** — 対象プロジェクトの構成(package.json scripts, playwright 設定, `phasegate.config.json` の paths)からテスト配置を特定してパターン参考にする。例(モノレポ構成の場合): `e2e/tests/**/*.spec.ts`
|
|
40
40
|
- **UIUX設計** — `docs/inception/{unit}/{story_id}/uiux_design.md`
|
|
41
|
-
- **テスト規約** — `docs/principles/testing-rules.md`
|
|
41
|
+
- **テスト規約** — `docs/principles/testing-rules.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/testing-rules.md`、phasegate リポジトリ自体では `docs/principles/testing-rules.md` を参照)
|
|
42
|
+
|
|
43
|
+
> **設計文書パスの注記:** 本スキルが扱う `docs/product/construction/{unit}/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
|
|
42
44
|
|
|
43
45
|
---
|
|
44
46
|
|
|
@@ -63,7 +65,7 @@ TDD実装フェーズ
|
|
|
63
65
|
## ⚠️ 3フェーズ実行ルール
|
|
64
66
|
|
|
65
67
|
- **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
|
|
66
|
-
- **Phase 2(実行)**:
|
|
68
|
+
- **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
|
|
67
69
|
- **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
|
|
68
70
|
|
|
69
71
|
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
|
|
@@ -184,11 +186,11 @@ TDD実装フェーズ
|
|
|
184
186
|
## Phase 3: レビュー(Opus review)
|
|
185
187
|
|
|
186
188
|
### 実行主体
|
|
187
|
-
メインセッション(
|
|
189
|
+
メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
|
|
188
190
|
|
|
189
191
|
### レビュー手順
|
|
190
192
|
1. Sonnetが出力したファイルを読み込む
|
|
191
|
-
2. `docs/principles/model-routing.md`
|
|
193
|
+
2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
|
|
192
194
|
3. **スキル固有レビュー観点**を検証する
|
|
193
195
|
4. 判定結果を出力する
|
|
194
196
|
|
|
@@ -225,7 +227,7 @@ Phase 2 で設計するシナリオ / E2E テストファイル(`*.spec.ts` /
|
|
|
225
227
|
- **テストコードは生成しない**(設計文書のみ)— 実装は `story-implementor` スキル(codex-delegator経由、またはメインセッションで直接実行)が行う
|
|
226
228
|
- 疑似コードは実装の指針となる詳細レベルで記載する
|
|
227
229
|
- TDDの「RED」フェーズで正しく失敗するテストを設計する
|
|
228
|
-
-
|
|
230
|
+
- 既存のテストパターンを参照してスタイルを統一する(テスト配置は対象プロジェクトの構成から特定する。例(モノレポ構成の場合): `e2e/tests/**/*.spec.ts`)
|
|
229
231
|
- クリーンアップを確実に行い、テスト間の独立性を保つ
|
|
230
232
|
|
|
231
233
|
---
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
scenario-test-logic-designer スキルで使用する MSW (Mock Service Worker) パターンのリファレンス。
|
|
4
4
|
|
|
5
|
+
> **配置パスについて:** 以下のモック配置ディレクトリ(`e2e/mocks/` 等)は対象プロジェクトの構成(`package.json` scripts, playwright 設定, `phasegate.config.json` の paths)から特定すること。本ファイルの具体値は例(モノレポ構成の場合)であり、テンプレート構造自体はそのまま流用してよい。
|
|
6
|
+
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
## ハンドラー テンプレート
|
|
8
10
|
|
|
9
11
|
```typescript
|
|
10
|
-
// e2e/mocks/{context}/handlers.ts
|
|
12
|
+
// 例(モノレポ構成の場合): e2e/mocks/{context}/handlers.ts
|
|
11
13
|
import { http, HttpResponse } from 'msw';
|
|
12
14
|
|
|
13
15
|
export const {context}Handlers = [
|
|
@@ -186,7 +186,7 @@ export const {SEED_NAME}_SEED = {
|
|
|
186
186
|
};
|
|
187
187
|
|
|
188
188
|
export async function seed{SeedName}(): Promise<void> {
|
|
189
|
-
// Supabase CLI
|
|
189
|
+
// プロジェクトが採用する DB/BaaS のツール・APIでデータ投入(例: Supabase CLI/API)
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
export async function cleanup{SeedName}(): Promise<void> {
|
|
@@ -222,6 +222,8 @@ export async function create{Entity}(page: Page, data: {Entity}Data): Promise<st
|
|
|
222
222
|
|
|
223
223
|
## 8. テスト実行コマンド
|
|
224
224
|
|
|
225
|
+
実行コマンドは対象プロジェクトの構成(`package.json` scripts, playwright 設定, `phasegate.config.json` の paths)から特定する。以下は例(pnpm モノレポ構成の場合)。
|
|
226
|
+
|
|
225
227
|
```bash
|
|
226
228
|
# 全シナリオテスト実行
|
|
227
229
|
pnpm --filter e2e test
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skill-creator
|
|
3
|
+
kind: advisory
|
|
3
4
|
description: Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
|
|
4
5
|
model: opus
|
|
5
6
|
languages: [typescript]
|
|
@@ -11,6 +12,8 @@ languages: [typescript]
|
|
|
11
12
|
|
|
12
13
|
This skill provides guidance for creating effective skills.
|
|
13
14
|
|
|
15
|
+
> **前提・スコープ注記**: phasegate プロジェクトのスキル規約(frontmatter の `model:` / `review:` / `languages:`、正規見出し、日本語テスト規約)が優先される。本スキル内で説明する frontmatter 制限(`name` / `description` のみ)は Anthropic の汎用配布形式の記述であり、phasegate 規約と衝突する場合は phasegate 規約に従うこと。
|
|
16
|
+
|
|
14
17
|
## About Skills
|
|
15
18
|
|
|
16
19
|
Skills are modular, self-contained packages that extend Codex's capabilities by providing
|
|
@@ -301,12 +304,10 @@ When editing the (newly-generated or existing) skill, remember that the skill is
|
|
|
301
304
|
|
|
302
305
|
#### Learn Proven Design Patterns
|
|
303
306
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
- **Multi-step processes**: See references/workflows.md for sequential workflows and conditional logic
|
|
307
|
-
- **Specific output formats or quality standards**: See references/output-patterns.md for template and example patterns
|
|
307
|
+
Apply these proven design patterns based on your skill's needs:
|
|
308
308
|
|
|
309
|
-
|
|
309
|
+
- **Multi-step processes**: Describe the workflow as an explicit ordered sequence of steps, and use conditional branches (e.g. "if X, do Y; otherwise Z") so the executing instance always knows the next action.
|
|
310
|
+
- **Specific output formats or quality standards**: Embed a concrete template or worked example directly in the skill body and state the acceptance criteria, so outputs are reproducible and verifiable.
|
|
310
311
|
|
|
311
312
|
#### Start with Reusable Skill Contents
|
|
312
313
|
|
|
@@ -38,6 +38,8 @@ languages: [typescript]
|
|
|
38
38
|
| `docs/inception/{unit}/{story_id}/scenario_test_design.md` | 📋 推奨 | シナリオテスト設計の存在を確認 |
|
|
39
39
|
| `docs/product/construction/{unit}/uiux_design.md` | 📋 推奨 | UIUX設計の存在を確認(フロントエンドがある場合) |
|
|
40
40
|
|
|
41
|
+
> **パス注記**: 上表の設計文書パス(`docs/product/construction/...` / `docs/inception/...` / `docs/product/environment_contract.md`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
|
|
42
|
+
|
|
41
43
|
### テスト設計・ロジック設計の事前チェック
|
|
42
44
|
|
|
43
45
|
**TDD実装の前に、テスト設計が完了していることを確認してください。テスト設計が不足している場合、テスト漏れのリスクがあります。**
|
|
@@ -66,10 +66,10 @@ languages: [typescript]
|
|
|
66
66
|
|
|
67
67
|
**このスキルは3フェーズで実行する。**
|
|
68
68
|
- **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
|
|
69
|
-
- **Phase 2(実行)**:
|
|
69
|
+
- **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
|
|
70
70
|
- **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
|
|
71
71
|
|
|
72
|
-
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md`
|
|
72
|
+
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照(consumer プロジェクトでは `node_modules/phasegate/docs/principles/model-routing.md`、phasegate 自リポジトリでは `docs/principles/model-routing.md` を参照する)。**
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
@@ -191,11 +191,11 @@ MVPスコープの方針・分類基準・不明点を整理し、人間の承
|
|
|
191
191
|
## Phase 3: レビュー(Opus review)
|
|
192
192
|
|
|
193
193
|
### 実行主体
|
|
194
|
-
メインセッション(
|
|
194
|
+
メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
|
|
195
195
|
|
|
196
196
|
### レビュー手順
|
|
197
197
|
1. Sonnetが出力したファイルを読み込む
|
|
198
|
-
2. `docs/principles/model-routing.md`
|
|
198
|
+
2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
|
|
199
199
|
3. **スキル固有レビュー観点**を検証する
|
|
200
200
|
4. 判定結果を出力する
|
|
201
201
|
|
|
@@ -15,7 +15,7 @@ languages: [typescript]
|
|
|
15
15
|
## Pre-flight check (BLOCKING)
|
|
16
16
|
|
|
17
17
|
Before generating any plan, verify `docs/inception/{unit}/WI-XXX/description.md` exists.
|
|
18
|
-
If not, halt and ask the user to create the WI first, or offer to run `phasegate scaffold-wi <unit> <story|issue|chore>`.
|
|
18
|
+
If not, halt and ask the user to create the WI first, or offer to run `phasegate scaffold-wi <unit|_cross> <story|issue|fix|refactor|chore>`.
|
|
19
19
|
|
|
20
20
|
### 必須インプット(存在しなければ`[Question]`で提供を要求)
|
|
21
21
|
- **要求文書** — 何を作るかを記述した文書。形式は問わない(議事録、要件メモ、口頭要約のテキスト等)
|
|
@@ -30,10 +30,10 @@ If not, halt and ask the user to create the WI first, or offer to run `phasegate
|
|
|
30
30
|
|
|
31
31
|
**このスキルは3フェーズで実行する。**
|
|
32
32
|
- **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
|
|
33
|
-
- **Phase 2(実行)**:
|
|
33
|
+
- **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
|
|
34
34
|
- **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
|
|
35
35
|
|
|
36
|
-
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md`
|
|
36
|
+
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照(consumer プロジェクトでは `node_modules/phasegate/docs/principles/model-routing.md`、phasegate 自リポジトリでは `docs/principles/model-routing.md` を参照する)。**
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
@@ -120,11 +120,11 @@ If not, halt and ask the user to create the WI first, or offer to run `phasegate
|
|
|
120
120
|
## Phase 3: レビュー(Opus review)
|
|
121
121
|
|
|
122
122
|
### 実行主体
|
|
123
|
-
メインセッション(
|
|
123
|
+
メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
|
|
124
124
|
|
|
125
125
|
### レビュー手順
|
|
126
126
|
1. Sonnetが出力したファイルを読み込む
|
|
127
|
-
2. `docs/principles/model-routing.md`
|
|
127
|
+
2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
|
|
128
128
|
3. **スキル固有レビュー観点**を検証する
|
|
129
129
|
4. 判定結果を出力する
|
|
130
130
|
|
|
@@ -14,7 +14,7 @@ languages: [typescript]
|
|
|
14
14
|
|
|
15
15
|
```
|
|
16
16
|
テストケース設計フェーズ
|
|
17
|
-
scenario-test-designer →
|
|
17
|
+
scenario-test-designer → uiux-designer → unit-test-designer → it-test-designer
|
|
18
18
|
↓
|
|
19
19
|
┌───────────────────────────┐
|
|
20
20
|
│ test-coverage-checker │ ← ここで実行
|
|
@@ -25,7 +25,7 @@ languages: [typescript]
|
|
|
25
25
|
*-test-logic-designer(各レベル)
|
|
26
26
|
↓
|
|
27
27
|
TDD実装フェーズ
|
|
28
|
-
story-implementor
|
|
28
|
+
implementation-readiness-checker → story-implementor
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
## 前提条件チェック
|
|
@@ -233,7 +233,7 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
|
|
|
233
233
|
## Phase 3: レビュー(Opus review)
|
|
234
234
|
|
|
235
235
|
### 実行主体
|
|
236
|
-
メインセッション(
|
|
236
|
+
メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
|
|
237
237
|
|
|
238
238
|
### レビュー手順
|
|
239
239
|
1. Sonnetが出力したファイルを読み込む
|
|
@@ -357,9 +357,7 @@ UIUX設計で定義された全画面がシナリオテストでカバーされ
|
|
|
357
357
|
3. **`test-coverage-checker`** → カバレッジ再検証(本スキル)
|
|
358
358
|
4. **`unit-test-logic-designer`** → ユニットテストロジック設計
|
|
359
359
|
5. **`it-test-logic-designer`** → ITテストロジック設計
|
|
360
|
-
6.
|
|
361
|
-
- `model-tdd-executor` → ユニットテスト
|
|
362
|
-
- `it-tdd-executor` → ITテスト
|
|
360
|
+
6. **`story-implementor`** → テスト実装(RED→GREEN)を含むTDD実装
|
|
363
361
|
|
|
364
362
|
### 注意事項
|
|
365
363
|
|
|
@@ -16,7 +16,7 @@ languages: [typescript]
|
|
|
16
16
|
- **論理設計** — `docs/product/construction/{unit}/logical_design.md` または ストーリー固有論理設計
|
|
17
17
|
|
|
18
18
|
### 任意インプット(あれば参照)
|
|
19
|
-
- **UIモック** —
|
|
19
|
+
- **UIモック** — プロジェクトルート相対の `mock/` ディレクトリ配下の `*.html`(mock-designer の出力先。初期デザイン意図の参考)
|
|
20
20
|
- **既存UI実装** — 関連する既存画面コンポーネント
|
|
21
21
|
- **既存UIUX設計** — `docs/product/construction/{unit}/uiux_design.md`(更新時に参照)
|
|
22
22
|
- **デザインシステム** — 色・フォント・コンポーネント規約
|
|
@@ -34,7 +34,9 @@ languages: [typescript]
|
|
|
34
34
|
|---------|------|------------|
|
|
35
35
|
| `docs/inception/{unit}/{story_id}/scenario_test_design.md` | ✅ 必須 | シナリオテスト設計の存在を確認 |
|
|
36
36
|
| `docs/product/construction/{unit}/logical_design.md` | ✅ 必須 | 論理設計の存在を確認 |
|
|
37
|
-
|
|
|
37
|
+
| `mock/*.html`(プロジェクトルート相対、mock-designer の出力先) | 📋 推奨 | 初期モックの存在を確認 |
|
|
38
|
+
|
|
39
|
+
> **パス注記**: 上表の設計文書パス(`docs/inception/...` / `docs/product/construction/...`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
|
|
38
40
|
|
|
39
41
|
### 上位設計が存在しない場合のアクション
|
|
40
42
|
|
|
@@ -24,7 +24,7 @@ languages: [typescript]
|
|
|
24
24
|
|
|
25
25
|
## ⚠️ 上位レイヤー存在チェック
|
|
26
26
|
|
|
27
|
-
**このスキルは AIDLC Step
|
|
27
|
+
**このスキルは AIDLC Step 1.2「Unitの設計」に対応します。実行前に上位設計の存在を確認してください。**
|
|
28
28
|
|
|
29
29
|
### 依存する上位設計文書
|
|
30
30
|
|
|
@@ -65,10 +65,10 @@ languages: [typescript]
|
|
|
65
65
|
|
|
66
66
|
**このスキルは3フェーズで実行する。**
|
|
67
67
|
- **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
|
|
68
|
-
- **Phase 2(実行)**:
|
|
68
|
+
- **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
|
|
69
69
|
- **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
|
|
70
70
|
|
|
71
|
-
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md`
|
|
71
|
+
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照(consumer プロジェクトでは `node_modules/phasegate/docs/principles/model-routing.md`、phasegate 自リポジトリでは `docs/principles/model-routing.md` を参照する)。**
|
|
72
72
|
|
|
73
73
|
---
|
|
74
74
|
|
|
@@ -80,6 +80,8 @@ Unit分割の方針・グルーピングの根拠・不明点を整理し、人
|
|
|
80
80
|
### 出力ファイル
|
|
81
81
|
`docs/inception/_shared/unit_design_plan.md`
|
|
82
82
|
|
|
83
|
+
> **パス注記**: 本スキルが扱う設計文書パス(`docs/inception/...` / `docs/product/units/...`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
|
|
84
|
+
|
|
83
85
|
### 計画ファイルの構成
|
|
84
86
|
|
|
85
87
|
```markdown
|
|
@@ -157,7 +159,7 @@ Unit分割の方針・グルーピングの根拠・不明点を整理し、人
|
|
|
157
159
|
|
|
158
160
|
## 🔗 成果物のトレーサビリティメタデータ(必須)
|
|
159
161
|
|
|
160
|
-
Phase 2 で生成する Unit 定義文書には、以下 2 種類のメタデータを emit
|
|
162
|
+
Phase 2 で生成する Unit 定義文書には、以下 2 種類のメタデータを emit する。これらのメタデータは `npx phasegate validate-metadata` / pre-commit で自動チェックされる。
|
|
161
163
|
|
|
162
164
|
### 1. YAML frontmatter(新規作成時)
|
|
163
165
|
|
|
@@ -199,11 +201,11 @@ Phase 3 レビューで以下を BLOCK 基準として確認する:
|
|
|
199
201
|
## Phase 3: レビュー(Opus review)
|
|
200
202
|
|
|
201
203
|
### 実行主体
|
|
202
|
-
メインセッション(
|
|
204
|
+
メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
|
|
203
205
|
|
|
204
206
|
### レビュー手順
|
|
205
207
|
1. Sonnetが出力したファイルを読み込む
|
|
206
|
-
2. `docs/principles/model-routing.md`
|
|
208
|
+
2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
|
|
207
209
|
3. **スキル固有レビュー観点**を検証する
|
|
208
210
|
4. 判定結果を出力する
|
|
209
211
|
|
|
@@ -17,9 +17,11 @@ languages: [typescript]
|
|
|
17
17
|
|
|
18
18
|
### 任意インプット(あれば参照)
|
|
19
19
|
- **論理設計** — `docs/product/construction/{unit}/logical_design.md`
|
|
20
|
-
- **テスト規約** — `docs/principles/testing-rules.md`
|
|
20
|
+
- **テスト規約** — `docs/principles/testing-rules.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/testing-rules.md`、phasegate リポジトリ自体では `docs/principles/testing-rules.md` を参照)
|
|
21
21
|
- **既存ユニットテスト** — 既存パターンの参考
|
|
22
22
|
|
|
23
|
+
> **設計文書パスの注記:** 上記および本スキルが扱う `docs/product/construction/{unit}/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
|
|
24
|
+
|
|
23
25
|
---
|
|
24
26
|
|
|
25
27
|
## ⛔ スキップ禁止
|
|
@@ -35,14 +37,18 @@ languages: [typescript]
|
|
|
35
37
|
```
|
|
36
38
|
scenario-test-designer
|
|
37
39
|
↓
|
|
38
|
-
|
|
40
|
+
uiux-designer
|
|
39
41
|
↓
|
|
40
42
|
unit-test-designer(本スキル)← ユニットテストケース設計
|
|
41
43
|
↓
|
|
44
|
+
it-test-designer
|
|
45
|
+
↓
|
|
42
46
|
test-coverage-checker ← カバレッジ検証(ここでテストケース設計の網羅性をチェック)
|
|
43
47
|
↓
|
|
44
48
|
テストロジック設計
|
|
45
49
|
↓
|
|
50
|
+
implementation-readiness-checker
|
|
51
|
+
↓
|
|
46
52
|
story-implementor ← TDD実装
|
|
47
53
|
```
|
|
48
54
|
|
|
@@ -78,7 +84,7 @@ story-implementor ← TDD実装
|
|
|
78
84
|
|
|
79
85
|
**このスキルは3フェーズで実行する。**
|
|
80
86
|
- **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
|
|
81
|
-
- **Phase 2(実行)**:
|
|
87
|
+
- **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
|
|
82
88
|
- **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
|
|
83
89
|
|
|
84
90
|
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
|
|
@@ -150,11 +156,11 @@ story-implementor ← TDD実装
|
|
|
150
156
|
## Phase 3: レビュー(Opus review)
|
|
151
157
|
|
|
152
158
|
### 実行主体
|
|
153
|
-
メインセッション(
|
|
159
|
+
メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
|
|
154
160
|
|
|
155
161
|
### レビュー手順
|
|
156
162
|
1. Sonnetが出力したファイルを読み込む
|
|
157
|
-
2. `docs/principles/model-routing.md`
|
|
163
|
+
2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
|
|
158
164
|
3. **スキル固有レビュー観点**を検証する
|
|
159
165
|
4. 判定結果を出力する
|
|
160
166
|
|
|
@@ -192,34 +198,42 @@ story-implementor ← TDD実装
|
|
|
192
198
|
|
|
193
199
|
ユニットテストケース設計完了後、以下の順序で進めてください:
|
|
194
200
|
|
|
201
|
+
### テストケース設計フェーズ(続き)
|
|
202
|
+
1. **ITテストケース設計** — UseCase/Repository/Controllerのテストケース
|
|
203
|
+
- `it-test-designer` スキルを実行
|
|
204
|
+
|
|
195
205
|
### カバレッジ検証フェーズ
|
|
196
|
-
|
|
206
|
+
2. **テストカバレッジ検証** — テストケース設計の網羅性チェック
|
|
197
207
|
- `test-coverage-checker` スキルを実行
|
|
198
208
|
- 受け入れ基準・ドメインロジック・UseCaseのカバレッジを確認
|
|
199
209
|
- カバレッジ90%以上を目指す
|
|
200
210
|
|
|
201
211
|
### テストロジック設計フェーズ
|
|
202
|
-
|
|
212
|
+
3. **テストロジック設計** — 各レベルの実装ロジックを詳細設計
|
|
203
213
|
- `unit-test-logic-designer` — ユニットテストの疑似コード設計
|
|
204
214
|
- `it-test-logic-designer` — ITテストの疑似コード設計
|
|
205
215
|
- `scenario-test-logic-designer` — シナリオテストの疑似コード設計
|
|
206
216
|
|
|
207
217
|
### TDD実装フェーズ
|
|
208
|
-
|
|
218
|
+
4. **実装準備検証** — 実装前提条件の自動検証
|
|
219
|
+
- `implementation-readiness-checker` スキルを実行
|
|
220
|
+
5. **TDD実装** — Unit → IT → E2E の順序で実装
|
|
209
221
|
- `story-implementor` スキルを実行
|
|
210
222
|
|
|
211
223
|
**推奨フロー図:**
|
|
212
224
|
```
|
|
213
|
-
scenario-test-designer
|
|
214
|
-
↓
|
|
215
|
-
it-test-designer
|
|
225
|
+
scenario-test-designer → uiux-designer
|
|
216
226
|
↓
|
|
217
227
|
unit-test-designer(本スキル)
|
|
218
228
|
↓
|
|
229
|
+
it-test-designer
|
|
230
|
+
↓
|
|
219
231
|
test-coverage-checker ← テストケース設計の網羅性チェック
|
|
220
232
|
↓
|
|
221
233
|
unit-test-logic-designer → it-test-logic-designer → scenario-test-logic-designer
|
|
222
234
|
↓
|
|
235
|
+
implementation-readiness-checker
|
|
236
|
+
↓
|
|
223
237
|
story-implementor ← TDD実装
|
|
224
238
|
```
|
|
225
239
|
|
|
@@ -14,7 +14,7 @@ Unitテストケース設計(`unit_test_design.md`)を元に、Vitest実装
|
|
|
14
14
|
|
|
15
15
|
```
|
|
16
16
|
テストケース設計フェーズ
|
|
17
|
-
|
|
17
|
+
scenario-test-designer → uiux-designer → unit-test-designer → it-test-designer
|
|
18
18
|
↓
|
|
19
19
|
test-coverage-checker
|
|
20
20
|
↓
|
|
@@ -25,7 +25,7 @@ Unitテストケース設計(`unit_test_design.md`)を元に、Vitest実装
|
|
|
25
25
|
it-test-logic-designer → scenario-test-logic-designer
|
|
26
26
|
↓
|
|
27
27
|
TDD実装フェーズ
|
|
28
|
-
story-implementor
|
|
28
|
+
implementation-readiness-checker → story-implementor
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
## 前提条件チェック
|
|
@@ -36,8 +36,10 @@ TDD実装フェーズ
|
|
|
36
36
|
|
|
37
37
|
### 推奨インプット(あれば参照)
|
|
38
38
|
- **カバレッジレポート** — `docs/product/construction/{unit}/coverage_report.md`
|
|
39
|
-
- **既存ユニットテスト** — `backend/test/unit/**/*.test.ts
|
|
40
|
-
- **テスト規約** — `docs/principles/testing-rules.md`
|
|
39
|
+
- **既存ユニットテスト** — 対象プロジェクトの構成(package.json scripts, vitest 設定, `phasegate.config.json` の paths)からテスト配置を特定してパターン参考にする。例(モノレポ構成の場合): `backend/test/unit/**/*.test.ts`
|
|
40
|
+
- **テスト規約** — `docs/principles/testing-rules.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/testing-rules.md`、phasegate リポジトリ自体では `docs/principles/testing-rules.md` を参照)
|
|
41
|
+
|
|
42
|
+
> **設計文書パスの注記:** 本スキルが扱う `docs/product/construction/{unit}/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
|
|
41
43
|
|
|
42
44
|
---
|
|
43
45
|
|
|
@@ -61,7 +63,7 @@ TDD実装フェーズ
|
|
|
61
63
|
## ⚠️ 3フェーズ実行ルール
|
|
62
64
|
|
|
63
65
|
- **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
|
|
64
|
-
- **Phase 2(実行)**:
|
|
66
|
+
- **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
|
|
65
67
|
- **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
|
|
66
68
|
|
|
67
69
|
**Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
|
|
@@ -168,11 +170,11 @@ TDD実装フェーズ
|
|
|
168
170
|
## Phase 3: レビュー(Opus review)
|
|
169
171
|
|
|
170
172
|
### 実行主体
|
|
171
|
-
メインセッション(
|
|
173
|
+
メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
|
|
172
174
|
|
|
173
175
|
### レビュー手順
|
|
174
176
|
1. Sonnetが出力したファイルを読み込む
|
|
175
|
-
2. `docs/principles/model-routing.md`
|
|
177
|
+
2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
|
|
176
178
|
3. **スキル固有レビュー観点**を検証する
|
|
177
179
|
4. 判定結果を出力する
|
|
178
180
|
|
|
@@ -213,7 +215,7 @@ Phase 2 で設計するテストファイル(`*.test.ts` / `*.spec.ts`)の
|
|
|
213
215
|
- **テストコードは生成しない**(設計文書のみ)— 実装は `story-implementor` が行う
|
|
214
216
|
- 疑似コードは実装の指針となる詳細レベルで記載する
|
|
215
217
|
- TDDの「RED」フェーズで正しく失敗するテストを設計する
|
|
216
|
-
-
|
|
218
|
+
- 既存のテストパターンを参照してスタイルを統一する(テスト配置は対象プロジェクトの構成から特定する。例(モノレポ構成の場合): `backend/test/unit/**/*.test.ts`)
|
|
217
219
|
|
|
218
220
|
---
|
|
219
221
|
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
unit-test-logic-designer が出力する `unit_test_logic.md` で使用するテストパターンのリファレンス。
|
|
4
4
|
|
|
5
|
+
> **配置パス・実行コマンドについて:** 以下に登場するテスト配置ディレクトリ(`backend/test/helpers/` 等)・相対インポートパス・テスト実行コマンドは、対象プロジェクトの構成(`package.json` scripts, vitest 設定, `phasegate.config.json` の paths)から特定すること。本ファイルの具体値は例(モノレポ構成の場合)であり、疑似コードのテンプレート構造自体はそのまま流用してよい。
|
|
6
|
+
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
## 1. ファクトリ関数パターン
|
|
8
10
|
|
|
9
11
|
```typescript
|
|
10
|
-
// backend/test/helpers/{context}-helper.ts
|
|
12
|
+
// 例(モノレポ構成の場合): backend/test/helpers/{context}-helper.ts
|
|
11
13
|
|
|
12
14
|
/**
|
|
13
15
|
* {集約名}のテスト用ファクトリ
|
|
@@ -24,6 +26,8 @@ export function create{Aggregate}(overrides?: Partial<{Aggregate}Props>): {Aggre
|
|
|
24
26
|
|
|
25
27
|
### 共通ヘルパーのインポート
|
|
26
28
|
|
|
29
|
+
相対インポートの階層はテストファイルとヘルパーの実配置に依存する。以下は例(モノレポ構成の場合)。
|
|
30
|
+
|
|
27
31
|
```typescript
|
|
28
32
|
import { target, context } from '../../../../helpers/common-helper.js';
|
|
29
33
|
```
|
|
@@ -195,6 +199,8 @@ expect(actual).toBe(expected);
|
|
|
195
199
|
|
|
196
200
|
## 7. テスト実行コマンド
|
|
197
201
|
|
|
202
|
+
実行コマンドは対象プロジェクトの構成(`package.json` scripts, vitest 設定, `phasegate.config.json` の paths)から特定する。以下は例(pnpm モノレポ構成の場合)。
|
|
203
|
+
|
|
198
204
|
```bash
|
|
199
205
|
# 全ユニットテスト実行
|
|
200
206
|
pnpm --filter backend test:unit
|