@k2works/claude-code-booster 4.1.1 → 4.3.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/bin/claude-code-booster +2 -2
- package/lib/assets/.claude/skills/practicing-getting-start-tdd/SKILL.md +81 -10
- package/lib/assets/.devcontainer/devcontainer.json +3 -0
- package/lib/assets/README.md +37 -0
- package/lib/assets/docs/index.md +2 -2
- package/lib/assets/ops/nix/shells/.tmux.conf +2 -0
- package/package.json +1 -1
package/bin/claude-code-booster
CHANGED
|
@@ -22,7 +22,7 @@ async function setupProject() {
|
|
|
22
22
|
try {
|
|
23
23
|
if (isUpdate) {
|
|
24
24
|
// --update オプション時は .claude と docs 配下のみ上書きコピー
|
|
25
|
-
const targets = ['.claude', 'docs'];
|
|
25
|
+
const targets = ['.claude', 'docs', '.devcontainer'];
|
|
26
26
|
for (const dir of targets) {
|
|
27
27
|
const src = path.join(templateDir, dir);
|
|
28
28
|
const dest = path.join(projectDir, dir);
|
|
@@ -56,7 +56,7 @@ async function setupProject() {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
// ルート直下の設定ファイルも上書きコピー
|
|
59
|
-
const rootFiles = ['AGENTS.md', 'CLAUDE.md'];
|
|
59
|
+
const rootFiles = ['AGENTS.md', 'CLAUDE.md', 'Dockerfile'];
|
|
60
60
|
for (const file of rootFiles) {
|
|
61
61
|
const src = path.join(templateDir, file);
|
|
62
62
|
const dest = path.join(projectDir, file);
|
|
@@ -17,6 +17,27 @@ FizzBuzz 問題を題材に、TDD(テスト駆動開発)の手法を実践
|
|
|
17
17
|
|
|
18
18
|
チュートリアルを始める前に、開発環境を準備する。環境構築は**ユーザーにインストラクションを提示し、合意を得てから**進める。勝手にコマンドを実行しない。
|
|
19
19
|
|
|
20
|
+
#### コード配置ルール
|
|
21
|
+
|
|
22
|
+
チュートリアルで作成するコードは `apps/` 配下に**言語ごとのディレクトリ**を切って配置する。言語環境・プロジェクト初期化・ソース・テストはすべてそのディレクトリ内で完結させ、他言語と干渉しないようにする。
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
apps/
|
|
26
|
+
├── java/ # Java プロジェクト(build.gradle, src/ など)
|
|
27
|
+
├── python/ # Python プロジェクト(pyproject.toml, tests/ など)
|
|
28
|
+
├── typescript/ # TypeScript プロジェクト(package.json, src/ など)
|
|
29
|
+
├── go/ # Go プロジェクト(go.mod, *_test.go など)
|
|
30
|
+
├── rust/ # Rust プロジェクト(Cargo.toml, src/ など)
|
|
31
|
+
└── ... # その他の言語も同様に `apps/{lang}/` を作成
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**進め方**:
|
|
35
|
+
|
|
36
|
+
1. 選択言語のディレクトリ `apps/{lang}/` が存在するか確認する
|
|
37
|
+
2. なければ作成し、各言語標準のプロジェクト初期化コマンド(`cargo init`、`npm init`、`go mod init` 等)をユーザーの合意を得てから実行する
|
|
38
|
+
3. 以降のテスト・実装コードはすべてこのディレクトリ配下に記述する
|
|
39
|
+
|
|
40
|
+
|
|
20
41
|
#### 推奨環境: GitHub Codespaces
|
|
21
42
|
|
|
22
43
|
最もスムーズに始められる環境。devcontainer に Nix が設定済みで、言語ごとの開発環境が即座に利用可能。
|
|
@@ -35,10 +56,31 @@ nix develop .#node # JavaScript/TypeScript の場合
|
|
|
35
56
|
|
|
36
57
|
| OS | パッケージマネージャ | 環境構築方法 |
|
|
37
58
|
|----|--------------------|-------------|
|
|
38
|
-
| Windows | [
|
|
59
|
+
| Windows(**WSL 推奨**) | [WSL](https://learn.microsoft.com/windows/wsl/) + [Nix](https://nixos.org/download) | WSL2(Ubuntu 等)に Nix をインストールし `nix develop .#{lang}` で開発環境に入る |
|
|
60
|
+
| Windows(ネイティブ) | [Scoop](https://scoop.sh/) | Scoop で各言語のランタイム・ビルドツールを直接インストール(Nix は非対応) |
|
|
39
61
|
| macOS | [Homebrew](https://brew.sh/) + [Nix](https://nixos.org/download) | Nix で `nix develop .#{lang}` または Homebrew で個別インストール |
|
|
40
62
|
| Linux | [Nix](https://nixos.org/download) | `nix develop .#{lang}` で開発環境に入る |
|
|
41
63
|
|
|
64
|
+
Windows ユーザーにはまず **WSL(Windows Subsystem for Linux)** を推奨する。WSL 上では Linux と同じく Nix / devcontainer がそのまま使え、教材の動作例ともっとも齟齬が少ない。WSL を利用できない事情がある場合に限り、ネイティブ Windows + Scoop の構成を提案する。
|
|
65
|
+
|
|
66
|
+
##### Windows(WSL)での環境構築例
|
|
67
|
+
|
|
68
|
+
```powershell
|
|
69
|
+
# PowerShell(管理者)で WSL2 と Ubuntu をインストール
|
|
70
|
+
wsl --install -d Ubuntu
|
|
71
|
+
# 再起動後、Ubuntu を起動し初期ユーザーを作成
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# WSL(Ubuntu)内で Nix をインストール
|
|
76
|
+
sh <(curl -L https://nixos.org/nix/install) --daemon
|
|
77
|
+
|
|
78
|
+
# 以降は Linux と同じ手順
|
|
79
|
+
nix develop .#java # 例: Java の場合
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Windows 側のファイルシステム(`/mnt/c/...`)ではなく、WSL の Linux ファイルシステム(`~` 配下)にリポジトリを clone すると I/O 性能が大幅に向上する。
|
|
83
|
+
|
|
42
84
|
##### Windows(Scoop)での環境構築例
|
|
43
85
|
|
|
44
86
|
Windows では Nix が使えないため、Scoop で各言語のツールを個別にインストールする。
|
|
@@ -145,11 +187,14 @@ scoop install php composer
|
|
|
145
187
|
1. **章の導入**: その章で学ぶ概念と目標を簡潔に説明する
|
|
146
188
|
2. **TODO リスト提示**: 章の TODO リストを提示し、全体像を共有する
|
|
147
189
|
3. **段階的な課題提示**: 一度にすべてを見せず、1 ステップずつ課題を出す
|
|
148
|
-
4.
|
|
149
|
-
5.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
190
|
+
4. **実装コードの提示**: 各ステップで教材に記載された **テストコード・実装コードを必ず提示** する。コードブロックと併せて「どのファイルのどの位置に書くか」も明示する
|
|
191
|
+
5. **記述方法の選択**: コード提示後、ユーザーに以下のどちらで進めるかを尋ねる
|
|
192
|
+
- **手動記述**: ユーザーが自分の手でエディタに書き写す(学習効果が高い。推奨)
|
|
193
|
+
- **自動記述**: AI が Write/Edit ツールで該当ファイルに自動で記述する(テンポ重視・確認用)
|
|
194
|
+
6. **Red フェーズ**: 提示したテストコードを記述し、失敗することを一緒に確認する
|
|
195
|
+
7. **Green フェーズ**: 提示した最小限の実装コードを記述し、テストが通ることを確認する
|
|
196
|
+
8. **Refactor フェーズ**: 提示したリファクタ後のコードを記述し、テストが通り続けることを確認する。併せて改善ポイントの意図を解説する
|
|
197
|
+
9. **ステップ振り返り**: ステップ完了後に学んだ概念を簡潔にまとめる
|
|
153
198
|
|
|
154
199
|
#### 対話のトーン
|
|
155
200
|
|
|
@@ -173,14 +218,40 @@ scoop install php composer
|
|
|
173
218
|
- 長いセッションでは適度な区切り(章の終わり)で休憩を提案する
|
|
174
219
|
- 次回再開時のために、現在の進捗状況を報告する
|
|
175
220
|
|
|
176
|
-
### Step 4:
|
|
221
|
+
### Step 4: 章のまとめと KPT 振り返り
|
|
177
222
|
|
|
178
223
|
章の終わりに以下を実施する。
|
|
179
224
|
|
|
180
225
|
1. 学んだ概念の要約
|
|
181
226
|
2. TODO リストの最終状態確認
|
|
182
|
-
3.
|
|
183
|
-
4.
|
|
227
|
+
3. **KPT 振り返りの実施**(必須)
|
|
228
|
+
4. 次章の予告と接続
|
|
229
|
+
5. (希望があれば)追加の練習問題を提案
|
|
230
|
+
|
|
231
|
+
#### KPT 振り返りの進め方
|
|
232
|
+
|
|
233
|
+
各章の最後に、KPT フレームワークで振り返りを行う。ユーザーに以下の 3 観点を順に問いかけ、回答を整理してまとめる。
|
|
234
|
+
|
|
235
|
+
- **Keep(続けたいこと)**: この章でうまくいったこと、今後も続けたい学び方や習慣
|
|
236
|
+
- **Problem(問題点)**: 詰まった箇所、理解が曖昧なまま進んだ点、学習上の課題
|
|
237
|
+
- **Try(次に試すこと)**: 次章または次回の学習で試したい改善アクション
|
|
238
|
+
|
|
239
|
+
KPT は以下のフォーマットでまとめ、セッションログとしてユーザーに提示する。
|
|
240
|
+
|
|
241
|
+
```markdown
|
|
242
|
+
## 第 N 章 KPT 振り返り
|
|
243
|
+
|
|
244
|
+
### Keep
|
|
245
|
+
- (続けたいこと)
|
|
246
|
+
|
|
247
|
+
### Problem
|
|
248
|
+
- (問題点)
|
|
249
|
+
|
|
250
|
+
### Try
|
|
251
|
+
- (次に試すこと)
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Problem で挙がった項目は、Try で具体的なアクションに変換するよう促す。Try は次章の進め方に反映させる。
|
|
184
255
|
|
|
185
256
|
## 応用: 複数言語での比較
|
|
186
257
|
|
|
@@ -192,4 +263,4 @@ scoop install php composer
|
|
|
192
263
|
- コードを書くのはユーザー自身。AI はガイド役に徹する
|
|
193
264
|
- ユーザーが「答えを教えて」と言った場合は教材のコードを提示するが、なぜそうなるかの理解を促す
|
|
194
265
|
- 環境構築は必ずユーザーの合意を得てから進める。コマンドの実行前にインストラクションを提示し、確認を取る
|
|
195
|
-
- GitHub Codespaces + Nix devcontainer が推奨環境。ローカルの場合は OS に応じたパッケージマネージャを使う(Windows: Scoop で各言語を直接インストール、macOS: Homebrew + Nix、Linux: Nix)
|
|
266
|
+
- GitHub Codespaces + Nix devcontainer が推奨環境。ローカルの場合は OS に応じたパッケージマネージャを使う(Windows: **WSL + Nix を第一推奨**、困難なら Scoop で各言語を直接インストール、macOS: Homebrew + Nix、Linux: Nix)
|
package/lib/assets/README.md
CHANGED
|
@@ -249,6 +249,43 @@ Nix を使用して、再現可能な開発環境を構築できます。
|
|
|
249
249
|
nix flake update
|
|
250
250
|
```
|
|
251
251
|
|
|
252
|
+
#### GitHub Codespaces に SSH 接続
|
|
253
|
+
|
|
254
|
+
外部ターミナルアプリから GitHub Codespaces に SSH 接続することで、VS Code のエディタスペースを広く使いながら別ウィンドウのターミナルで作業できます。
|
|
255
|
+
|
|
256
|
+
##### 前提条件
|
|
257
|
+
|
|
258
|
+
- [GitHub CLI](https://cli.github.com/) がインストール済みであること
|
|
259
|
+
|
|
260
|
+
##### 手順
|
|
261
|
+
|
|
262
|
+
1. **Codespace を作成する**
|
|
263
|
+
|
|
264
|
+
https://github.com/codespaces から Codespace を作成します。
|
|
265
|
+
|
|
266
|
+
2. **Codespace 名を確認する**
|
|
267
|
+
|
|
268
|
+
ブラウザに表示される Codespace の URL から名前を取得します。
|
|
269
|
+
|
|
270
|
+
例: URL が `https://upgraded-cod-rpxpjr97jrwcxxw7.github.dev/` の場合、Codespace 名は `upgraded-cod-rpxpjr97jrwcxxw7` です。
|
|
271
|
+
|
|
272
|
+
3. **SSH 接続する**
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
gh codespace ssh -c <codespace名>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
例:
|
|
279
|
+
```bash
|
|
280
|
+
gh codespace ssh -c upgraded-cod-rpxpjr97jrwcxxw7
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
接続後は `npm run build` や `git log` など通常のターミナル操作が可能です。
|
|
284
|
+
|
|
285
|
+
##### 参考
|
|
286
|
+
|
|
287
|
+
- [GitHub Codespaces に SSH 接続する](https://zenn.dev/hirokisakabe/articles/fdd7eb730423c0)
|
|
288
|
+
|
|
252
289
|
**[⬆ back to top](#構成)**
|
|
253
290
|
|
|
254
291
|
## 参照
|
package/lib/assets/docs/index.md
CHANGED
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
| [レビュー](./review/index.md) | 分析・開発レビュー結果の記録 | `index.md` を整備済み |
|
|
24
24
|
| [ADR](./adr/index.md) | Architecture Decision Records の管理 | `index.md` を整備済み |
|
|
25
25
|
| [記事](./article/index.md) | 学習用の記事シリーズ一覧 | `index.md` を整備済み |
|
|
26
|
-
| [リファレンス](./reference/index.md) | 開発ガイドラインやベストプラクティス |
|
|
27
|
-
| [テンプレート](./template/index.md) | 各種ドキュメントの作成テンプレート |
|
|
26
|
+
| [リファレンス](./reference/index.md) | 開発ガイドラインやベストプラクティス | 30 件のドキュメントを配置 |
|
|
27
|
+
| [テンプレート](./template/index.md) | 各種ドキュメントの作成テンプレート | 18 件のテンプレートを配置 |
|
|
28
28
|
|
|
29
29
|
## 補足
|
|
30
30
|
|