@k2works/claude-code-booster 0.21.3 → 0.21.4

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.
@@ -136,6 +136,11 @@
136
136
  - **シンタックスハイライト**: `vim-scala` により Scala 構文がサポートされます。
137
137
  - **LSP連携**: `nix develop .#scala` 環境下で、`Metals` を使用した高度な開発が可能です。
138
138
 
139
+ ### [F# 開発](https://github.com/ionide/ionide-vim)
140
+ - **Ionide-vim**: F# 用の高度な開発支援プラグインです。
141
+ - **シンタックスハイライト**: `ionide/ionide-vim` により F# 構文がサポートされます。
142
+ - **LSP連携**: `nix develop .#dotnet` 環境下で、`ionide-vim` による高度な開発支援(補完、定義ジャンプ等)が利用可能です。
143
+
139
144
  ### [CtrlP](https://github.com/ctrlpvim/ctrlp.vim) (ファイル検索・セレクタ)
140
145
  | キー | 動作 |
141
146
  |---|---|
@@ -162,6 +162,7 @@
162
162
  ```java
163
163
  @Test
164
164
  void testGreeting() {
165
+ Library classUnderTest = new Library();
165
166
  assertEquals("Hello, World!", classUnderTest.getGreeting());
166
167
  }
167
168
  ```
@@ -180,21 +181,45 @@
180
181
  - **主要ツール**: .NET SDK, OmniSharp
181
182
  - **初期化**:
182
183
  ```bash
183
- dotnet new xunit -n Hello.Tests
184
- dotnet new classlib -n Hello
184
+ # ソリューションの作成
185
+ dotnet new sln --name Hello
186
+ # ライブラリプロジェクトの作成
187
+ dotnet new classlib -o Hello
188
+ # テストプロジェクトの作成
189
+ dotnet new xunit -o Hello.Tests
190
+ # プロジェクトをソリューションに追加
191
+ dotnet sln Hello.sln add Hello/Hello.csproj Hello.Tests/Hello.Tests.csproj
192
+ # テストプロジェクトからライブラリプロジェクトへの参照を追加
185
193
  dotnet add Hello.Tests/Hello.Tests.csproj reference Hello/Hello.csproj
186
194
  ```
187
195
  - **TDDチュートリアル**:
188
196
  1. **Red**: `Hello.Tests/UnitTest1.cs` を修正。
189
197
  ```csharp
190
- Assert.Equal("Hello, World!", Hello.Lib.Greet());
198
+ namespace Hello.Tests;
199
+ using Xunit;
200
+
201
+ public class UnitTest1
202
+ {
203
+ [Fact]
204
+ public void Test1()
205
+ {
206
+ Assert.Equal("Hello, World!", Hello.Lib.Greet());
207
+ }
208
+ }
191
209
  ```
192
210
  実行(失敗): `dotnet test`
193
- 2. **Green**: `Hello/Class1.cs` を実装。
211
+ 2. **Green**: `Hello/Lib.cs` を実装。
194
212
  ```csharp
195
- namespace Hello { public class Lib { public static string Greet() => "Hello, World!"; } }
213
+ namespace Hello;
214
+
215
+ public static class Lib
216
+ {
217
+ public static string Greet() => "Hello, World!";
218
+ }
196
219
  ```
197
220
  3. **Refactor**: `dotnet format` でコードを整形。
221
+ - **自動化**:
222
+ - `dotnet watch test` で変更を監視し自動テスト実行。
198
223
 
199
224
  ### 7. Ruby
200
225
  - **起動コマンド**: `nix develop .#ruby`
@@ -253,17 +278,17 @@
253
278
  - **主要ツール**: GHC, Stack, Cabal, HLS, hlint, fourmolu
254
279
  - **初期化**:
255
280
  ```bash
256
- # プロジェクトの作成(対話形式をスキップする場合)
257
- cabal init -n --lib --test
258
- # 依存関係(hspec)を .cabal ファイルに追加
259
- sed -i 's/build-depends: /build-depends: hspec, /' *.cabal
281
+ stack new hello
282
+ cd hello
283
+ # package.yaml の tests.hello-test.dependencies に hspec を追加
284
+ stack test
260
285
  ```
261
286
  - **TDDチュートリアル**:
262
- 1. **Red**: `test/MyLibTest.hs` (または既存のテストファイル) を編集.
287
+ 1. **Red**: `test/Spec.hs` を編集.
263
288
  ```haskell
264
289
  module Main (main) where
265
290
  import Test.Hspec
266
- import MyLib (hello)
291
+ import Lib (hello)
267
292
 
268
293
  main :: IO ()
269
294
  main = hspec $ do
@@ -271,10 +296,10 @@
271
296
  it "returns greeting" $ do
272
297
  hello `shouldBe` "Hello, World!"
273
298
  ```
274
- 実行(失敗): `cabal test`
275
- 2. **Green**: `src/MyLib.hs` を実装.
299
+ 実行(失敗): `stack test`
300
+ 2. **Green**: `src/Lib.hs` を実装.
276
301
  ```haskell
277
- module MyLib (hello) where
302
+ module Lib (hello) where
278
303
  hello :: String
279
304
  hello = "Hello, World!"
280
305
  ```
@@ -282,7 +307,7 @@
282
307
  - `hlint .` でコードの改善案をチェック.
283
308
  - `fourmolu -i src/**/*.hs` でコードを整形.
284
309
  - **自動化**:
285
- - `ghcid --command="cabal repl test:..." --test="main"` で変更を監視し自動テスト実行.
310
+ - `stack test --file-watch` で変更を監視し自動テスト実行.
286
311
 
287
312
  ### 10. Clojure
288
313
  - **起動コマンド**: `nix develop .#clojure`
@@ -382,6 +407,43 @@
382
407
  - **自動化**:
383
408
  - `scala-cli test . --watch` で変更を監視し自動テスト実行.
384
409
 
410
+ ### 13. F#
411
+ - **起動コマンド**: `nix develop .#dotnet`
412
+ - **主要ツール**: .NET SDK, Ionide (LSP), Fantomas (Formatter)
413
+ - **初期化**:
414
+ ```bash
415
+ # ソリューションの作成
416
+ dotnet new sln --name Hello
417
+ # ライブラリプロジェクトの作成
418
+ dotnet new classlib -lang "F#" -o Hello
419
+ # テストプロジェクトの作成
420
+ dotnet new xunit -lang "F#" -o Hello.Tests
421
+ # プロジェクトをソリューションに追加
422
+ dotnet sln Hello.sln add Hello/Hello.fsproj Hello.Tests/Hello.Tests.fsproj
423
+ # テストプロジェクトからライブラリプロジェクトへの参照を追加
424
+ dotnet add Hello.Tests/Hello.Tests.fsproj reference Hello/Hello.fsproj
425
+ ```
426
+ - **TDDチュートリアル**:
427
+ 1. **Red**: `Hello.Tests/Tests.fs` を修正。
428
+ ```fsharp
429
+ namespace Hello.Tests
430
+ open Xunit
431
+ module Tests =
432
+ [<Fact>]
433
+ let ``Hello returns greeting`` () =
434
+ Assert.Equal("Hello, World!", Hello.Lib.greet())
435
+ ```
436
+ 実行(失敗): `dotnet test`
437
+ 2. **Green**: `Hello/Library.fs` を実装。
438
+ ```fsharp
439
+ namespace Hello
440
+ module Lib =
441
+ let greet () = "Hello, World!"
442
+ ```
443
+ 3. **Refactor**: `dotnet fantomas .` (インストール済みの場合) でコードを整形。
444
+ - **自動化**:
445
+ - `dotnet watch test` で変更を監視し自動テスト実行。
446
+
385
447
  ---
386
448
 
387
449
  ## 環境の切り替え
@@ -5,7 +5,7 @@ in
5
5
  packages.mkShell {
6
6
  inherit (baseShell) pure;
7
7
  buildInputs = baseShell.buildInputs ++ (with packages; [
8
- scala
8
+ scala_3
9
9
  sbt
10
10
  metals
11
11
  scala-cli
@@ -201,6 +201,7 @@ if dein#load_state(s:dein_dir)
201
201
  call dein#add('rust-lang/rust.vim')
202
202
  call dein#add('OmniSharp/omnisharp-vim')
203
203
  call dein#add('OrangeT/vim-csharp')
204
+ call dein#add('ionide/ionide-vim')
204
205
  call dein#add('uiiaoo/java-syntax.vim')
205
206
  call dein#add('neovimhaskell/haskell-vim')
206
207
  call dein#add('vim-ruby/vim-ruby')
@@ -548,3 +549,6 @@ autocmd FileType elixir setlocal expandtab shiftwidth=2 tabstop=2
548
549
 
549
550
  " Scala
550
551
  autocmd FileType scala setlocal expandtab shiftwidth=2 tabstop=2
552
+
553
+ " F#
554
+ autocmd FileType fsharp setlocal expandtab shiftwidth=4 tabstop=4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k2works/claude-code-booster",
3
- "version": "0.21.3",
3
+ "version": "0.21.4",
4
4
  "description": "AI Agent Development Support Tool",
5
5
  "main": "main.js",
6
6
  "bin": {