yodogawa 2.1.0 → 2.1.1

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.
Files changed (40) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +6 -0
  3. package/package.json +2 -2
  4. package/scripts/create-task.sh +77 -0
  5. package/scripts/init-project-docs.sh +90 -0
  6. package/scripts/init-task-doc.sh +77 -0
  7. package/skills/a-001-setup-doc-structure/SKILL.md +1 -1
  8. package/skills/a-001-setup-doc-structure/reference/directory-structure.md +4 -8
  9. package/skills/a-002-initialize-project/SKILL.md +37 -36
  10. package/skills/a-002-initialize-project/reference/structure-check.md +7 -7
  11. package/skills/a-003-create-scenarios/SKILL.md +11 -11
  12. package/skills/a-003-create-scenarios/reference/structure-check.md +5 -5
  13. package/skills/a-004-define-domain-model/SKILL.md +9 -9
  14. package/skills/a-004-define-domain-model/reference/event-storming-guide.md +3 -3
  15. package/skills/a-005-create-domain-diagram/SKILL.md +7 -7
  16. package/skills/a-005-create-domain-diagram/reference/structure-check.md +4 -4
  17. package/skills/a-006-review-requirements-domain/SKILL.md +4 -4
  18. package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +5 -5
  19. package/skills/a-007-define-tech-stack/SKILL.md +11 -11
  20. package/skills/a-007-define-tech-stack/reference/structure-check.md +5 -5
  21. package/skills/a-008-define-repository-structure/SKILL.md +12 -12
  22. package/skills/a-008-define-repository-structure/reference/structure-check.md +5 -5
  23. package/skills/a-009-define-screen-design/SKILL.md +14 -14
  24. package/skills/a-009-define-screen-design/reference/structure-check.md +5 -5
  25. package/skills/a-010-define-design-system/SKILL.md +9 -9
  26. package/skills/a-011-define-data-model/SKILL.md +15 -15
  27. package/skills/a-011-define-data-model/reference/structure-check.md +5 -5
  28. package/skills/a-012-define-api-spec/SKILL.md +15 -15
  29. package/skills/a-012-define-api-spec/reference/structure-check.md +5 -5
  30. package/skills/a-013-define-architecture/SKILL.md +13 -13
  31. package/skills/a-013-define-architecture/reference/structure-check.md +5 -5
  32. package/skills/a-014-define-infrastructure/SKILL.md +13 -13
  33. package/skills/a-014-define-infrastructure/reference/structure-check.md +5 -5
  34. package/skills/a-015-review-design/SKILL.md +8 -8
  35. package/skills/a-015-review-design/reference/consistency-checks.md +2 -2
  36. package/skills/b-001-create-task-directory/SKILL.md +19 -25
  37. package/skills/b-002-create-task-definition/SKILL.md +4 -4
  38. package/skills/b-003-create-task-research/SKILL.md +4 -5
  39. package/skills/b-004-create-task-implementation/SKILL.md +5 -3
  40. package/skills/c-001-implement-task/SKILL.md +1 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 tkysi-mi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -238,3 +238,9 @@ description: プロジェクトのドキュメントディレクトリ構造を
238
238
 
239
239
  - **`name`**: スキルの識別子(kebab-case)
240
240
  - **`description`**: AIエージェントがスキルを呼び出すトリガーとなる説明文
241
+
242
+ ---
243
+
244
+ ## ライセンス
245
+
246
+ [MIT License](LICENSE) — Copyright (c) 2025 tkysi-mi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yodogawa",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "CLI to install Yodogawa Slash Commands workflows",
5
5
  "bin": {
6
6
  "yodogawa": "bin/cli.js"
@@ -43,7 +43,7 @@
43
43
  "claude"
44
44
  ],
45
45
  "author": "",
46
- "license": "ISC",
46
+ "license": "MIT",
47
47
  "dependencies": {
48
48
  "fs-extra": "^11.2.0",
49
49
  "kleur": "^4.1.5",
@@ -0,0 +1,77 @@
1
+ #!/bin/bash
2
+
3
+ # create-task.sh
4
+ # docs/tasks/ 配下に連番 ID 付きのタスクディレクトリを作成するスクリプト
5
+ # Usage: bash scripts/create-task.sh <slug>
6
+ # 例: bash scripts/create-task.sh user-profile-edit
7
+
8
+ set -e
9
+
10
+ TASKS_DIR="docs/tasks"
11
+ SLUG="$1"
12
+
13
+ echo "📂 タスクディレクトリの作成を開始します..."
14
+
15
+ # 1. 引数チェック
16
+ if [ -z "$SLUG" ]; then
17
+ echo "❌ スラッグが指定されていません。"
18
+ echo " 使い方: bash scripts/create-task.sh <slug>"
19
+ echo " 例: bash scripts/create-task.sh user-profile-edit"
20
+ exit 1
21
+ fi
22
+
23
+ # 2. スラッグの形式チェック(英小文字・数字・ハイフンのみ、連続ハイフン禁止)
24
+ if ! [[ "$SLUG" =~ ^[a-z0-9]+(-[a-z0-9]+)*$ ]]; then
25
+ echo "❌ スラッグは英小文字・数字・ハイフンのみ使用できます: '$SLUG'"
26
+ echo " 例: user-profile-edit"
27
+ exit 1
28
+ fi
29
+
30
+ # 3. 単語数の警告(3〜5 語を推奨、範囲外は警告のみで続行)
31
+ WORD_COUNT=$(echo "$SLUG" | awk -F'-' '{print NF}')
32
+ if [ "$WORD_COUNT" -lt 3 ] || [ "$WORD_COUNT" -gt 5 ]; then
33
+ echo "⚠️ スラッグは 3〜5 語を推奨しています(現在: ${WORD_COUNT} 語)。"
34
+ fi
35
+
36
+ # 4. docs/tasks/ の存在確認
37
+ if [ ! -d "$TASKS_DIR" ]; then
38
+ echo "❌ '$TASKS_DIR' が存在しません。"
39
+ echo " 先に /a-001-setup-doc-structure を実行してください。"
40
+ exit 1
41
+ fi
42
+
43
+ # 5. 既存タスクから次の ID を採番
44
+ MAX_ID=0
45
+ for dir in "$TASKS_DIR"/task*; do
46
+ [ -d "$dir" ] || continue
47
+ BASENAME=$(basename "$dir")
48
+ # task000123-xxx から 000123 を抜き出す
49
+ if [[ "$BASENAME" =~ ^task([0-9]{6})- ]]; then
50
+ NUM=$((10#${BASH_REMATCH[1]}))
51
+ if [ "$NUM" -gt "$MAX_ID" ]; then
52
+ MAX_ID=$NUM
53
+ fi
54
+ fi
55
+ done
56
+
57
+ NEXT_ID=$((MAX_ID + 1))
58
+ TASK_ID=$(printf "task%06d" "$NEXT_ID")
59
+ TASK_DIR="$TASKS_DIR/${TASK_ID}-${SLUG}"
60
+
61
+ # 6. 同名ディレクトリの存在確認(理論上発生しないが保険)
62
+ if [ -d "$TASK_DIR" ]; then
63
+ echo "❌ '$TASK_DIR' は既に存在します。"
64
+ exit 1
65
+ fi
66
+
67
+ # 7. 作成
68
+ echo "🔨 ディレクトリを作成中: $TASK_DIR"
69
+ mkdir -p "$TASK_DIR"
70
+
71
+ # 8. 完了報告
72
+ echo ""
73
+ echo "✅ タスクディレクトリを作成しました。"
74
+ echo " パス: $TASK_DIR"
75
+ echo ""
76
+ echo "次のステップ:"
77
+ echo " - タスク定義書を作成する: /b-002-create-task-definition"
@@ -0,0 +1,90 @@
1
+ #!/bin/bash
2
+
3
+ # init-project-docs.sh
4
+ # templates/project/<category>/ 配下のテンプレートを
5
+ # docs/project/<category>/ へ一括コピーするスクリプト
6
+ # Usage: bash scripts/init-project-docs.sh <category>
7
+ # category: requirements | behavior | domain | design
8
+ # 例: bash scripts/init-project-docs.sh requirements
9
+
10
+ set -e
11
+
12
+ CATEGORY="$1"
13
+
14
+ # スクリプト自身の位置からテンプレートルートを解決(.claude/scripts -> .claude/templates)
15
+ SCRIPT_SELF_DIR="$(cd "$(dirname "$0")" && pwd)"
16
+ TEMPLATE_ROOT="$SCRIPT_SELF_DIR/../templates/project"
17
+
18
+ echo "📝 プロジェクトドキュメントの一括初期化を開始します..."
19
+
20
+ # 1. 引数チェック
21
+ if [ -z "$CATEGORY" ]; then
22
+ echo "❌ category 引数が指定されていません。"
23
+ echo " 使い方: bash scripts/init-project-docs.sh <category>"
24
+ echo " category: requirements | behavior | domain | design"
25
+ exit 1
26
+ fi
27
+
28
+ # 2. category を番号付きディレクトリ名にマッピング
29
+ case "$CATEGORY" in
30
+ requirements)
31
+ SUBDIR="01-requirements"
32
+ ;;
33
+ behavior)
34
+ SUBDIR="02-behavior"
35
+ ;;
36
+ domain)
37
+ SUBDIR="03-domain"
38
+ ;;
39
+ design)
40
+ SUBDIR="04-design"
41
+ ;;
42
+ *)
43
+ echo "❌ 不明な category: '$CATEGORY'"
44
+ echo " 有効な category: requirements | behavior | domain | design"
45
+ exit 1
46
+ ;;
47
+ esac
48
+
49
+ SRC_DIR="$TEMPLATE_ROOT/$SUBDIR"
50
+ DEST_DIR="docs/project/$SUBDIR"
51
+
52
+ # 3. テンプレートディレクトリの存在確認
53
+ if [ ! -d "$SRC_DIR" ]; then
54
+ echo "❌ テンプレートディレクトリが見つかりません: $SRC_DIR"
55
+ echo " yodogawa CLI での再インストールを検討してください。"
56
+ exit 1
57
+ fi
58
+
59
+ # 4. 出力先ディレクトリの存在確認
60
+ if [ ! -d "$DEST_DIR" ]; then
61
+ echo "❌ 出力先ディレクトリが存在しません: $DEST_DIR"
62
+ echo " 先に /a-001-setup-doc-structure を実行してください。"
63
+ exit 1
64
+ fi
65
+
66
+ # 5. テンプレートファイルを一括コピー(既存はスキップして冪等性を確保)
67
+ COPIED=0
68
+ SKIPPED=0
69
+
70
+ for SRC_PATH in "$SRC_DIR"/*.md; do
71
+ [ -f "$SRC_PATH" ] || continue
72
+ FILENAME=$(basename "$SRC_PATH")
73
+ DEST_PATH="$DEST_DIR/$FILENAME"
74
+
75
+ if [ -f "$DEST_PATH" ]; then
76
+ echo "ℹ️ 既に存在するためスキップ: $DEST_PATH"
77
+ SKIPPED=$((SKIPPED + 1))
78
+ else
79
+ echo "🔨 コピー中: $SRC_PATH → $DEST_PATH"
80
+ cp "$SRC_PATH" "$DEST_PATH"
81
+ COPIED=$((COPIED + 1))
82
+ fi
83
+ done
84
+
85
+ # 6. 完了報告
86
+ echo ""
87
+ echo "✅ プロジェクトドキュメントを初期化しました。"
88
+ echo " カテゴリ: $CATEGORY ($SUBDIR)"
89
+ echo " コピー: ${COPIED} ファイル / スキップ: ${SKIPPED} ファイル"
90
+ echo " パス: $DEST_DIR"
@@ -0,0 +1,77 @@
1
+ #!/bin/bash
2
+
3
+ # init-task-doc.sh
4
+ # タスクディレクトリにテンプレートから指定のドキュメントをコピーするスクリプト
5
+ # Usage: bash scripts/init-task-doc.sh <task-dir> <type>
6
+ # type: definition | research | implementation
7
+ # 例: bash scripts/init-task-doc.sh docs/tasks/task000001-user-profile-edit definition
8
+
9
+ set -e
10
+
11
+ TASK_DIR="$1"
12
+ DOC_TYPE="$2"
13
+
14
+ # スクリプト自身の位置からテンプレートルートを解決(.claude/scripts -> .claude/templates)
15
+ SCRIPT_SELF_DIR="$(cd "$(dirname "$0")" && pwd)"
16
+ TEMPLATE_ROOT="$SCRIPT_SELF_DIR/../templates/tasks/task-template"
17
+
18
+ echo "📝 タスクドキュメントの初期化を開始します..."
19
+
20
+ # 1. 引数チェック
21
+ if [ -z "$TASK_DIR" ] || [ -z "$DOC_TYPE" ]; then
22
+ echo "❌ 引数が不足しています。"
23
+ echo " 使い方: bash scripts/init-task-doc.sh <task-dir> <type>"
24
+ echo " type: definition | research | implementation"
25
+ echo " 例: bash scripts/init-task-doc.sh docs/tasks/task000001-login definition"
26
+ exit 1
27
+ fi
28
+
29
+ # 2. タスクディレクトリの存在確認
30
+ if [ ! -d "$TASK_DIR" ]; then
31
+ echo "❌ タスクディレクトリが存在しません: $TASK_DIR"
32
+ echo " 先に /b-001-create-task-directory を実行してください。"
33
+ exit 1
34
+ fi
35
+
36
+ # 3. type をファイル名にマッピング
37
+ case "$DOC_TYPE" in
38
+ definition)
39
+ SRC_FILE="a-definition.md"
40
+ ;;
41
+ research)
42
+ SRC_FILE="b-research.md"
43
+ ;;
44
+ implementation)
45
+ SRC_FILE="c-implementation.md"
46
+ ;;
47
+ *)
48
+ echo "❌ 不明な type: '$DOC_TYPE'"
49
+ echo " 有効な type: definition | research | implementation"
50
+ exit 1
51
+ ;;
52
+ esac
53
+
54
+ SRC_PATH="$TEMPLATE_ROOT/$SRC_FILE"
55
+ DEST_PATH="$TASK_DIR/$SRC_FILE"
56
+
57
+ # 4. テンプレートの存在確認
58
+ if [ ! -f "$SRC_PATH" ]; then
59
+ echo "❌ テンプレートが見つかりません: $SRC_PATH"
60
+ echo " yodogawa CLI での再インストールを検討してください。"
61
+ exit 1
62
+ fi
63
+
64
+ # 5. 既存ファイルはスキップ(冪等性)
65
+ if [ -f "$DEST_PATH" ]; then
66
+ echo "ℹ️ 既に存在するためスキップ: $DEST_PATH"
67
+ exit 0
68
+ fi
69
+
70
+ # 6. コピー
71
+ echo "🔨 コピー中: $SRC_PATH → $DEST_PATH"
72
+ cp "$SRC_PATH" "$DEST_PATH"
73
+
74
+ # 7. 完了報告
75
+ echo ""
76
+ echo "✅ タスクドキュメントを初期化しました。"
77
+ echo " パス: $DEST_PATH"
@@ -24,7 +24,7 @@ allowed-tools: Read, Write, Bash, Glob
24
24
  環境に応じたスクリプトを実行。スクリプト本体とフォールバック実装は [reference/directory-structure.md](reference/directory-structure.md#スクリプト実行コマンド) を参照。
25
25
 
26
26
  ```bash
27
- SCRIPT_DIR=$(for d in .agent .cursor .claude .codex; do [ -d "$d" ] && echo "$d" && break; done)
27
+ SCRIPT_DIR=$(for d in .claude .agents; do [ -d "$d" ] && echo "$d" && break; done)
28
28
  bash "$SCRIPT_DIR/scripts/setup-docs.sh"
29
29
  ```
30
30
 
@@ -35,16 +35,12 @@ docs/
35
35
  ## スクリプト実行コマンド
36
36
 
37
37
  ```bash
38
- if [ -d ".agent" ]; then
39
- SCRIPT_DIR=".agent"
40
- elif [ -d ".cursor" ]; then
41
- SCRIPT_DIR=".cursor"
42
- elif [ -d ".claude" ]; then
38
+ if [ -d ".claude" ]; then
43
39
  SCRIPT_DIR=".claude"
44
- elif [ -d ".codex" ]; then
45
- SCRIPT_DIR=".codex"
40
+ elif [ -d ".agents" ]; then
41
+ SCRIPT_DIR=".agents"
46
42
  else
47
- echo "エラー: AI coding assistant ディレクトリが見つかりません"
43
+ echo "エラー: .claude または .agents ディレクトリが見つかりません"
48
44
  exit 1
49
45
  fi
50
46
 
@@ -15,7 +15,7 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
15
15
 
16
16
  ## 前提
17
17
 
18
- - `docs/project/requirements/` ディレクトリが存在すること(なければ先に `/a-001-setup-doc-structure` を実行)
18
+ - `docs/project/01-requirements/` ディレクトリが存在すること(なければ先に `/a-001-setup-doc-structure` を実行)
19
19
  - `docs/` に書き込み権限があること
20
20
  - ユーザーがプロジェクト概要と主要機能の基本情報を提供できること
21
21
 
@@ -24,12 +24,29 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
24
24
  ### 1. ドキュメントディレクトリの確認
25
25
 
26
26
  ```bash
27
- ls -la docs/project/requirements/ 2>/dev/null || echo "ディレクトリが存在しません"
27
+ ls -la docs/project/01-requirements/ 2>/dev/null || echo "ディレクトリが存在しません"
28
28
  ```
29
29
 
30
- 存在しない場合: 「`docs/project/requirements/` がありません。先に `/a-001-setup-doc-structure` を実行してください。」
30
+ 存在しない場合: 「`docs/project/01-requirements/` がありません。先に `/a-001-setup-doc-structure` を実行してください。」
31
31
 
32
- ### 2. コードベースの自動分析と提案
32
+ ### 2. テンプレート一括コピー
33
+
34
+ 要件定義に必要な 5 ファイルのテンプレートを `docs/project/01-requirements/` に一括コピーする。既存ファイルはスキップされる(冪等)。
35
+
36
+ ```bash
37
+ SCRIPT_DIR=$(for d in .claude .agents; do [ -d "$d" ] && echo "$d" && break; done)
38
+ bash "$SCRIPT_DIR/scripts/init-project-docs.sh" requirements
39
+ ```
40
+
41
+ コピーされるファイル:
42
+
43
+ - `01-system-overview.md`
44
+ - `02-features-implemented.md`
45
+ - `03-features-planned.md`
46
+ - `04-non-functional-requirements.md`
47
+ - `05-user-stories.md`
48
+
49
+ ### 3. コードベースの自動分析と提案
33
50
 
34
51
  **規模確認**:
35
52
 
@@ -49,65 +66,49 @@ find src app lib -maxdepth 2 2>/dev/null
49
66
 
50
67
  結果から以下を推測・提示: システム概要(目的・技術スタック)、実装済み機能(ファイル構造からの推測)、想定ユーザー像。
51
68
 
52
- ### 3. システム概要の作成
53
-
54
- 1. テンプレートをコピー:
55
-
56
- ```bash
57
- SCRIPT_DIR=$(for d in .agent .cursor .claude .codex; do [ -d "$d" ] && echo "$d" && break; done)
58
- cp "$SCRIPT_DIR/templates/project/01-requirements/01-system-overview.md" \
59
- "docs/project/requirements/01-system-overview.md"
60
- ```
69
+ ### 4. システム概要の記入
61
70
 
62
- 2. 「背景」「目的」をヒアリングして記入。質問例は [reference/hearing-questions.md](reference/hearing-questions.md) を参照。
71
+ `01-system-overview.md` を開き、「背景」「目的」をヒアリングして記入する。質問例は [reference/hearing-questions.md](reference/hearing-questions.md) を参照。
63
72
 
64
- ### 4. 実装済み機能一覧
73
+ ### 5. 実装済み機能一覧の記入
65
74
 
66
- 1. `02-features-implemented.md` をテンプレートからコピー。
67
- 2. コードベースを調査し、検出したディレクトリ/ファイル名から機能を提案。
68
- 3. ヒアリング結果をテーブルに記入(Category 1/2、機能名、説明、機能 ID)。
75
+ `02-features-implemented.md` に、コードベース調査で検出したディレクトリ/ファイル名から機能を提案し、ヒアリング結果をテーブルに記入する(Category 1/2、機能名、説明、機能 ID)。
69
76
 
70
77
  コード調査コマンドとヒアリング項目は [reference/hearing-questions.md](reference/hearing-questions.md#手順4-実装済み機能一覧) を参照。
71
78
 
72
- ### 5. 予定機能一覧
79
+ ### 6. 予定機能一覧の記入
73
80
 
74
- 1. `03-features-planned.md` をテンプレートからコピー。
75
- 2. システム概要と実装済み機能のギャップを分析し、未実装機能を提案。
76
- 3. ヒアリング結果をテーブルに記入(機能 ID・優先度は未確定のまま)。
81
+ `03-features-planned.md` に、システム概要と実装済み機能のギャップを分析して未実装機能を提案し、ヒアリング結果をテーブルに記入する(機能 ID・優先度は未確定のまま)。
77
82
 
78
- ### 6. 非機能要件一覧
83
+ ### 7. 非機能要件の記入
79
84
 
80
- 1. `04-non-functional-requirements.md` をテンプレートからコピー。
81
- 2. 詳細定義が必要か確認。不要なら標準ベースラインで仮置き([examples/nfr-baseline.md](examples/nfr-baseline.md))。
82
- 3. パフォーマンス/セキュリティ/可用性/スケーラビリティ/ユーザビリティ・保守性の観点で**定量的な目標**をヒアリング。
85
+ `04-non-functional-requirements.md` に、詳細定義が必要か確認の上、パフォーマンス/セキュリティ/可用性/スケーラビリティ/ユーザビリティ・保守性の観点で**定量的な目標**をヒアリングして記入する。不要なら標準ベースライン([examples/nfr-baseline.md](examples/nfr-baseline.md))で仮置きする。
83
86
 
84
- ### 7. ユーザーストーリー
87
+ ### 8. ユーザーストーリーの記入
85
88
 
86
- 1. `05-user-stories.md` をテンプレートからコピー。
87
- 2. 作成済みドキュメントから主要ユーザージャーニーを抽出し、ストーリー案を提示。
88
- 3. ヒアリング結果をテーブルに記入(優先度・受け入れ基準含む)。
89
+ `05-user-stories.md` に、作成済みドキュメントから主要ユーザージャーニーを抽出してストーリー案を提示し、ヒアリング結果をテーブルに記入する(優先度・受け入れ基準含む)。
89
90
 
90
91
  ストーリーテンプレート: 「[役割]として、[〇〇機能]を使いたい、なぜなら[価値]だから」
91
92
 
92
- ### 8. 全体レビュー
93
+ ### 9. 全体レビュー
93
94
 
94
95
  - 作成した全ドキュメントをユーザーに提示し、以下を確認:
95
96
  - 「記載内容に誤りや漏れはありませんか?」
96
97
  - 「抽象的すぎる記述や、解釈が分かれそうな表現はありますか?」
97
98
  - 「テンプレートのコメントや不要な例示は適切に処理されていますか?」
98
99
 
99
- ### 9. 完了条件と構造の確認
100
+ ### 10. 完了条件と構造の確認
100
101
 
101
102
  - ファイルの存在と主要セクション/テーブル構造を検証。
102
103
  - 検証コマンド・チェックリスト・Git コミット手順は [reference/structure-check.md](reference/structure-check.md) を参照。
103
104
 
104
- ### 10. Git への追加(オプション)
105
+ ### 11. Git への追加(オプション)
105
106
 
106
107
  詳細は [reference/structure-check.md](reference/structure-check.md#git-への追加オプション) を参照。
107
108
 
108
109
  ## 完了条件
109
110
 
110
- - `docs/project/requirements/` に 5 つの要件定義ドキュメントが作成されている
111
+ - `docs/project/01-requirements/` に 5 つの要件定義ドキュメントが作成されている
111
112
  - すべてのドキュメントで抽象的表現が最小化され、具体的な数値・期限・制約が記載されている
112
113
  - ユーザーがドキュメント内容を確認し、承認またはフィードバックを提供している
113
114
 
@@ -119,6 +120,6 @@ find src app lib -maxdepth 2 2>/dev/null
119
120
 
120
121
  ## 参考
121
122
 
122
- - [reference/hearing-questions.md](reference/hearing-questions.md) — 手順37のヒアリング質問集
123
- - [reference/structure-check.md](reference/structure-check.md) — 手順9の構造チェックコマンドと Git コミット手順
123
+ - [reference/hearing-questions.md](reference/hearing-questions.md) — 手順48のヒアリング質問集
124
+ - [reference/structure-check.md](reference/structure-check.md) — 手順10の構造チェックコマンドと Git コミット手順
124
125
  - [examples/nfr-baseline.md](examples/nfr-baseline.md) — 非機能要件の標準ベースライン提案値
@@ -6,23 +6,23 @@ SKILL.md 手順9で使う、生成済みドキュメントの構造確認用コ
6
6
 
7
7
  ```bash
8
8
  # 01-system-overview.md: 主要セクションの確認
9
- grep "## 背景" docs/project/requirements/01-system-overview.md && echo "OK" || echo "MISSING: 背景"
10
- grep "## 目的" docs/project/requirements/01-system-overview.md && echo "OK" || echo "MISSING: 目的"
9
+ grep "## 背景" docs/project/01-requirements/01-system-overview.md && echo "OK" || echo "MISSING: 背景"
10
+ grep "## 目的" docs/project/01-requirements/01-system-overview.md && echo "OK" || echo "MISSING: 目的"
11
11
 
12
12
  # 02-features-implemented.md: テーブルヘッダー
13
- grep "| 機能ID | Category 1 |" docs/project/requirements/02-features-implemented.md \
13
+ grep "| 機能ID | Category 1 |" docs/project/01-requirements/02-features-implemented.md \
14
14
  && echo "OK" || echo "MISSING: Table Header"
15
15
 
16
16
  # 03-features-planned.md: テーブルヘッダー
17
- grep "| Category 1 | Category 2 |" docs/project/requirements/03-features-planned.md \
17
+ grep "| Category 1 | Category 2 |" docs/project/01-requirements/03-features-planned.md \
18
18
  && echo "OK" || echo "MISSING: Table Header"
19
19
 
20
20
  # 04-non-functional-requirements.md: テーブルヘッダー
21
- grep "| カテゴリ | 要件 |" docs/project/requirements/04-non-functional-requirements.md \
21
+ grep "| カテゴリ | 要件 |" docs/project/01-requirements/04-non-functional-requirements.md \
22
22
  && echo "OK" || echo "MISSING: Table Header"
23
23
 
24
24
  # 05-user-stories.md: テーブルヘッダー
25
- grep "| ストーリーID | ストーリー |" docs/project/requirements/05-user-stories.md \
25
+ grep "| ストーリーID | ストーリー |" docs/project/01-requirements/05-user-stories.md \
26
26
  && echo "OK" || echo "MISSING: Table Header"
27
27
  ```
28
28
 
@@ -35,7 +35,7 @@ grep "| ストーリーID | ストーリー |" docs/project/requirements/05-user
35
35
  ## Git への追加(オプション)
36
36
 
37
37
  ```bash
38
- git add docs/project/requirements/
38
+ git add docs/project/01-requirements/
39
39
  git status
40
40
  ```
41
41
 
@@ -15,8 +15,8 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
15
15
 
16
16
  ## 前提
17
17
 
18
- - `docs/project/requirements/05-user-stories.md` が作成されていること(`/a-002-initialize-project` 実行済み)。
19
- - `docs/project/behavior/` ディレクトリが存在すること(未作成なら `/a-001-setup-doc-structure`)。
18
+ - `docs/project/01-requirements/05-user-stories.md` が作成されていること(`/a-002-initialize-project` 実行済み)。
19
+ - `docs/project/02-behavior/` ディレクトリが存在すること(未作成なら `/a-001-setup-doc-structure`)。
20
20
  - ユーザーが各機能の具体的な動作例を説明できること。
21
21
 
22
22
  ## 手順
@@ -24,16 +24,16 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
24
24
  ### 1. ディレクトリと前提条件の確認
25
25
 
26
26
  ```bash
27
- ls -la docs/project/behavior/ 2>/dev/null || echo "ディレクトリが存在しません"
27
+ ls -la docs/project/02-behavior/ 2>/dev/null || echo "ディレクトリが存在しません"
28
28
  ```
29
29
 
30
- `docs/project/requirements/05-user-stories.md` を読み込み、シナリオ化対象を把握する。
30
+ `docs/project/01-requirements/05-user-stories.md` を読み込み、シナリオ化対象を把握する。
31
31
 
32
32
  ### 2. テンプレートの準備
33
33
 
34
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/02-behavior/01-scenarios.md" "docs/project/behavior/01-scenarios.md"
35
+ SCRIPT_DIR=$(for d in .claude .agents; do [ -d "$d" ] && echo "$d" && break; done)
36
+ cp "$SCRIPT_DIR/templates/project/02-behavior/01-scenarios.md" "docs/project/02-behavior/01-scenarios.md"
37
37
  ```
38
38
 
39
39
  ### 3. 分析と提案
@@ -45,7 +45,7 @@ cp "$SCRIPT_DIR/templates/project/02-behavior/01-scenarios.md" "docs/project/beh
45
45
 
46
46
  ### 4. ヒアリングと記入
47
47
 
48
- 機能ごとに以下を詰めて `docs/project/behavior/01-scenarios.md` を更新する。Gherkin 記述例は [examples/gherkin-templates.md](examples/gherkin-templates.md) を参照。
48
+ 機能ごとに以下を詰めて `docs/project/02-behavior/01-scenarios.md` を更新する。Gherkin 記述例は [examples/gherkin-templates.md](examples/gherkin-templates.md) を参照。
49
49
 
50
50
  - **Feature 情報**: 機能名、As a/I want/So that、Background(共通前提)
51
51
  - **ハッピーパス**: Given-When-Then で最も基本的な成功シナリオ
@@ -65,8 +65,8 @@ UI 操作の詳細ではなく、ユーザーの意図を記述するよう注
65
65
  ### 7. 構造チェック
66
66
 
67
67
  ```bash
68
- grep "Feature:" docs/project/behavior/01-scenarios.md \
69
- && grep "Scenario:" docs/project/behavior/01-scenarios.md \
68
+ grep "Feature:" docs/project/02-behavior/01-scenarios.md \
69
+ && grep "Scenario:" docs/project/02-behavior/01-scenarios.md \
70
70
  && echo "OK" || echo "MISSING SECTION"
71
71
  ```
72
72
 
@@ -75,7 +75,7 @@ grep "Feature:" docs/project/behavior/01-scenarios.md \
75
75
  ### 8. Git への追加(任意)
76
76
 
77
77
  ```bash
78
- git add docs/project/behavior/
78
+ git add docs/project/02-behavior/
79
79
  git commit -m "docs: 振る舞い仕様(シナリオ)の作成"
80
80
  ```
81
81
 
@@ -83,7 +83,7 @@ git commit -m "docs: 振る舞い仕様(シナリオ)の作成"
83
83
 
84
84
  ## 完了条件
85
85
 
86
- - `docs/project/behavior/01-scenarios.md` が作成されている。
86
+ - `docs/project/02-behavior/01-scenarios.md` が作成されている。
87
87
  - ユーザーストーリーに対応する具体的なシナリオ(Given-When-Then)が記述されている。
88
88
  - シナリオ一覧テーブルがメンテナンスされている。
89
89
  - ユーザーが内容を承認している。
@@ -6,16 +6,16 @@ SKILL.md 手順6〜7 で使う構造確認コマンドとレビュー観点。
6
6
 
7
7
  ```bash
8
8
  # シナリオ一覧テーブルの確認
9
- grep "| シナリオID | 機能 |" docs/project/behavior/01-scenarios.md && echo "OK" || echo "MISSING: Table Header"
9
+ grep "| シナリオID | 機能 |" docs/project/02-behavior/01-scenarios.md && echo "OK" || echo "MISSING: Table Header"
10
10
  # Feature 定義の確認
11
- grep "Feature:" docs/project/behavior/01-scenarios.md && echo "OK" || echo "MISSING: Feature definition"
11
+ grep "Feature:" docs/project/02-behavior/01-scenarios.md && echo "OK" || echo "MISSING: Feature definition"
12
12
  # Scenario 定義の確認
13
- grep "Scenario:" docs/project/behavior/01-scenarios.md && echo "OK" || echo "MISSING: Scenario definition"
13
+ grep "Scenario:" docs/project/02-behavior/01-scenarios.md && echo "OK" || echo "MISSING: Scenario definition"
14
14
  ```
15
15
 
16
16
  ## チェックリスト
17
17
 
18
- - [ ] `docs/project/behavior/01-scenarios.md` が作成されている
18
+ - [ ] `docs/project/02-behavior/01-scenarios.md` が作成されている
19
19
  - [ ] シナリオ一覧テーブルが更新されている
20
20
  - [ ] 各 Feature が Gherkin 形式で記述されている
21
21
  - [ ] 正常系と異常系のシナリオが網羅されている
@@ -32,7 +32,7 @@ grep "Scenario:" docs/project/behavior/01-scenarios.md && echo "OK" || echo "MIS
32
32
  ## Git への追加(任意)
33
33
 
34
34
  ```bash
35
- git add docs/project/behavior/
35
+ git add docs/project/02-behavior/
36
36
  git status
37
37
  ```
38
38
 
@@ -15,8 +15,8 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
15
15
 
16
16
  ## 前提
17
17
 
18
- - `docs/project/behavior/01-scenarios.md` が作成されている(`/a-003-create-scenarios` 実行済み)
19
- - `docs/project/domain/` ディレクトリが存在(なければ `/a-001-setup-doc-structure`)
18
+ - `docs/project/02-behavior/01-scenarios.md` が作成されている(`/a-003-create-scenarios` 実行済み)
19
+ - `docs/project/03-domain/` ディレクトリが存在(なければ `/a-001-setup-doc-structure`)
20
20
  - ドメインエキスパートと協力できる
21
21
 
22
22
  ## 手順
@@ -24,17 +24,17 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
24
24
  ### 1. ディレクトリと前提条件の確認
25
25
 
26
26
  ```bash
27
- ls -la docs/project/domain/ 2>/dev/null || echo "ディレクトリが存在しません"
27
+ ls -la docs/project/03-domain/ 2>/dev/null || echo "ディレクトリが存在しません"
28
28
  ```
29
29
 
30
- 存在しなければ `/a-001-setup-doc-structure` を促す。`docs/project/behavior/01-scenarios.md` を読み込み内容確認。
30
+ 存在しなければ `/a-001-setup-doc-structure` を促す。`docs/project/02-behavior/01-scenarios.md` を読み込み内容確認。
31
31
 
32
32
  ### 2. テンプレートの準備
33
33
 
34
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/03-domain/01-domain-model.md" "docs/project/domain/01-domain-model.md"
37
- cp "$SCRIPT_DIR/templates/project/03-domain/02-ubiquitous-language.md" "docs/project/domain/02-ubiquitous-language.md"
35
+ SCRIPT_DIR=$(for d in .claude .agents; do [ -d "$d" ] && echo "$d" && break; done)
36
+ cp "$SCRIPT_DIR/templates/project/03-domain/01-domain-model.md" "docs/project/03-domain/01-domain-model.md"
37
+ cp "$SCRIPT_DIR/templates/project/03-domain/02-ubiquitous-language.md" "docs/project/03-domain/02-ubiquitous-language.md"
38
38
  ```
39
39
 
40
40
  ### 3. Bounded Context の特定
@@ -76,7 +76,7 @@ Context 間の関係性(Customer-Supplier, Shared Kernel 等)を Mermaid 図
76
76
  ### 9. Git への追加(オプション)
77
77
 
78
78
  ```bash
79
- git add docs/project/domain/
79
+ git add docs/project/03-domain/
80
80
  git status
81
81
  ```
82
82
 
@@ -84,7 +84,7 @@ git status
84
84
 
85
85
  ## 完了条件
86
86
 
87
- - `docs/project/domain/01-domain-model.md` と `02-ubiquitous-language.md` が作成されている
87
+ - `docs/project/03-domain/01-domain-model.md` と `02-ubiquitous-language.md` が作成されている
88
88
  - 各 Bounded Context の主要ドメイン要素(Aggregates, Commands, Events)が定義されている
89
89
  - ドメインモデルで使用される用語がユビキタス言語として定義されている
90
90
  - ユーザーが内容を承認している