yodogawa 1.0.1 → 1.0.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.
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# setup-docs.sh
|
|
4
|
+
# プロジェクトのドキュメントディレクトリ構造を作成するスクリプト
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
DOCS_DIR="docs"
|
|
9
|
+
|
|
10
|
+
echo "📂 ドキュメント構造のセットアップを開始します..."
|
|
11
|
+
|
|
12
|
+
# 1. 現在の状態確認
|
|
13
|
+
if [ -d "$DOCS_DIR" ]; then
|
|
14
|
+
echo "⚠️ '$DOCS_DIR' ディレクトリは既に存在します。"
|
|
15
|
+
read -p "既存の構造を保持したまま、不足しているディレクトリを追加しますか? (y/N): " confirm
|
|
16
|
+
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
|
|
17
|
+
echo "❌ 中断しました。"
|
|
18
|
+
exit 0
|
|
19
|
+
fi
|
|
20
|
+
fi
|
|
21
|
+
|
|
22
|
+
# 2. ディレクトリ構造の作成
|
|
23
|
+
echo "🔨 ディレクトリを作成中..."
|
|
24
|
+
mkdir -p "$DOCS_DIR/project/01-requirements"
|
|
25
|
+
mkdir -p "$DOCS_DIR/project/02-behavior"
|
|
26
|
+
mkdir -p "$DOCS_DIR/project/03-domain"
|
|
27
|
+
mkdir -p "$DOCS_DIR/project/04-design"
|
|
28
|
+
mkdir -p "$DOCS_DIR/tasks"
|
|
29
|
+
|
|
30
|
+
# 3. docs/README.md の作成
|
|
31
|
+
README_FILE="$DOCS_DIR/README.md"
|
|
32
|
+
if [ -f "$README_FILE" ]; then
|
|
33
|
+
echo "⚠️ '$README_FILE' は既に存在します。"
|
|
34
|
+
read -p "上書きしますか? (y/N): " confirm_readme
|
|
35
|
+
if [[ ! "$confirm_readme" =~ ^[Yy]$ ]]; then
|
|
36
|
+
echo "ℹ️ READMEの作成をスキップしました。"
|
|
37
|
+
else
|
|
38
|
+
CREATE_README=true
|
|
39
|
+
fi
|
|
40
|
+
else
|
|
41
|
+
CREATE_README=true
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
if [ "$CREATE_README" = true ]; then
|
|
45
|
+
echo "📝 README.md を作成中..."
|
|
46
|
+
cat > "$README_FILE" <<EOF
|
|
47
|
+
# プロジェクトドキュメント
|
|
48
|
+
|
|
49
|
+
このディレクトリには、プロジェクト全体のドキュメントと個別タスクのドキュメントを管理します。
|
|
50
|
+
|
|
51
|
+
## 構成
|
|
52
|
+
|
|
53
|
+
### project/
|
|
54
|
+
プロジェクト全体のドキュメント。要件定義、設計、アーキテクチャなど、プロジェクトスコープ全体に関わる情報を記載します。
|
|
55
|
+
|
|
56
|
+
- **01-requirements/**: 要件定義(システム概要、機能要件、非機能要件、ユーザーストーリーなど)
|
|
57
|
+
- **02-behavior/**: 振る舞い定義(シナリオ、ユースケース、ユーザージャーニーなど)
|
|
58
|
+
- **03-domain/**: ドメインモデル(エンティティ、用語集など)
|
|
59
|
+
- **04-design/**: 設計(アーキテクチャ、データモデル、API仕様など)
|
|
60
|
+
|
|
61
|
+
### tasks/
|
|
62
|
+
個別タスクのドキュメント。Issue やチケット単位で作成します。
|
|
63
|
+
|
|
64
|
+
## 更新方針
|
|
65
|
+
|
|
66
|
+
### プロジェクト全体のドキュメント (project/)
|
|
67
|
+
- プロジェクトのスコープ全体に影響する情報を記載
|
|
68
|
+
- チーム全体で共有すべき要件・設計・アーキテクチャを管理
|
|
69
|
+
- 更新時は関係者にレビューを依頼
|
|
70
|
+
|
|
71
|
+
### 個別タスクのドキュメント (tasks/)
|
|
72
|
+
- 特定の Issue やチケットに紐づく情報を記載
|
|
73
|
+
- タスク単位で作成・完了・アーカイブ
|
|
74
|
+
- 完了後は参照資料として保持、または削除
|
|
75
|
+
|
|
76
|
+
## ドキュメント作成ガイドライン
|
|
77
|
+
|
|
78
|
+
- **具体的**: 抽象的な表現を避け、数値・期限・制約を明確に記載
|
|
79
|
+
- **測定可能**: 成功基準やパフォーマンス目標を定量化
|
|
80
|
+
- **最新**: 変更があれば速やかに更新し、古い情報を残さない
|
|
81
|
+
- **簡潔**: 必要最低限の情報に絞り、詳細はコードやリンク先に委ねる
|
|
82
|
+
EOF
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# 4. 完了報告
|
|
86
|
+
echo ""
|
|
87
|
+
echo "✅ ドキュメントディレクトリ構造のセットアップが完了しました!"
|
|
88
|
+
echo ""
|
|
89
|
+
find "$DOCS_DIR" -maxdepth 2 | sort
|
|
90
|
+
echo ""
|
|
91
|
+
echo "次のステップ:"
|
|
92
|
+
echo " - 必要に応じて 'git add $DOCS_DIR' を実行してください。"
|
|
@@ -5,8 +5,6 @@ auto_execution_mode: 1
|
|
|
5
5
|
|
|
6
6
|
# SetupDocStructure (a-001)
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
8
|
## 目的
|
|
11
9
|
|
|
12
10
|
- プロジェクトルートに標準化されたドキュメントディレクトリ構造を作成する。
|
|
@@ -19,110 +17,44 @@ auto_execution_mode: 1
|
|
|
19
17
|
|
|
20
18
|
## 手順
|
|
21
19
|
|
|
22
|
-
### 1.
|
|
23
|
-
|
|
24
|
-
- プロジェクトルートで `docs/` ディレクトリの存在を確認する:
|
|
25
|
-
```bash
|
|
26
|
-
ls -la docs/ 2>/dev/null || echo "docs/ ディレクトリは存在しません"
|
|
27
|
-
```
|
|
28
|
-
- 既に `docs/` が存在する場合は、ユーザーに確認する:
|
|
29
|
-
- 「既に `docs/` ディレクトリが存在します。既存の構造を保持したまま、不足しているディレクトリを追加しますか?」
|
|
30
|
-
- ユーザーが「はい」と回答した場合のみ続行する。
|
|
31
|
-
|
|
32
|
-
### 2. ディレクトリ構造の作成
|
|
20
|
+
### 1. スクリプトの実行
|
|
33
21
|
|
|
34
|
-
-
|
|
22
|
+
- ドキュメント構造セットアップのために、環境に応じたスクリプトを実行してください。
|
|
35
23
|
|
|
36
|
-
```
|
|
37
|
-
docs/
|
|
38
|
-
├── project/
|
|
39
|
-
│ ├── 01-requirements/ # 要件定義
|
|
40
|
-
│ ├── 02-behavior/ # 振る舞い定義
|
|
41
|
-
│ ├── 03-domain/ # ドメインモデル
|
|
42
|
-
│ └── 04-design/ # 設計
|
|
43
|
-
└── tasks/ # 個別タスク
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
- `mkdir -p` コマンドで一括作成:
|
|
47
24
|
```bash
|
|
48
|
-
|
|
25
|
+
# 環境を自動検出してスクリプトを実行
|
|
26
|
+
if [ -d ".agent" ]; then
|
|
27
|
+
SCRIPT_DIR=".agent"
|
|
28
|
+
elif [ -d ".windsurf" ]; then
|
|
29
|
+
SCRIPT_DIR=".windsurf"
|
|
30
|
+
elif [ -d ".cursor" ]; then
|
|
31
|
+
SCRIPT_DIR=".cursor"
|
|
32
|
+
elif [ -d ".claude" ]; then
|
|
33
|
+
SCRIPT_DIR=".claude"
|
|
34
|
+
else
|
|
35
|
+
echo "エラー: AI coding assistant ディレクトリが見つかりません"
|
|
36
|
+
exit 1
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
bash "$SCRIPT_DIR/scripts/setup-docs.sh"
|
|
49
40
|
```
|
|
50
41
|
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
find docs/ -type d | sort
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 3. docs/README.md の作成
|
|
57
|
-
|
|
58
|
-
- `docs/README.md` が既に存在する場合は、ユーザーに確認する:
|
|
59
|
-
- 「`docs/README.md` が既に存在します。上書きしますか、それとも既存のファイルを保持しますか?」
|
|
60
|
-
|
|
61
|
-
- 以下の内容で `docs/README.md` を作成(または上書き):
|
|
62
|
-
|
|
63
|
-
```markdown
|
|
64
|
-
# プロジェクトドキュメント
|
|
65
|
-
|
|
66
|
-
このディレクトリには、プロジェクト全体のドキュメントと個別タスクのドキュメントを管理します。
|
|
67
|
-
|
|
68
|
-
## 構成
|
|
42
|
+
### 2. 結果の確認
|
|
69
43
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
- **01-requirements/**: 要件定義(システム概要、機能要件、非機能要件、ユーザーストーリーなど)
|
|
74
|
-
- **02-behavior/**: 振る舞い定義(シナリオ、ユースケース、ユーザージャーニーなど)
|
|
75
|
-
- **03-domain/**: ドメインモデル(エンティティ、用語集など)
|
|
76
|
-
- **04-design/**: 設計(アーキテクチャ、データモデル、API仕様など)
|
|
77
|
-
|
|
78
|
-
### tasks/
|
|
79
|
-
個別タスクのドキュメント。Issue やチケット単位で作成します。
|
|
80
|
-
|
|
81
|
-
## 更新方針
|
|
82
|
-
|
|
83
|
-
### プロジェクト全体のドキュメント (project/)
|
|
84
|
-
- プロジェクトのスコープ全体に影響する情報を記載
|
|
85
|
-
- チーム全体で共有すべき要件・設計・アーキテクチャを管理
|
|
86
|
-
- 更新時は関係者にレビューを依頼
|
|
87
|
-
|
|
88
|
-
### 個別タスクのドキュメント (tasks/)
|
|
89
|
-
- 特定の Issue やチケットに紐づく情報を記載
|
|
90
|
-
- タスク単位で作成・完了・アーカイブ
|
|
91
|
-
- 完了後は参照資料として保持、または削除
|
|
92
|
-
|
|
93
|
-
## ドキュメント作成ガイドライン
|
|
94
|
-
|
|
95
|
-
- **具体的**: 抽象的な表現を避け、数値・期限・制約を明確に記載
|
|
96
|
-
- **測定可能**: 成功基準やパフォーマンス目標を定量化
|
|
97
|
-
- **最新**: 変更があれば速やかに更新し、古い情報を残さない
|
|
98
|
-
- **簡潔**: 必要最低限の情報に絞り、詳細はコードやリンク先に委ねる
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### 4. 作成結果の確認
|
|
102
|
-
|
|
103
|
-
- ディレクトリ構造とREADMEが正しく作成されたか確認:
|
|
104
|
-
```bash
|
|
105
|
-
ls -R docs/
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
- ユーザーに作成結果を報告:
|
|
44
|
+
- スクリプトの実行結果を確認し、エラーがないことを確認してください。
|
|
45
|
+
- 生成された構造:
|
|
109
46
|
```
|
|
110
|
-
✅ ドキュメントディレクトリ構造を作成しました:
|
|
111
|
-
|
|
112
47
|
docs/
|
|
113
|
-
├── README.md
|
|
48
|
+
├── README.md
|
|
114
49
|
├── project/
|
|
115
50
|
│ ├── 01-requirements/
|
|
116
51
|
│ ├── 02-behavior/
|
|
117
52
|
│ ├── 03-domain/
|
|
118
53
|
│ └── 04-design/
|
|
119
54
|
└── tasks/
|
|
120
|
-
|
|
121
|
-
次のステップ:
|
|
122
|
-
- ドキュメントの作成を開始してください。
|
|
123
55
|
```
|
|
124
56
|
|
|
125
|
-
###
|
|
57
|
+
### 3. Git への追加(オプション)
|
|
126
58
|
|
|
127
59
|
- ユーザーに確認:「作成したディレクトリ構造を Git に追加しますか?」
|
|
128
60
|
- 「はい」の場合、以下を実行:
|
|
@@ -131,6 +63,7 @@ docs/
|
|
|
131
63
|
git status
|
|
132
64
|
```
|
|
133
65
|
- Git status の結果を表示し、コミットメッセージの提案をする:
|
|
66
|
+
|
|
134
67
|
```
|
|
135
68
|
推奨コミットメッセージ:
|
|
136
69
|
ドキュメント構造の初期化
|
|
@@ -139,13 +72,11 @@ docs/
|
|
|
139
72
|
- ドキュメント構成を説明する docs/README.md を追加
|
|
140
73
|
```
|
|
141
74
|
|
|
142
|
-
###
|
|
75
|
+
### 4. 完了条件の確認
|
|
143
76
|
|
|
144
77
|
- 以下の完了条件を満たしているか、チェックリストで確認してください:
|
|
145
|
-
- [ ]
|
|
146
|
-
- [ ] `docs
|
|
147
|
-
- [ ] `docs/tasks/` ディレクトリが存在する
|
|
148
|
-
- [ ] `docs/README.md` が作成されている
|
|
78
|
+
- [ ] スクリプトが正常に終了した
|
|
79
|
+
- [ ] `docs/` ディレクトリ構造が正しく作成されている
|
|
149
80
|
|
|
150
81
|
## 完了条件
|
|
151
82
|
|
|
@@ -162,4 +93,4 @@ docs/
|
|
|
162
93
|
- ファイルシステムの権限エラーが発生した場合:
|
|
163
94
|
- 「ディレクトリの作成に失敗しました。書き込み権限を確認してください。」とユーザーに通知する。
|
|
164
95
|
- Git リポジトリでない場合に Git 追加を試みた場合:
|
|
165
|
-
- 「このディレクトリは Git リポジトリではありません。Git の初期化が必要な場合は `git init` を実行してください。」と案内する。
|
|
96
|
+
- 「このディレクトリは Git リポジトリではありません。Git の初期化が必要な場合は `git init` を実行してください。」と案内する。
|
|
@@ -33,18 +33,23 @@ auto_execution_mode: 1
|
|
|
33
33
|
|
|
34
34
|
### 2. コードベースの自動分析と提案
|
|
35
35
|
|
|
36
|
-
1.
|
|
36
|
+
1. **コードベースの規模確認**:
|
|
37
37
|
|
|
38
|
-
-
|
|
39
|
-
- 以下のコマンド等を使用して現状を把握する:
|
|
38
|
+
- プロジェクトのルートにあるファイルやディレクトリを確認する。
|
|
40
39
|
```bash
|
|
41
40
|
ls -F
|
|
41
|
+
```
|
|
42
|
+
- **スキップ判断**:
|
|
43
|
+
- ファイルがほとんど存在しない(例: `.git` ディレクトリのみ、あるいは `README.md` だけなど)、または有意なソースコードが見当たらない場合は、このステップをスキップする。
|
|
44
|
+
- スキップする場合、ユーザーに「コードベースが空、または十分な情報がないため、自動分析をスキップします。」と通知し、次のステップへ進む。
|
|
45
|
+
|
|
46
|
+
2. **詳細調査と分析(コードが存在する場合)**:
|
|
47
|
+
- `README.md`, `package.json`, および主要なソースコードを読み込む。
|
|
48
|
+
```bash
|
|
42
49
|
cat package.json 2>/dev/null
|
|
43
50
|
cat README.md 2>/dev/null
|
|
44
51
|
find src app lib -maxdepth 2 2>/dev/null
|
|
45
52
|
```
|
|
46
|
-
|
|
47
|
-
2. **AI による分析と提案**:
|
|
48
53
|
- 読み込んだ情報を基に、以下の内容を分析・推測し、ユーザーに提示する。
|
|
49
54
|
- **システム概要**: プロジェクトの目的、主要な技術スタック。
|
|
50
55
|
- **実装済み機能**: ファイル構造やコードから推測される機能。
|