yodogawa 2.1.0 → 2.1.3
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 +12 -0
- package/LICENSE +21 -0
- package/README.md +27 -4
- package/bin/cli.js +0 -1
- package/package.json +3 -4
- package/skills/a-001-setup-doc-structure/SKILL.md +68 -67
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -52
- package/skills/a-002-initialize-project/SKILL.md +118 -124
- package/skills/a-002-initialize-project/reference/structure-check.md +7 -7
- package/skills/a-003-create-scenarios/SKILL.md +96 -99
- package/skills/a-003-create-scenarios/reference/structure-check.md +5 -5
- package/skills/a-004-define-domain-model/SKILL.md +98 -99
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +3 -3
- package/skills/a-005-create-domain-diagram/SKILL.md +7 -7
- package/skills/a-005-create-domain-diagram/reference/structure-check.md +4 -4
- package/skills/a-006-review-requirements-domain/SKILL.md +4 -4
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +5 -5
- package/skills/a-007-define-tech-stack/SKILL.md +99 -102
- package/skills/a-007-define-tech-stack/reference/structure-check.md +5 -5
- package/skills/a-008-define-repository-structure/SKILL.md +96 -99
- package/skills/a-008-define-repository-structure/reference/structure-check.md +5 -5
- package/skills/a-009-define-screen-design/SKILL.md +103 -106
- package/skills/a-009-define-screen-design/reference/structure-check.md +5 -5
- package/skills/a-010-define-design-system/SKILL.md +130 -134
- package/skills/a-011-define-data-model/SKILL.md +118 -121
- package/skills/a-011-define-data-model/reference/structure-check.md +5 -5
- package/skills/a-012-define-api-spec/SKILL.md +105 -108
- package/skills/a-012-define-api-spec/reference/structure-check.md +5 -5
- package/skills/a-013-define-architecture/SKILL.md +98 -101
- package/skills/a-013-define-architecture/reference/structure-check.md +5 -5
- package/skills/a-014-define-infrastructure/SKILL.md +110 -113
- package/skills/a-014-define-infrastructure/reference/structure-check.md +5 -5
- package/skills/a-015-review-design/SKILL.md +8 -8
- package/skills/a-015-review-design/reference/consistency-checks.md +2 -2
- package/skills/b-001-create-task-directory/SKILL.md +68 -68
- package/skills/b-002-create-task-definition/SKILL.md +114 -115
- package/skills/b-003-create-task-research/SKILL.md +128 -130
- package/skills/b-004-create-task-implementation/SKILL.md +98 -97
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -79
- package/skills/c-001-implement-task/SKILL.md +186 -186
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -65
- package/skills/c-002-update-documentation/SKILL.md +159 -159
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +97 -100
- 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 +3 -3
- package/scripts/setup-docs.sh +0 -92
- package/templates/documentation-rules.md +0 -143
|
@@ -1,102 +1,99 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a-007-define-tech-stack
|
|
3
|
-
description: 要件とドメインモデルを踏まえて推奨技術スタックを提案し、対話で最終確定する。ドメイン設計完了後、実装技術を選定する際に使用。
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# DefineTechStack (a-007)
|
|
9
|
-
|
|
10
|
-
## 目的
|
|
11
|
-
|
|
12
|
-
- 既存の要件ドキュメント(システム概要、非機能要件、ドメインモデル)を分析し、適合する技術スタックを推奨する。
|
|
13
|
-
- 推奨案を提示した上で、ユーザーと詳細なインタビューを行い、すべての技術選定を明確化する。
|
|
14
|
-
- 技術選定の理由、バージョン、選定タイミング(初期/中期/後期/随時)を明確に記録する。
|
|
15
|
-
|
|
16
|
-
## 前提
|
|
17
|
-
|
|
18
|
-
- `docs/project/requirements/` 配下のドキュメントが作成されていること。
|
|
19
|
-
- `docs/project/domain/` 配下のドキュメントが作成されていること。
|
|
20
|
-
- `docs/project/design/` ディレクトリが存在すること(未作成なら `/a-001-setup-doc-structure`)。
|
|
21
|
-
|
|
22
|
-
## 手順
|
|
23
|
-
|
|
24
|
-
### 1. ドキュメントと前提条件の確認
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
ls -la docs/project/design/ 2>/dev/null || echo "ディレクトリが存在しません"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
要件ドキュメント(`01-system-overview.md`, `03-features-planned.md`, `04-non-functional-requirements.md`)とドメインモデル(`01-domain-model.md`)を読み込む。
|
|
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
|
-
|
|
101
|
-
- [examples/stack-interview.md](examples/stack-interview.md) — 推奨案フォーマット、レイヤー別インタビュー項目、選定タイミング区分、記入例
|
|
102
|
-
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
|
|
1
|
+
---
|
|
2
|
+
name: a-007-define-tech-stack
|
|
3
|
+
description: 要件とドメインモデルを踏まえて推奨技術スタックを提案し、対話で最終確定する。ドメイン設計完了後、実装技術を選定する際に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DefineTechStack (a-007)
|
|
9
|
+
|
|
10
|
+
## 目的
|
|
11
|
+
|
|
12
|
+
- 既存の要件ドキュメント(システム概要、非機能要件、ドメインモデル)を分析し、適合する技術スタックを推奨する。
|
|
13
|
+
- 推奨案を提示した上で、ユーザーと詳細なインタビューを行い、すべての技術選定を明確化する。
|
|
14
|
+
- 技術選定の理由、バージョン、選定タイミング(初期/中期/後期/随時)を明確に記録する。
|
|
15
|
+
|
|
16
|
+
## 前提
|
|
17
|
+
|
|
18
|
+
- `docs/project/01-requirements/` 配下のドキュメントが作成されていること。
|
|
19
|
+
- `docs/project/03-domain/` 配下のドキュメントが作成されていること。
|
|
20
|
+
- `docs/project/04-design/` ディレクトリが存在すること(未作成なら `/a-001-setup-doc-structure`)。
|
|
21
|
+
|
|
22
|
+
## 手順
|
|
23
|
+
|
|
24
|
+
### 1. ドキュメントと前提条件の確認
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ls -la docs/project/04-design/ 2>/dev/null || echo "ディレクトリが存在しません"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
要件ドキュメント(`01-system-overview.md`, `03-features-planned.md`, `04-non-functional-requirements.md`)とドメインモデル(`01-domain-model.md`)を読み込む。
|
|
31
|
+
|
|
32
|
+
### 2. テンプレートの準備
|
|
33
|
+
|
|
34
|
+
このスキルの配置ディレクトリ(`skills/a-007-define-tech-stack/`)を起点に、相対パス `../../templates/project/04-design/01-tech-stack.md` を Read で読み込み、その内容を `docs/project/04-design/01-tech-stack.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。出力先ディレクトリ(`docs/project/04-design/`)が無ければ作成する。
|
|
35
|
+
|
|
36
|
+
### 3. 要件分析と推奨技術スタックの生成
|
|
37
|
+
|
|
38
|
+
- **システム特性の分析**: アプリケーションタイプ(SPA/SSR 等)、非機能要件、ドメイン複雑度
|
|
39
|
+
- **レイヤー別推奨**: フロントエンド / バックエンド / データベース / インフラ・CI/CD / 監視・テスト
|
|
40
|
+
- **提示形式**: 各技術に「推奨理由」と「代替案」を付ける
|
|
41
|
+
|
|
42
|
+
提案フォーマットと各層の候補一覧は [examples/stack-interview.md](examples/stack-interview.md#推奨案提示フォーマット) を参照。
|
|
43
|
+
|
|
44
|
+
### 4. 詳細インタビューと選定
|
|
45
|
+
|
|
46
|
+
フィードバックを受けてレイヤーごとに詳細確認する。各レイヤーの具体的な質問項目は [examples/stack-interview.md](examples/stack-interview.md#レイヤー別インタビュー項目) を参照。
|
|
47
|
+
|
|
48
|
+
- フロントエンド: フレームワーク、TypeScript、状態管理、スタイリング
|
|
49
|
+
- バックエンド: 言語、フレームワーク、API スタイル
|
|
50
|
+
- データベース: RDBMS/NoSQL、ORM、マイグレーション
|
|
51
|
+
- インフラ: クラウド、コンテナ、IaC
|
|
52
|
+
- 開発ツール: リンター、テスト、CI/CD
|
|
53
|
+
|
|
54
|
+
### 5. ドキュメント作成
|
|
55
|
+
|
|
56
|
+
ヒアリング結果を `docs/project/04-design/01-tech-stack.md` に記入する。必須項目:
|
|
57
|
+
|
|
58
|
+
- 技術名、バージョン
|
|
59
|
+
- 選定理由(要件とのマッピング)
|
|
60
|
+
- 選定タイミング(初期/中期/後期/随時)
|
|
61
|
+
|
|
62
|
+
記入例は [examples/stack-interview.md](examples/stack-interview.md#記入例表形式) を参照。
|
|
63
|
+
|
|
64
|
+
### 6. 構造チェック
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
grep "### フロントエンド" docs/project/04-design/01-tech-stack.md \
|
|
68
|
+
&& grep "### バックエンド" docs/project/04-design/01-tech-stack.md \
|
|
69
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
73
|
+
|
|
74
|
+
### 7. Git への追加(任意)
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
git add docs/project/04-design/01-tech-stack.md
|
|
78
|
+
git commit -m "docs: 技術スタック選定ドキュメントの作成"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
詳細は [reference/structure-check.md](reference/structure-check.md#git-への追加任意) を参照。
|
|
82
|
+
|
|
83
|
+
## 完了条件
|
|
84
|
+
|
|
85
|
+
- `docs/project/04-design/01-tech-stack.md` が作成されている。
|
|
86
|
+
- すべてのレイヤーについて技術選定が完了している(または「保留」として記録されている)。
|
|
87
|
+
- 選定理由とバージョンが明確になっている。
|
|
88
|
+
- ユーザーが内容を承認している。
|
|
89
|
+
|
|
90
|
+
## エスカレーション
|
|
91
|
+
|
|
92
|
+
- **ユーザーが決められない**: 「要件に基づき、最も標準的でリスクの少ない [技術名] を仮採用とし、実装フェーズで再評価しませんか?」
|
|
93
|
+
- **コスト・学習コストの懸念**: 「初期フェーズは慣れた技術([技術名])を採用し、複雑要件が出てから移行検討しましょう。」
|
|
94
|
+
- 詳細応答例は [reference/structure-check.md](reference/structure-check.md#エスカレーション時の推奨応答) を参照。
|
|
95
|
+
|
|
96
|
+
## 参考
|
|
97
|
+
|
|
98
|
+
- [examples/stack-interview.md](examples/stack-interview.md) — 推奨案フォーマット、レイヤー別インタビュー項目、選定タイミング区分、記入例
|
|
99
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
|
|
@@ -6,16 +6,16 @@ SKILL.md 手順6〜7 で使う確認コマンドとレビュー観点。
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# フロントエンドセクションの確認
|
|
9
|
-
grep "### フロントエンド" docs/project/design/01-tech-stack.md && echo "OK" || echo "MISSING: Frontend section"
|
|
9
|
+
grep "### フロントエンド" docs/project/04-design/01-tech-stack.md && echo "OK" || echo "MISSING: Frontend section"
|
|
10
10
|
# バックエンドセクションの確認
|
|
11
|
-
grep "### バックエンド" docs/project/design/01-tech-stack.md && echo "OK" || echo "MISSING: Backend section"
|
|
11
|
+
grep "### バックエンド" docs/project/04-design/01-tech-stack.md && echo "OK" || echo "MISSING: Backend section"
|
|
12
12
|
# 技術選定理由の確認(表形式)
|
|
13
|
-
grep "|" docs/project/design/01-tech-stack.md | head -n 5
|
|
13
|
+
grep "|" docs/project/04-design/01-tech-stack.md | head -n 5
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## チェックリスト
|
|
17
17
|
|
|
18
|
-
- [ ] `docs/project/design/01-tech-stack.md` が作成されている
|
|
18
|
+
- [ ] `docs/project/04-design/01-tech-stack.md` が作成されている
|
|
19
19
|
- [ ] 主要レイヤー(FE, BE, DB, Infra, 監視/テスト)の技術が選定されている
|
|
20
20
|
- [ ] 各技術にバージョンが記載されている
|
|
21
21
|
- [ ] 選定理由が要件とマッピングされている
|
|
@@ -37,7 +37,7 @@ grep "|" docs/project/design/01-tech-stack.md | head -n 5
|
|
|
37
37
|
## Git への追加(任意)
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
git add docs/project/design/01-tech-stack.md
|
|
40
|
+
git add docs/project/04-design/01-tech-stack.md
|
|
41
41
|
git status
|
|
42
42
|
```
|
|
43
43
|
|
|
@@ -1,99 +1,96 @@
|
|
|
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
|
-
|
|
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
|
-
- [examples/structure-templates.md](examples/structure-templates.md) — パターン別ディレクトリツリー例、命名規則、依存関係ルール、コロケーション戦略
|
|
99
|
-
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、パターン選定ガイド、レビュー質問
|
|
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/04-design/01-tech-stack.md` が作成されていること(`/a-007-define-tech-stack` 実行済み)。
|
|
19
|
+
- `docs/project/03-domain/01-domain-model.md` が作成されていること(推奨)。
|
|
20
|
+
- `docs/project/04-design/` ディレクトリが存在すること。
|
|
21
|
+
|
|
22
|
+
## 手順
|
|
23
|
+
|
|
24
|
+
### 1. ドキュメントと前提条件の確認
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ls -la docs/project/04-design/01-tech-stack.md 2>/dev/null || echo "ファイルが存在しません"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`01-tech-stack.md` を読み込み、技術スタックを把握する。
|
|
31
|
+
|
|
32
|
+
### 2. テンプレートの準備
|
|
33
|
+
|
|
34
|
+
このスキルの配置ディレクトリ(`skills/a-008-define-repository-structure/`)を起点に、相対パス `../../templates/project/04-design/02-repository-structure.md` を Read で読み込み、その内容を `docs/project/04-design/02-repository-structure.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。出力先ディレクトリ(`docs/project/04-design/`)が無ければ作成する。
|
|
35
|
+
|
|
36
|
+
### 3. アーキテクチャパターンの提案
|
|
37
|
+
|
|
38
|
+
技術スタックと要件に基づき、最適なパターンを提案する。選定ガイドは [reference/structure-check.md](reference/structure-check.md#アーキテクチャパターン選定ガイド) を参照。
|
|
39
|
+
|
|
40
|
+
- レイヤード / 機能ベース / クリーンアーキテクチャ / Atomic Design / FSD
|
|
41
|
+
- 「推奨: [パターン名]」「理由: [技術スタックとの適合性、保守性]」
|
|
42
|
+
|
|
43
|
+
### 4. ディレクトリ構造の詳細定義
|
|
44
|
+
|
|
45
|
+
フィードバックを受けて以下を確定する。具体的なツリー例は [examples/structure-templates.md](examples/structure-templates.md#アーキテクチャパターン別の構成例) を参照。
|
|
46
|
+
|
|
47
|
+
- **ディレクトリ構成**: ソースルート(`src/` vs `app/`)、テスト配置、機能モジュール構成
|
|
48
|
+
- **命名規則**: ファイル名(PascalCase / camelCase / kebab-case)、識別子規則
|
|
49
|
+
- **依存関係ルール**: 上位層から下位層への依存のみ等
|
|
50
|
+
- **コロケーション戦略**: 関連ファイルをまとめるか分離するか
|
|
51
|
+
|
|
52
|
+
命名規則と依存ルールの具体例は [examples/structure-templates.md](examples/structure-templates.md#命名規則のサンプル) を参照。
|
|
53
|
+
|
|
54
|
+
### 5. ドキュメント作成
|
|
55
|
+
|
|
56
|
+
`docs/project/04-design/02-repository-structure.md` に以下を記入する:
|
|
57
|
+
|
|
58
|
+
- ディレクトリツリー図(`tree` 形式)
|
|
59
|
+
- 各ディレクトリの役割説明
|
|
60
|
+
- 採用したアーキテクチャパターンと理由
|
|
61
|
+
- 命名規則と依存ルール
|
|
62
|
+
|
|
63
|
+
### 6. 構造チェック
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
grep "project-root/" docs/project/04-design/02-repository-structure.md \
|
|
67
|
+
&& grep "## アーキテクチャパターン" docs/project/04-design/02-repository-structure.md \
|
|
68
|
+
&& grep "## 命名規則" docs/project/04-design/02-repository-structure.md \
|
|
69
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
73
|
+
|
|
74
|
+
### 7. Git への追加(任意)
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
git add docs/project/04-design/02-repository-structure.md
|
|
78
|
+
git commit -m "docs: リポジトリ構造とアーキテクチャ定義の作成"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 完了条件
|
|
82
|
+
|
|
83
|
+
- `docs/project/04-design/02-repository-structure.md` が作成されている。
|
|
84
|
+
- プロジェクトのディレクトリ構造が明確に定義されている。
|
|
85
|
+
- チーム開発に必要なルール(命名、配置、依存)が文書化されている。
|
|
86
|
+
- ユーザーが内容を承認している。
|
|
87
|
+
|
|
88
|
+
## エスカレーション
|
|
89
|
+
|
|
90
|
+
- **技術スタックと構造の不一致**: 「選択されたフレームワーク([名前])の標準構成と異なります。標準に従うか、独自構造を採用するか確認しましょう。」
|
|
91
|
+
- **構造が過度に複雑**: 「初期段階では複雑すぎる可能性があります。まずはフラットな構成から始め、必要に応じて分割することを推奨します。」
|
|
92
|
+
|
|
93
|
+
## 参考
|
|
94
|
+
|
|
95
|
+
- [examples/structure-templates.md](examples/structure-templates.md) — パターン別ディレクトリツリー例、命名規則、依存関係ルール、コロケーション戦略
|
|
96
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、パターン選定ガイド、レビュー質問
|
|
@@ -6,16 +6,16 @@ SKILL.md 手順6〜7 で使う確認コマンドとレビュー観点。
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# ディレクトリ構造図の確認
|
|
9
|
-
grep "project-root/" docs/project/design/02-repository-structure.md && echo "OK" || echo "MISSING: Directory tree"
|
|
9
|
+
grep "project-root/" docs/project/04-design/02-repository-structure.md && echo "OK" || echo "MISSING: Directory tree"
|
|
10
10
|
# アーキテクチャパターンセクションの確認
|
|
11
|
-
grep "## アーキテクチャパターン" docs/project/design/02-repository-structure.md && echo "OK" || echo "MISSING: Architecture section"
|
|
11
|
+
grep "## アーキテクチャパターン" docs/project/04-design/02-repository-structure.md && echo "OK" || echo "MISSING: Architecture section"
|
|
12
12
|
# 命名規則セクションの確認
|
|
13
|
-
grep "## 命名規則" docs/project/design/02-repository-structure.md && echo "OK" || echo "MISSING: Naming convention section"
|
|
13
|
+
grep "## 命名規則" docs/project/04-design/02-repository-structure.md && echo "OK" || echo "MISSING: Naming convention section"
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## チェックリスト
|
|
17
17
|
|
|
18
|
-
- [ ] `docs/project/design/02-repository-structure.md` が作成されている
|
|
18
|
+
- [ ] `docs/project/04-design/02-repository-structure.md` が作成されている
|
|
19
19
|
- [ ] ディレクトリツリーが技術スタックと整合している
|
|
20
20
|
- [ ] 各ディレクトリの責務が定義されている
|
|
21
21
|
- [ ] 採用アーキテクチャパターンの理由が記載されている
|
|
@@ -41,7 +41,7 @@ grep "## 命名規則" docs/project/design/02-repository-structure.md && echo "O
|
|
|
41
41
|
## Git への追加(任意)
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
git add docs/project/design/02-repository-structure.md
|
|
44
|
+
git add docs/project/04-design/02-repository-structure.md
|
|
45
45
|
git status
|
|
46
46
|
```
|
|
47
47
|
|