yodogawa 2.1.3 → 2.2.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 +134 -94
- package/LICENSE +1 -1
- package/README.md +351 -263
- package/bin/checks/id-trace.js +137 -0
- package/bin/checks/links.js +59 -0
- package/bin/checks/placeholder.js +132 -0
- package/bin/checks/structure.js +127 -0
- package/bin/cli.js +51 -67
- package/bin/commands/doctor.js +128 -0
- package/bin/commands/install.js +58 -0
- package/bin/commands/new-task.js +117 -0
- package/bin/lib/check-cli.js +19 -0
- package/bin/lib/findings.js +31 -0
- package/bin/lib/markdown.js +103 -0
- package/bin/lib/project-spec.js +138 -0
- package/bin/lib/walk-md.js +23 -0
- package/package.json +68 -55
- package/skills/a-001-setup-doc-structure/SKILL.md +68 -68
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -75
- package/skills/a-002-initialize-project/SKILL.md +145 -118
- package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
- package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
- package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
- package/skills/a-002b-define-user-stories/SKILL.md +80 -0
- package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
- package/skills/a-003-create-scenarios/SKILL.md +97 -96
- package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
- package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
- package/skills/a-004-define-domain-model/SKILL.md +107 -98
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
- package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
- package/skills/a-006-review-requirements-domain/SKILL.md +59 -22
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +27 -7
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +53 -18
- package/skills/a-007-define-tech-stack/SKILL.md +99 -99
- package/skills/a-008-define-repository-structure/SKILL.md +96 -96
- package/skills/a-009-define-screen-design/SKILL.md +103 -103
- package/skills/a-010-define-design-system/SKILL.md +130 -130
- package/skills/a-011-define-data-model/SKILL.md +118 -118
- package/skills/a-012-define-api-spec/SKILL.md +105 -105
- package/skills/a-013-define-architecture/SKILL.md +98 -98
- package/skills/a-014-define-infrastructure/SKILL.md +118 -110
- package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
- package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
- package/skills/a-015-review-design/reference/consistency-checks.md +1 -1
- package/skills/b-001-create-task-directory/SKILL.md +68 -68
- package/skills/b-002-create-task-definition/SKILL.md +114 -114
- package/skills/b-003-create-task-research/SKILL.md +128 -128
- package/skills/b-004-create-task-implementation/SKILL.md +98 -98
- 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/examples/project-doc-updates.md +4 -4
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +99 -97
- package/templates/project/01-requirements/01-product-brief.md +186 -0
- package/templates/project/01-requirements/02-mvp-scope.md +64 -0
- package/templates/project/01-requirements/03-parking-lot.md +29 -0
- package/templates/project/01-requirements/05-user-stories.md +28 -124
- package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
- package/templates/project/02-behavior/01-core-scenarios.md +80 -0
- package/templates/project/03-domain/01-domain-model.md +120 -339
- package/templates/project/03-domain/01-domain-sketch.md +90 -0
- package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
- package/templates/project/04-design/01-tech-stack.md +367 -367
- package/templates/project/04-design/02-repository-structure.md +391 -391
- package/templates/project/04-design/03-screen-design.md +596 -596
- package/templates/project/04-design/04-design-system.md +261 -261
- package/templates/project/04-design/05-data-model.md +211 -211
- package/templates/project/04-design/06-api-spec.md +226 -226
- package/templates/project/04-design/07-architecture.md +183 -183
- package/templates/project/04-design/08-infrastructure.md +180 -180
- package/templates/project/AI_CONTEXT.md +55 -0
- package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
- package/templates/tasks/task-template/a-definition.md +143 -143
- package/templates/tasks/task-template/b-research.md +185 -185
- package/templates/tasks/task-template/c-implementation.md +200 -200
- package/templates/project/01-requirements/01-system-overview.md +0 -49
- package/templates/project/01-requirements/03-features-planned.md +0 -75
|
@@ -1,153 +1,32 @@
|
|
|
1
|
-
# ユビキタス言語一覧
|
|
2
|
-
|
|
3
|
-
<!--
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- 用語の混乱や不一致が見つかった時に即座に更新
|
|
34
|
-
-->
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## [Bounded Context名]: 用語定義
|
|
39
|
-
|
|
40
|
-
<!--
|
|
41
|
-
各Bounded Contextごとにセクションを分けて用語を定義
|
|
42
|
-
同じ用語でも異なるContextでは異なる意味を持つ可能性があるため
|
|
43
|
-
|
|
44
|
-
【Bounded Context共通】セクションを作成して、プロジェクト全体で共通の用語を記述することも推奨
|
|
45
|
-
|
|
46
|
-
記載例:
|
|
47
|
-
- [Bounded Context共通]
|
|
48
|
-
- [ユーザー管理]
|
|
49
|
-
- [注文処理]
|
|
50
|
-
- [在庫管理]
|
|
51
|
-
-->
|
|
52
|
-
|
|
53
|
-
<!--
|
|
54
|
-
テーブル構成:
|
|
55
|
-
|
|
56
|
-
【用語】
|
|
57
|
-
- ドメインエキスパートが使用する正式な用語
|
|
58
|
-
- 単数形・複数形を明確に(例: Order, Orders)
|
|
59
|
-
- 日本語の場合は表記ゆれに注意(例: 「ユーザ」か「ユーザー」か統一)
|
|
60
|
-
- 略語は避け、フルスペルで記載(略語を使う場合は別途定義)
|
|
61
|
-
|
|
62
|
-
【定義】
|
|
63
|
-
- 1-3文で明確に定義
|
|
64
|
-
- そのBounded Context内での意味を正確に記述
|
|
65
|
-
- 曖昧さを排除した具体的な説明
|
|
66
|
-
- ドメインエキスパートと合意した定義
|
|
67
|
-
- 技術的な実装詳細ではなく、ビジネス的な意味を記述
|
|
68
|
-
|
|
69
|
-
【使用例】
|
|
70
|
-
- コード例: クラス名、メソッド名、変数名での使用
|
|
71
|
-
- ドキュメント例: 仕様書やユーザーストーリーでの使用
|
|
72
|
-
- 会話例: チーム内での会話での使用
|
|
73
|
-
- 複数の例を記載する場合は改行して箇条書き
|
|
74
|
-
|
|
75
|
-
記載のベストプラクティス:
|
|
76
|
-
- ドメインエキスパートとペアで作成
|
|
77
|
-
- コードに現れる用語は必ず定義
|
|
78
|
-
- 類似用語の違いを明確にする(例: Customer vs User)
|
|
79
|
-
- 動詞も含める(例: Order(注文する), Ship(出荷する))
|
|
80
|
-
- 状態遷移に関わる用語も定義(例: Pending, Confirmed, Shipped)
|
|
81
|
-
-->
|
|
82
|
-
|
|
83
|
-
| 用語 | 定義 | 使用例 |
|
|
84
|
-
|------|------|--------|
|
|
85
|
-
| <!-- 例: Order --> | <!-- 例: 顧客が商品を購入する意思を示した取引単位。確定後は変更不可 --> | <!-- 例: `class Order`, `createOrder()`, ユーザーストーリー「注文を確定する」 --> |
|
|
86
|
-
| <!-- 例: Customer --> | <!-- 例: 商品を購入する個人または組織。アカウント登録の有無は問わない --> | <!-- 例: `class Customer`, `customer.placeOrder()` --> |
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## 禁止用語
|
|
91
|
-
|
|
92
|
-
<!--
|
|
93
|
-
使用を避けるべき曖昧な用語や誤解を招く用語
|
|
94
|
-
|
|
95
|
-
目的:
|
|
96
|
-
- 用語の混乱を防ぐ
|
|
97
|
-
- 過去に問題を引き起こした用語を記録
|
|
98
|
-
- 新しいチームメンバーへの注意喚起
|
|
99
|
-
- コードレビュー時のチェックリスト
|
|
100
|
-
|
|
101
|
-
記載すべき用語:
|
|
102
|
-
- 複数の意味を持つ曖昧な用語
|
|
103
|
-
- 技術用語とビジネス用語が混在する用語
|
|
104
|
-
- 過去に混乱を招いた用語
|
|
105
|
-
- 異なるBounded Contextで異なる意味を持つ用語(誤用を防ぐため)
|
|
106
|
-
- 略語で意味が不明瞭なもの
|
|
107
|
-
|
|
108
|
-
記載のポイント:
|
|
109
|
-
- なぜ禁止なのか明確に説明
|
|
110
|
-
- 代替となる明確な用語を提示
|
|
111
|
-
- 必要に応じて複数の推奨用語を記載(文脈によって使い分け)
|
|
112
|
-
-->
|
|
113
|
-
|
|
114
|
-
| 禁止用語 | 理由 | 推奨用語 |
|
|
115
|
-
|----------|------|----------|
|
|
116
|
-
| <!-- 例: Data --> | <!-- 例: 曖昧すぎて何を指すか不明。Order Data? Customer Data? --> | <!-- 例: Order, Customer, OrderDetails(具体的に指定) --> |
|
|
117
|
-
| <!-- 例: Process --> | <!-- 例: 動詞なのか名詞なのか、どの処理なのか不明 --> | <!-- 例: PlaceOrder, ShipOrder, ConfirmPayment(具体的なアクション) --> |
|
|
118
|
-
| <!-- 例: User --> | <!-- 例: このContextではCustomerとAdminを区別する必要がある --> | <!-- 例: Customer(顧客), Admin(管理者) --> |
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## メモ
|
|
123
|
-
|
|
124
|
-
<!--
|
|
125
|
-
全体に関する補足情報
|
|
126
|
-
|
|
127
|
-
記載すべき内容:
|
|
128
|
-
- 命名規則: クラス名、メソッド名、変数名の命名パターン
|
|
129
|
-
- 表記規則: 単数形/複数形、大文字/小文字の使い分け
|
|
130
|
-
- 言語の選択: 英語/日本語の使い分けルール
|
|
131
|
-
- 更新履歴: 重要な用語変更の記録(GitコミットログへのリンクでもOK)
|
|
132
|
-
- 参考資料: ドメインに関する参考書籍、業界標準、用語集へのリンク
|
|
133
|
-
- レビューサイクル: 定期的な用語見直しのスケジュール
|
|
134
|
-
- 承認プロセス: 新しい用語を追加する際の承認フロー
|
|
135
|
-
|
|
136
|
-
コード実装との整合性:
|
|
137
|
-
- コードレビュー時にこのドキュメントを参照
|
|
138
|
-
- CI/CDでlintルールとして用語チェックを自動化(可能であれば)
|
|
139
|
-
- IDEのスニペットやテンプレートに用語を反映
|
|
140
|
-
|
|
141
|
-
コミュニケーション:
|
|
142
|
-
- ドメインエキスパートとの会話で必ずこの用語を使用
|
|
143
|
-
- ドキュメントや仕様書でもこの用語を使用
|
|
144
|
-
- 新しいチームメンバーにはオンボーディング時にこのドキュメントを共有
|
|
145
|
-
- 用語の理解度を確認するための質問リストを作成することも有効
|
|
146
|
-
|
|
147
|
-
ベストプラクティス:
|
|
148
|
-
- 用語の変更は慎重に(コード全体への影響が大きい)
|
|
149
|
-
- 用語変更時はリファクタリングタスクを作成
|
|
150
|
-
- 用語の進化を歓迎(ドメイン理解が深まる証)
|
|
151
|
-
- 図やダイアグラムを併用して理解を深める
|
|
152
|
-
- Event Stormingの成果物と連携させる
|
|
153
|
-
-->
|
|
1
|
+
# ユビキタス言語一覧
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
何のドキュメントか: プロジェクト全体で共有する共通言語の定義集(DDD)。ビジネス用語と技術用語の橋渡し。
|
|
5
|
+
使い方:
|
|
6
|
+
- ドメインエキスパートが使う言葉を優先し、ビジネス用語で記述する。クラス名・メソッド名にも反映する。
|
|
7
|
+
- Bounded Context ごとに用語を定義する(同じ語でも Context が違えば意味が異なる場合がある)。
|
|
8
|
+
- 記載のポイント・禁止用語の選び方・Living Document としての運用は
|
|
9
|
+
skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md を参照。
|
|
10
|
+
-->
|
|
11
|
+
|
|
12
|
+
## [Bounded Context名]: 用語定義
|
|
13
|
+
|
|
14
|
+
<!-- Context ごとに節を分ける。全体共通の用語は [Bounded Context共通] 節にまとめる。 -->
|
|
15
|
+
|
|
16
|
+
| 用語 | 定義 | 使用例 |
|
|
17
|
+
|------|------|--------|
|
|
18
|
+
| <!-- 例: Order --> | <!-- 例: 顧客が商品を購入する意思を示した取引単位。確定後は変更不可 --> | <!-- 例: `class Order`, `createOrder()` --> |
|
|
19
|
+
| <!-- 例: Customer --> | <!-- 例: 商品を購入する個人または組織。アカウント登録の有無は問わない --> | <!-- 例: `class Customer`, `customer.placeOrder()` --> |
|
|
20
|
+
|
|
21
|
+
## 禁止用語
|
|
22
|
+
|
|
23
|
+
<!-- 曖昧・誤解を招く用語と、その理由・推奨代替語を記録する。 -->
|
|
24
|
+
|
|
25
|
+
| 禁止用語 | 理由 | 推奨用語 |
|
|
26
|
+
|----------|------|----------|
|
|
27
|
+
| <!-- 例: Data --> | <!-- 例: 何を指すか不明(Order Data? Customer Data?) --> | <!-- 例: Order, Customer, OrderDetails --> |
|
|
28
|
+
| <!-- 例: User --> | <!-- 例: この Context では Customer と Admin を区別する必要がある --> | <!-- 例: Customer(顧客), Admin(管理者) --> |
|
|
29
|
+
|
|
30
|
+
## メモ
|
|
31
|
+
|
|
32
|
+
<!-- 命名規則 / 表記規則(単複・大文字小文字)/ 英日の使い分け / 参考資料など。運用詳細は ubiquitous-language-guide.md 参照。 -->
|