yodogawa 2.0.0 → 2.1.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/CHANGELOG.md +39 -0
- package/README.md +60 -22
- package/bin/cli.js +3 -7
- package/package.json +1 -1
- package/skills/a-001-setup-doc-structure/SKILL.md +67 -100
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +52 -0
- package/skills/a-002-initialize-project/SKILL.md +124 -289
- package/skills/a-002-initialize-project/examples/nfr-baseline.md +38 -0
- package/skills/a-002-initialize-project/reference/hearing-questions.md +92 -0
- package/skills/a-002-initialize-project/reference/structure-check.md +48 -0
- package/skills/a-003-create-scenarios/SKILL.md +99 -142
- package/skills/a-003-create-scenarios/examples/gherkin-templates.md +71 -0
- package/skills/a-003-create-scenarios/reference/structure-check.md +46 -0
- package/skills/a-004-define-domain-model/SKILL.md +99 -144
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +71 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +94 -120
- package/skills/a-005-create-domain-diagram/examples/mermaid-templates.md +73 -0
- package/skills/a-005-create-domain-diagram/reference/structure-check.md +43 -0
- package/skills/a-006-review-requirements-domain/SKILL.md +85 -144
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +58 -0
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +60 -0
- package/skills/a-007-define-tech-stack/SKILL.md +102 -130
- package/skills/a-007-define-tech-stack/examples/stack-interview.md +83 -0
- package/skills/a-007-define-tech-stack/reference/structure-check.md +51 -0
- package/skills/a-008-define-repository-structure/SKILL.md +99 -129
- package/skills/a-008-define-repository-structure/examples/structure-templates.md +108 -0
- package/skills/a-008-define-repository-structure/reference/structure-check.md +55 -0
- package/skills/a-009-define-screen-design/SKILL.md +106 -130
- package/skills/a-009-define-screen-design/examples/screen-templates.md +66 -0
- package/skills/a-009-define-screen-design/reference/structure-check.md +47 -0
- package/skills/a-010-define-design-system/SKILL.md +134 -212
- package/skills/a-010-define-design-system/examples/css-tokens.md +71 -0
- package/skills/a-010-define-design-system/reference/component-catalog.md +44 -0
- package/skills/a-011-define-data-model/SKILL.md +121 -134
- package/skills/a-011-define-data-model/examples/erd-templates.md +108 -0
- package/skills/a-011-define-data-model/reference/structure-check.md +56 -0
- package/skills/a-012-define-api-spec/SKILL.md +108 -132
- package/skills/a-012-define-api-spec/examples/api-templates.md +117 -0
- package/skills/a-012-define-api-spec/reference/structure-check.md +49 -0
- package/skills/a-013-define-architecture/SKILL.md +101 -128
- package/skills/a-013-define-architecture/examples/architecture-templates.md +98 -0
- package/skills/a-013-define-architecture/reference/structure-check.md +53 -0
- package/skills/a-014-define-infrastructure/SKILL.md +113 -130
- package/skills/a-014-define-infrastructure/examples/infrastructure-templates.md +97 -0
- package/skills/a-014-define-infrastructure/reference/structure-check.md +63 -0
- package/skills/a-015-review-design/SKILL.md +88 -140
- package/skills/a-015-review-design/examples/review-report-template.md +59 -0
- package/skills/a-015-review-design/reference/consistency-checks.md +47 -0
- package/skills/b-001-create-task-directory/SKILL.md +68 -78
- package/skills/b-001-create-task-directory/examples/naming-convention.md +39 -0
- package/skills/b-002-create-task-definition/SKILL.md +115 -172
- package/skills/b-002-create-task-definition/examples/hearing-and-criteria.md +49 -0
- package/skills/b-002-create-task-definition/reference/structure-check.md +42 -0
- package/skills/b-003-create-task-research/SKILL.md +130 -454
- package/skills/b-003-create-task-research/examples/research-tables.md +63 -0
- package/skills/b-003-create-task-research/reference/investigation-guide.md +106 -0
- package/skills/b-004-create-task-implementation/SKILL.md +97 -100
- package/skills/b-004-create-task-implementation/examples/phase-step-template.md +57 -0
- package/skills/b-004-create-task-implementation/reference/structure-check.md +34 -0
- package/skills/b-005-review-task/SKILL.md +117 -324
- package/skills/b-005-review-task/examples/review-report-template.md +62 -0
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -0
- package/skills/b-005-review-task/reference/consistency-checks.md +69 -0
- package/skills/c-001-implement-task/SKILL.md +186 -521
- package/skills/c-001-implement-task/examples/commit-and-pr.md +92 -0
- package/skills/c-001-implement-task/examples/task-list-format.md +50 -0
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -0
- package/skills/c-001-implement-task/reference/validation-loop.md +66 -0
- package/skills/c-002-update-documentation/SKILL.md +159 -853
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +190 -0
- package/skills/c-002-update-documentation/examples/task-doc-updates.md +102 -0
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +100 -0
- package/templates/tasks/task-template/a-definition.md +1 -1
- package/templates/tasks/task-template/b-research.md +1 -1
- package/templates/tasks/task-template/c-implementation.md +2 -2
|
@@ -1,129 +1,99 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a-008-define-repository-structure
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- `docs/project/design
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
### 2. テンプレートの準備
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
- ユーザーに確認:「作成したリポジトリ構造ドキュメントを Git に追加しますか?」
|
|
101
|
-
- 「はい」の場合、以下を実行:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
git add docs/project/design/02-repository-structure.md
|
|
105
|
-
git status
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
- 推奨コミットメッセージ:
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
docs: リポジトリ構造とアーキテクチャ定義の作成
|
|
112
|
-
|
|
113
|
-
- ディレクトリ構成、命名規則、依存関係ルールを定義
|
|
114
|
-
- 採用アーキテクチャパターン: [パターン名]
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## 完了条件
|
|
118
|
-
|
|
119
|
-
- `docs/project/design/02-repository-structure.md` が作成されている。
|
|
120
|
-
- プロジェクトのディレクトリ構造が明確に定義されている。
|
|
121
|
-
- チーム開発に必要なルール(命名、配置、依存)が文書化されている。
|
|
122
|
-
- ユーザーが内容を承認している。
|
|
123
|
-
|
|
124
|
-
## エスカレーション
|
|
125
|
-
|
|
126
|
-
- 技術スタックと構造の不一致がある場合:
|
|
127
|
-
- 「選択されたフレームワーク([名前])の標準構成と異なります。標準に従うか、独自の構造を採用するか確認しましょう。」と提案する。
|
|
128
|
-
- 構造が過度に複雑な場合:
|
|
129
|
-
- 「初期段階では複雑すぎる可能性があります。まずはフラットな構成から始め、必要に応じて分割することを推奨します。」と提案する。
|
|
1
|
+
---
|
|
2
|
+
name: a-008-define-repository-structure
|
|
3
|
+
description: 技術スタックに基づきディレクトリ構造・アーキテクチャパターン・命名規則を定義する。技術選定後、コードの配置方針を決める際に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DefineRepositoryStructure (a-008)
|
|
9
|
+
|
|
10
|
+
## 目的
|
|
11
|
+
|
|
12
|
+
- 決定された技術スタックに基づいて、最適なリポジトリ構造を定義する。
|
|
13
|
+
- アーキテクチャパターン(レイヤード、機能ベース、クリーンアーキテクチャなど)を選定する。
|
|
14
|
+
- ディレクトリの責務、命名規則、依存関係ルールを明確化する。
|
|
15
|
+
|
|
16
|
+
## 前提
|
|
17
|
+
|
|
18
|
+
- `docs/project/design/01-tech-stack.md` が作成されていること(`/a-007-define-tech-stack` 実行済み)。
|
|
19
|
+
- `docs/project/domain/01-domain-model.md` が作成されていること(推奨)。
|
|
20
|
+
- `docs/project/design/` ディレクトリが存在すること。
|
|
21
|
+
|
|
22
|
+
## 手順
|
|
23
|
+
|
|
24
|
+
### 1. ドキュメントと前提条件の確認
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ls -la docs/project/design/01-tech-stack.md 2>/dev/null || echo "ファイルが存在しません"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`01-tech-stack.md` を読み込み、技術スタックを把握する。
|
|
31
|
+
|
|
32
|
+
### 2. テンプレートの準備
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
SCRIPT_DIR=$(for d in .agent .cursor .claude .codex; do [ -d "$d" ] && echo "$d" && break; done)
|
|
36
|
+
cp "$SCRIPT_DIR/templates/project/04-design/02-repository-structure.md" "docs/project/design/02-repository-structure.md"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 3. アーキテクチャパターンの提案
|
|
40
|
+
|
|
41
|
+
技術スタックと要件に基づき、最適なパターンを提案する。選定ガイドは [reference/structure-check.md](reference/structure-check.md#アーキテクチャパターン選定ガイド) を参照。
|
|
42
|
+
|
|
43
|
+
- レイヤード / 機能ベース / クリーンアーキテクチャ / Atomic Design / FSD
|
|
44
|
+
- 「推奨: [パターン名]」「理由: [技術スタックとの適合性、保守性]」
|
|
45
|
+
|
|
46
|
+
### 4. ディレクトリ構造の詳細定義
|
|
47
|
+
|
|
48
|
+
フィードバックを受けて以下を確定する。具体的なツリー例は [examples/structure-templates.md](examples/structure-templates.md#アーキテクチャパターン別の構成例) を参照。
|
|
49
|
+
|
|
50
|
+
- **ディレクトリ構成**: ソースルート(`src/` vs `app/`)、テスト配置、機能モジュール構成
|
|
51
|
+
- **命名規則**: ファイル名(PascalCase / camelCase / kebab-case)、識別子規則
|
|
52
|
+
- **依存関係ルール**: 上位層から下位層への依存のみ等
|
|
53
|
+
- **コロケーション戦略**: 関連ファイルをまとめるか分離するか
|
|
54
|
+
|
|
55
|
+
命名規則と依存ルールの具体例は [examples/structure-templates.md](examples/structure-templates.md#命名規則のサンプル) を参照。
|
|
56
|
+
|
|
57
|
+
### 5. ドキュメント作成
|
|
58
|
+
|
|
59
|
+
`docs/project/design/02-repository-structure.md` に以下を記入する:
|
|
60
|
+
|
|
61
|
+
- ディレクトリツリー図(`tree` 形式)
|
|
62
|
+
- 各ディレクトリの役割説明
|
|
63
|
+
- 採用したアーキテクチャパターンと理由
|
|
64
|
+
- 命名規則と依存ルール
|
|
65
|
+
|
|
66
|
+
### 6. 構造チェック
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
grep "project-root/" docs/project/design/02-repository-structure.md \
|
|
70
|
+
&& grep "## アーキテクチャパターン" docs/project/design/02-repository-structure.md \
|
|
71
|
+
&& grep "## 命名規則" docs/project/design/02-repository-structure.md \
|
|
72
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
76
|
+
|
|
77
|
+
### 7. Git への追加(任意)
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
git add docs/project/design/02-repository-structure.md
|
|
81
|
+
git commit -m "docs: リポジトリ構造とアーキテクチャ定義の作成"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 完了条件
|
|
85
|
+
|
|
86
|
+
- `docs/project/design/02-repository-structure.md` が作成されている。
|
|
87
|
+
- プロジェクトのディレクトリ構造が明確に定義されている。
|
|
88
|
+
- チーム開発に必要なルール(命名、配置、依存)が文書化されている。
|
|
89
|
+
- ユーザーが内容を承認している。
|
|
90
|
+
|
|
91
|
+
## エスカレーション
|
|
92
|
+
|
|
93
|
+
- **技術スタックと構造の不一致**: 「選択されたフレームワーク([名前])の標準構成と異なります。標準に従うか、独自構造を採用するか確認しましょう。」
|
|
94
|
+
- **構造が過度に複雑**: 「初期段階では複雑すぎる可能性があります。まずはフラットな構成から始め、必要に応じて分割することを推奨します。」
|
|
95
|
+
|
|
96
|
+
## 参考
|
|
97
|
+
|
|
98
|
+
- [examples/structure-templates.md](examples/structure-templates.md) — パターン別ディレクトリツリー例、命名規則、依存関係ルール、コロケーション戦略
|
|
99
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、パターン選定ガイド、レビュー質問
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# ディレクトリ構造と命名規則のテンプレート
|
|
2
|
+
|
|
3
|
+
SKILL.md 手順3〜5 で使用する構造例と命名規則のサンプル。
|
|
4
|
+
|
|
5
|
+
## アーキテクチャパターン別の構成例
|
|
6
|
+
|
|
7
|
+
### レイヤードアーキテクチャ(NestJS 等)
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
project-root/
|
|
11
|
+
├── src/
|
|
12
|
+
│ ├── controllers/ # プレゼンテーション層
|
|
13
|
+
│ ├── services/ # アプリケーション層
|
|
14
|
+
│ ├── repositories/ # インフラ層
|
|
15
|
+
│ ├── domain/ # ドメイン層(Entity, VO)
|
|
16
|
+
│ └── main.ts
|
|
17
|
+
├── tests/
|
|
18
|
+
│ ├── unit/
|
|
19
|
+
│ └── e2e/
|
|
20
|
+
└── package.json
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 機能ベース(Feature-based / Next.js App Router 等)
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
project-root/
|
|
27
|
+
├── app/
|
|
28
|
+
│ ├── (auth)/
|
|
29
|
+
│ ├── dashboard/
|
|
30
|
+
│ └── layout.tsx
|
|
31
|
+
├── features/
|
|
32
|
+
│ ├── user/
|
|
33
|
+
│ │ ├── components/
|
|
34
|
+
│ │ ├── hooks/
|
|
35
|
+
│ │ └── api.ts
|
|
36
|
+
│ └── order/
|
|
37
|
+
├── components/ # 共有 UI
|
|
38
|
+
├── lib/ # 汎用ユーティリティ
|
|
39
|
+
└── package.json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### クリーンアーキテクチャ
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
project-root/
|
|
46
|
+
├── src/
|
|
47
|
+
│ ├── domain/
|
|
48
|
+
│ │ ├── entities/
|
|
49
|
+
│ │ └── usecases/
|
|
50
|
+
│ ├── application/ # Use Case interactors
|
|
51
|
+
│ ├── interface/ # Controller, Presenter
|
|
52
|
+
│ └── infrastructure/ # DB, 外部 API
|
|
53
|
+
└── tests/
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Feature-Sliced Design(FSD)/ Atomic Design
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
src/
|
|
60
|
+
├── app/
|
|
61
|
+
├── pages/
|
|
62
|
+
├── widgets/
|
|
63
|
+
├── features/
|
|
64
|
+
├── entities/
|
|
65
|
+
└── shared/
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 命名規則のサンプル
|
|
69
|
+
|
|
70
|
+
### ファイル名
|
|
71
|
+
|
|
72
|
+
| 対象 | 規則 | 例 |
|
|
73
|
+
|:--|:--|:--|
|
|
74
|
+
| React Component | PascalCase | `UserCard.tsx` |
|
|
75
|
+
| Hook | camelCase (`use` prefix) | `useAuthSession.ts` |
|
|
76
|
+
| Utility | camelCase | `formatDate.ts` |
|
|
77
|
+
| 定数ファイル | SCREAMING_SNAKE or kebab | `API_ENDPOINTS.ts` / `api-endpoints.ts` |
|
|
78
|
+
| Route (Next.js) | kebab-case | `user-settings/page.tsx` |
|
|
79
|
+
| Test | `*.test.ts` / `*.spec.ts` | `UserCard.test.tsx` |
|
|
80
|
+
|
|
81
|
+
### 識別子
|
|
82
|
+
|
|
83
|
+
- 変数/関数: camelCase
|
|
84
|
+
- 型/クラス/コンポーネント: PascalCase
|
|
85
|
+
- 定数: SCREAMING_SNAKE_CASE
|
|
86
|
+
- ディレクトリ: kebab-case
|
|
87
|
+
|
|
88
|
+
## 依存関係ルールの例
|
|
89
|
+
|
|
90
|
+
- 上位層から下位層への依存のみ許可(Presentation → Application → Domain → Infrastructure)
|
|
91
|
+
- ドメイン層は他のいかなる層にも依存しない
|
|
92
|
+
- features/ 間の直接参照は禁止。共有ロジックは shared/ または entities/ に配置
|
|
93
|
+
- インフラ層は interface 経由でドメインに注入する(DIP)
|
|
94
|
+
|
|
95
|
+
## コロケーション戦略
|
|
96
|
+
|
|
97
|
+
- 関連ファイルを機能単位でまとめる(components + hooks + styles を同階層)
|
|
98
|
+
- テストは対象ファイルと同階層(`Foo.ts` / `Foo.test.ts`)
|
|
99
|
+
- 大規模化時は features/ への移行を検討
|
|
100
|
+
|
|
101
|
+
## コミットメッセージ例
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
docs: リポジトリ構造とアーキテクチャ定義の作成
|
|
105
|
+
|
|
106
|
+
- ディレクトリ構成、命名規則、依存関係ルールを定義
|
|
107
|
+
- 採用アーキテクチャパターン: [パターン名]
|
|
108
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# 構造チェックとレビュー観点
|
|
2
|
+
|
|
3
|
+
SKILL.md 手順6〜7 で使う確認コマンドとレビュー観点。
|
|
4
|
+
|
|
5
|
+
## セクション存在確認
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# ディレクトリ構造図の確認
|
|
9
|
+
grep "project-root/" docs/project/design/02-repository-structure.md && echo "OK" || echo "MISSING: Directory tree"
|
|
10
|
+
# アーキテクチャパターンセクションの確認
|
|
11
|
+
grep "## アーキテクチャパターン" docs/project/design/02-repository-structure.md && echo "OK" || echo "MISSING: Architecture section"
|
|
12
|
+
# 命名規則セクションの確認
|
|
13
|
+
grep "## 命名規則" docs/project/design/02-repository-structure.md && echo "OK" || echo "MISSING: Naming convention section"
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## チェックリスト
|
|
17
|
+
|
|
18
|
+
- [ ] `docs/project/design/02-repository-structure.md` が作成されている
|
|
19
|
+
- [ ] ディレクトリツリーが技術スタックと整合している
|
|
20
|
+
- [ ] 各ディレクトリの責務が定義されている
|
|
21
|
+
- [ ] 採用アーキテクチャパターンの理由が記載されている
|
|
22
|
+
- [ ] 命名規則(ファイル名・識別子)が定義されている
|
|
23
|
+
- [ ] 依存関係ルールが明示されている
|
|
24
|
+
- [ ] テスト配置方針(コロケーション or 分離)が定まっている
|
|
25
|
+
|
|
26
|
+
## アーキテクチャパターン選定ガイド
|
|
27
|
+
|
|
28
|
+
| パターン | 適合するケース |
|
|
29
|
+
|:--|:--|
|
|
30
|
+
| レイヤード | 一般的なバックエンド(NestJS, Django 等) |
|
|
31
|
+
| 機能ベース | フロントエンド、モジュラーモノリス |
|
|
32
|
+
| クリーンアーキテクチャ | 複雑なドメインロジックを持つ場合 |
|
|
33
|
+
| Atomic Design / FSD | フロントエンド特化、大規模 UI |
|
|
34
|
+
|
|
35
|
+
## レビュー確認質問
|
|
36
|
+
|
|
37
|
+
- 「フレームワーク標準の構成と整合していますか?」
|
|
38
|
+
- 「チームが迷わず配置できるレベルの具体性がありますか?」
|
|
39
|
+
- 「将来の機能追加で破綻しない柔軟性がありますか?」
|
|
40
|
+
|
|
41
|
+
## Git への追加(任意)
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
git add docs/project/design/02-repository-structure.md
|
|
45
|
+
git status
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
推奨コミットメッセージ:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
docs: リポジトリ構造とアーキテクチャ定義の作成
|
|
52
|
+
|
|
53
|
+
- ディレクトリ構成、命名規則、依存関係ルールを定義
|
|
54
|
+
- 採用アーキテクチャパターン: [パターン名]
|
|
55
|
+
```
|
|
@@ -1,130 +1,106 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a-009-define-screen-design
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- `docs/project/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
###
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
- 推奨コミットメッセージ:
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
docs: 画面設計ドキュメントの作成
|
|
112
|
-
|
|
113
|
-
- 画面一覧と遷移フロー(Mermaid)を追加
|
|
114
|
-
- レスポンシブデザインポリシーを定義
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## 完了条件
|
|
118
|
-
|
|
119
|
-
- `docs/project/design/03-screen-design.md` が作成されている。
|
|
120
|
-
- 全画面のリストと役割が定義されている。
|
|
121
|
-
- 画面遷移が可視化されている。
|
|
122
|
-
- レスポンシブ対応方針が明確になっている。
|
|
123
|
-
- ユーザーが内容を承認している。
|
|
124
|
-
|
|
125
|
-
## エスカレーション
|
|
126
|
-
|
|
127
|
-
- シナリオ不足で画面が特定できない場合:
|
|
128
|
-
- 「シナリオが不足しています。`CreateScenarios` (a-003) に戻ってユーザーフローを明確にしましょう。」と提案する。
|
|
129
|
-
- 画面数が多すぎる場合:
|
|
130
|
-
- 「初期リリースには多すぎる可能性があります。MVPに必要な画面に絞り込みませんか?」と提案する。
|
|
1
|
+
---
|
|
2
|
+
name: a-009-define-screen-design
|
|
3
|
+
description: ユーザーストーリーとシナリオから画面一覧・遷移フロー・レスポンシブポリシーを定義する。技術選定後、UI/UX 設計を開始する際に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DefineScreenDesign (a-009)
|
|
9
|
+
|
|
10
|
+
## 目的
|
|
11
|
+
|
|
12
|
+
- ユーザーストーリーとシナリオを基に、必要な画面を網羅的に抽出する。
|
|
13
|
+
- 各画面の役割、アクセス権限、考慮すべき状態(Empty State 含む)を明確化する。
|
|
14
|
+
- 画面遷移フローを Mermaid 図で可視化し、ユーザーの導線を明確にする。
|
|
15
|
+
- レスポンシブデザインポリシー(ブレークポイント、デバイス対応方針)を定義する。
|
|
16
|
+
|
|
17
|
+
## 前提
|
|
18
|
+
|
|
19
|
+
- `docs/project/requirements/05-user-stories.md` が作成されていること。
|
|
20
|
+
- `docs/project/behavior/01-scenarios.md` が作成されていること。
|
|
21
|
+
- `docs/project/design/` ディレクトリが存在すること。
|
|
22
|
+
|
|
23
|
+
## 手順
|
|
24
|
+
|
|
25
|
+
### 1. ドキュメントと前提条件の確認
|
|
26
|
+
|
|
27
|
+
以下を読み込む:
|
|
28
|
+
|
|
29
|
+
- `docs/project/requirements/05-user-stories.md`
|
|
30
|
+
- `docs/project/behavior/01-scenarios.md`
|
|
31
|
+
- `docs/project/design/01-tech-stack.md`(存在する場合)
|
|
32
|
+
|
|
33
|
+
不足があれば対応スキル(`/a-002`, `/a-003`, `/a-007`)の実行を促す。
|
|
34
|
+
|
|
35
|
+
### 2. テンプレートの準備
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
SCRIPT_DIR=$(for d in .agent .cursor .claude .codex; do [ -d "$d" ] && echo "$d" && break; done)
|
|
39
|
+
cp "$SCRIPT_DIR/templates/project/04-design/03-screen-design.md" "docs/project/design/03-screen-design.md"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 3. 画面の抽出と提案
|
|
43
|
+
|
|
44
|
+
- シナリオの Given/When/Then から必要な画面を抽出。
|
|
45
|
+
- 標準画面(ログイン、404、設定等)を追加提案。
|
|
46
|
+
- 「[画面名] (役割: [説明])」の形式で一覧化。
|
|
47
|
+
|
|
48
|
+
画面一覧のテーブル例は [examples/screen-templates.md](examples/screen-templates.md#画面一覧テーブル) を参照。
|
|
49
|
+
|
|
50
|
+
### 4. 詳細定義と遷移フロー
|
|
51
|
+
|
|
52
|
+
#### 4.1 各画面の詳細
|
|
53
|
+
|
|
54
|
+
画面 ID、名称、URL パス、アクセス権限、重要な状態(Empty / Loading / Error / Success)。状態観点は [examples/screen-templates.md](examples/screen-templates.md#重要な状態の観点) を参照。
|
|
55
|
+
|
|
56
|
+
#### 4.2 画面遷移フロー
|
|
57
|
+
|
|
58
|
+
主要なユーザーフロー(認証、メイン機能、エラー)を Mermaid 図で表現する。デッドエンドがないか確認する。記述例は [examples/screen-templates.md](examples/screen-templates.md#画面遷移図mermaid) を参照。
|
|
59
|
+
|
|
60
|
+
### 5. レスポンシブデザインポリシー
|
|
61
|
+
|
|
62
|
+
技術スタック(Tailwind 等)に合わせたブレークポイントと方針を定義する。ブレークポイント表と方針例は [examples/screen-templates.md](examples/screen-templates.md#レスポンシブデザインポリシー) を参照。
|
|
63
|
+
|
|
64
|
+
### 6. ドキュメント作成
|
|
65
|
+
|
|
66
|
+
`docs/project/design/03-screen-design.md` に以下を記入する:
|
|
67
|
+
|
|
68
|
+
- 画面一覧テーブル
|
|
69
|
+
- 画面遷移図(Mermaid)
|
|
70
|
+
- レスポンシブデザインポリシー
|
|
71
|
+
|
|
72
|
+
### 7. 構造チェック
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
grep "## 画面一覧" docs/project/design/03-screen-design.md \
|
|
76
|
+
&& grep "\`\`\`mermaid" docs/project/design/03-screen-design.md \
|
|
77
|
+
&& grep "## レスポンシブデザインポリシー" docs/project/design/03-screen-design.md \
|
|
78
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
82
|
+
|
|
83
|
+
### 8. Git への追加(任意)
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
git add docs/project/design/03-screen-design.md
|
|
87
|
+
git commit -m "docs: 画面設計ドキュメントの作成"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 完了条件
|
|
91
|
+
|
|
92
|
+
- `docs/project/design/03-screen-design.md` が作成されている。
|
|
93
|
+
- 全画面のリストと役割が定義されている。
|
|
94
|
+
- 画面遷移が可視化されている。
|
|
95
|
+
- レスポンシブ対応方針が明確になっている。
|
|
96
|
+
- ユーザーが内容を承認している。
|
|
97
|
+
|
|
98
|
+
## エスカレーション
|
|
99
|
+
|
|
100
|
+
- **シナリオ不足で画面が特定できない**: 「`/a-003-create-scenarios` に戻ってユーザーフローを明確にしましょう。」
|
|
101
|
+
- **画面数が多すぎる**: 「初期リリースには多すぎる可能性があります。MVP に必要な画面に絞り込みませんか?」
|
|
102
|
+
|
|
103
|
+
## 参考
|
|
104
|
+
|
|
105
|
+
- [examples/screen-templates.md](examples/screen-templates.md) — 画面一覧テーブル、状態観点、Mermaid 遷移図、レスポンシブ方針
|
|
106
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
|