@k2works/claude-code-booster 4.0.0 → 4.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.
@@ -99,6 +99,12 @@ Claude Code をより効率的に使うための基本設定テンプレート
99
99
  | `creating-release-report` | リリース完了報告書を作成。release_plan・iteration_report・git log・CHANGELOG からデータ収集。 |
100
100
  | `creating-iteration-report` | イテレーション完了報告書を作成。iteration_plan・release_plan・テスト結果からデータ収集。 |
101
101
 
102
+ #### 学習系
103
+
104
+ | スキル | 説明 |
105
+ | :--- | :--- |
106
+ | `practicing-getting-start-tdd` | TDD プログラミング入門の対話式チュートリアル。FizzBuzz を題材に 14 言語で TDD を体験。 |
107
+
102
108
  #### 共通
103
109
 
104
110
  | スキル | 説明 |
@@ -210,7 +216,8 @@ Claude Code をより効率的に使うための基本設定テンプレート
210
216
  │ ├── orchestrating-development/SKILL.md
211
217
  │ ├── orchestrating-operation/SKILL.md
212
218
  │ ├── orchestrating-project/SKILL.md
213
- └── validating-iteration-plan/SKILL.md
219
+ ├── validating-iteration-plan/SKILL.md
220
+ │ └── practicing-getting-start-tdd/SKILL.md
214
221
  ├── README.md
215
222
  ├── settings.json # Claude Code 設定
216
223
  └── settings.local.json # ローカル環境用設定
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: practicing-getting-start-tdd
3
+ description: "テスト駆動開発から始めるプログラミング入門」の対話式チュートリアル。FizzBuzz を題材に TDD の Red-Green-Refactor サイクルを 14 言語で体験する。「TDD を練習したい」「FizzBuzz で TDD を学びたい」「テスト駆動開発の入門をしたい」「Java で TDD を体験したい」「Python で TDD を始めたい」「プログラミング入門チュートリアルをやりたい」「getting-start-tdd をやりたい」「TDD のハンズオンがしたい」「Red-Green-Refactor を体験したい」といった場面で発動する。TDD チュートリアルやプログラミング入門の要望があれば積極的に使用すること。"
4
+ ---
5
+
6
+ # TDD プログラミング入門 - 対話式チュートリアル
7
+
8
+ FizzBuzz 問題を題材に、TDD(テスト駆動開発)の手法を実践的に学ぶ対話式チュートリアル。ユーザーが自分の手でコードを書き、テストを通す体験を通じて TDD のサイクルと各言語の特徴を身につける。
9
+
10
+ ## 教材
11
+
12
+ `docs/article/getting-start-tdd/` に 14 言語 x 12 章の完全な教材がある。チュートリアル進行時は該当する言語・章の教材を参照し、内容に沿って進行する。
13
+
14
+ ## チュートリアルの進め方
15
+
16
+ ### Step 0: 開発環境の準備
17
+
18
+ チュートリアルを始める前に、開発環境を準備する。環境構築は**ユーザーにインストラクションを提示し、合意を得てから**進める。勝手にコマンドを実行しない。
19
+
20
+ #### 推奨環境: GitHub Codespaces
21
+
22
+ 最もスムーズに始められる環境。devcontainer に Nix が設定済みで、言語ごとの開発環境が即座に利用可能。
23
+
24
+ ```bash
25
+ # Codespace 起動後、選択した言語の開発環境に入る
26
+ nix develop .#java # Java の場合
27
+ nix develop .#python # Python の場合
28
+ nix develop .#node # JavaScript/TypeScript の場合
29
+ # ... 各言語に対応した flake が用意されている
30
+ ```
31
+
32
+ #### ローカル環境
33
+
34
+ ローカルで進める場合は、OS に応じたパッケージマネージャで各言語の開発環境を構築する。
35
+
36
+ | OS | パッケージマネージャ | 環境構築方法 |
37
+ |----|--------------------|-------------|
38
+ | Windows | [Scoop](https://scoop.sh/) | Scoop で各言語のランタイム・ビルドツールを直接インストール(Nix は非対応) |
39
+ | macOS | [Homebrew](https://brew.sh/) + [Nix](https://nixos.org/download) | Nix で `nix develop .#{lang}` または Homebrew で個別インストール |
40
+ | Linux | [Nix](https://nixos.org/download) | `nix develop .#{lang}` で開発環境に入る |
41
+
42
+ ##### Windows(Scoop)での環境構築例
43
+
44
+ Windows では Nix が使えないため、Scoop で各言語のツールを個別にインストールする。
45
+
46
+ ```powershell
47
+ # Scoop のインストール(未導入の場合)
48
+ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
49
+ Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
50
+
51
+ # Java の場合
52
+ scoop bucket add java
53
+ scoop install openjdk gradle
54
+
55
+ # Python の場合
56
+ scoop install python
57
+ pip install pytest
58
+
59
+ # Node.js(JavaScript/TypeScript)の場合
60
+ scoop install nodejs
61
+ npm install
62
+
63
+ # Go の場合
64
+ scoop install go
65
+
66
+ # Rust の場合
67
+ scoop install rustup
68
+ rustup default stable
69
+
70
+ # Ruby の場合
71
+ scoop install ruby
72
+
73
+ # PHP の場合
74
+ scoop install php composer
75
+ ```
76
+
77
+ 各言語の詳細なセットアップ手順は、教材の各章(特に第 1 章・第 5 章)に記載されている。
78
+
79
+ #### 環境構築の進め方
80
+
81
+ 1. ユーザーの現在の環境(OS、既存ツール)を確認する
82
+ 2. 推奨環境(GitHub Codespaces)を提案する
83
+ 3. ローカル環境を希望する場合は、OS に応じたインストール手順を**提示して確認を求める**
84
+ 4. ユーザーの合意を得てから、ステップごとにコマンドを実行する
85
+ 5. 環境が正しく構築できたことを確認してからチュートリアルに進む
86
+
87
+ ### Step 1: 言語選択
88
+
89
+ ユーザーに学びたい言語を尋ねる。対応言語と特徴を簡潔に提示する。
90
+
91
+ | 言語 | 特徴 |
92
+ |------|------|
93
+ | Java | 静的型付け、OOP、JUnit 5 |
94
+ | JavaScript/TypeScript | 動的/静的型付け、Vitest |
95
+ | Python | 動的型付け、pytest |
96
+ | Ruby | 動的型付け、Minitest |
97
+ | PHP | 動的型付け、PHPUnit |
98
+ | Go | 静的型付け、標準 testing |
99
+ | Rust | 所有権、標準テスト |
100
+ | C# | 静的型付け、xUnit |
101
+ | F# | 関数型、Expecto |
102
+ | Clojure | LISP、clojure.test |
103
+ | Scala | OOP+FP、ScalaTest |
104
+ | Elixir | 関数型、ExUnit |
105
+ | Haskell | 純粋関数型、Hspec |
106
+
107
+ ### Step 2: 章の選択
108
+
109
+ 全 12 章 4 部構成。ユーザーの経験レベルに応じて開始章を提案する。
110
+
111
+ **第 1 部: TDD の基本サイクル**(初心者はここから)
112
+ 1. TODO リストと最初のテスト
113
+ 2. 仮実装と三角測量
114
+ 3. 明白な実装とリファクタリング
115
+
116
+ **第 2 部: 開発環境と自動化**
117
+ 4. バージョン管理と Conventional Commits
118
+ 5. パッケージ管理と静的解析
119
+ 6. タスクランナーと CI/CD
120
+
121
+ **第 3 部: オブジェクト指向設計**
122
+ 7. カプセル化とポリモーフィズム
123
+ 8. デザインパターンの適用
124
+ 9. SOLID 原則とモジュール設計
125
+
126
+ **第 4 部: 関数型プログラミングへの展開**
127
+ 10. 高階関数と関数合成
128
+ 11. 不変データとパイプライン処理
129
+ 12. エラーハンドリングと型安全性
130
+
131
+ ### Step 3: 対話式チュートリアルの実施
132
+
133
+ 教材ファイルを読み込み、以下のルールで対話的に進行する。
134
+
135
+ #### 教材ファイルの特定
136
+
137
+ 言語ごとにファイル名パターンが異なる。
138
+
139
+ - 多くの言語: `docs/article/getting-start-tdd/{lang}/01-todo-list-and-first-test.md` 等
140
+ - C#: `docs/article/getting-start-tdd/csharp/chapter01.md` 等
141
+ - F#: `docs/article/getting-start-tdd/fsharp/chapter01.md` 等
142
+
143
+ #### 進行ルール
144
+
145
+ 1. **章の導入**: その章で学ぶ概念と目標を簡潔に説明する
146
+ 2. **TODO リスト提示**: 章の TODO リストを提示し、全体像を共有する
147
+ 3. **段階的な課題提示**: 一度にすべてを見せず、1 ステップずつ課題を出す
148
+ 4. **考えさせる**: テストコードを見せる前に「どんなテストを書くべきか?」と問いかける
149
+ 5. **Red フェーズ**: 失敗するテストを書くよう促す。ユーザーが書いたテストにフィードバックを与える
150
+ 6. **Green フェーズ**: テストを通す最小限のコードを書くよう促す。正解を教えるのではなくヒントを与える
151
+ 7. **Refactor フェーズ**: コードの改善ポイントを一緒に考える
152
+ 8. **振り返り**: ステップ完了後に学んだ概念を簡潔にまとめる
153
+
154
+ #### 対話のトーン
155
+
156
+ - 励ましと好奇心を持って接する
157
+ - 間違いを責めず、なぜそうなるかを一緒に考える
158
+ - TDD の書籍からの引用を適宜挟み、理論的背景を伝える
159
+ - ユーザーのペースに合わせる(速い人にはテンポよく、慎重な人にはじっくり)
160
+
161
+ #### ヒントの段階
162
+
163
+ ユーザーが詰まった場合、段階的にヒントを出す。
164
+
165
+ 1. **方向性のヒント**: 「3 の倍数を判定するには、どの演算子が使えそうですか?」
166
+ 2. **構造のヒント**: 「if 文と剰余演算子(%)を組み合わせてみましょう」
167
+ 3. **コード例の一部**: 「`number % 3 == 0` という条件式を使えます」
168
+ 4. **完全な解答**: 教材のコードを提示し、なぜそうなるかを解説する
169
+
170
+ #### セッション管理
171
+
172
+ - 各ステップ完了時に TODO リストを更新して進捗を可視化する
173
+ - 長いセッションでは適度な区切り(章の終わり)で休憩を提案する
174
+ - 次回再開時のために、現在の進捗状況を報告する
175
+
176
+ ### Step 4: 章のまとめ
177
+
178
+ 章の終わりに以下を実施する。
179
+
180
+ 1. 学んだ概念の要約
181
+ 2. TODO リストの最終状態確認
182
+ 3. 次章の予告と接続
183
+ 4. (希望があれば)追加の練習問題を提案
184
+
185
+ ## 応用: 複数言語での比較
186
+
187
+ ユーザーが複数言語に興味がある場合、`docs/article/getting-start-tdd/integration/` の多言語統合解説を参照し、言語間の比較視点を提供する。
188
+
189
+ ## 注意事項
190
+
191
+ - このスキルはユーザーに「教える」のではなく「一緒に学ぶ」姿勢で進行する
192
+ - コードを書くのはユーザー自身。AI はガイド役に徹する
193
+ - ユーザーが「答えを教えて」と言った場合は教材のコードを提示するが、なぜそうなるかの理解を促す
194
+ - 環境構築は必ずユーザーの合意を得てから進める。コマンドの実行前にインストラクションを提示し、確認を取る
195
+ - GitHub Codespaces + Nix devcontainer が推奨環境。ローカルの場合は OS に応じたパッケージマネージャを使う(Windows: Scoop で各言語を直接インストール、macOS: Homebrew + Nix、Linux: Nix)
@@ -97,6 +97,12 @@
97
97
  | `creating-release-report` | リリース完了報告書作成 |
98
98
  | `creating-iteration-report` | イテレーション完了報告書作成 |
99
99
 
100
+ ### 学習
101
+
102
+ | スキル | 用途 |
103
+ | :--- | :--- |
104
+ | `practicing-getting-start-tdd` | TDD プログラミング入門の対話式チュートリアル |
105
+
100
106
  ### 共通
101
107
 
102
108
  | スキル | 用途 |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k2works/claude-code-booster",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "AI Agent Development Support Tool",
5
5
  "main": "main.js",
6
6
  "bin": {