@k2works/claude-code-booster 0.21.2 → 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.
@@ -24,6 +24,16 @@
24
24
  | `<C-n>` | 下に移動 | 挿入 |
25
25
  | `<C-b>` | 左に移動 | 挿入 |
26
26
  | `<C-f>` | 右に移動 | 挿入 |
27
+ | `gt` | 次のタブへ移動 | ノーマル |
28
+ | `gT` | 前のタブへ移動 | ノーマル |
29
+
30
+ ## ファイル・バッファ操作
31
+ | コマンド | 動作 |
32
+ |---|---|
33
+ | `:tabnew` | 新しいタブを開く |
34
+ | `:tabe [ファイル名]` | 指定したファイルを新しいタブで開く |
35
+ | `:tabclose` | 現在のタブを閉じる |
36
+ | `:e!` | 現在のバッファを破棄してディスクから強制的に再読み込みする |
27
37
 
28
38
  ## 開発機能 (Plugins)
29
39
 
@@ -126,6 +136,11 @@
126
136
  - **シンタックスハイライト**: `vim-scala` により Scala 構文がサポートされます。
127
137
  - **LSP連携**: `nix develop .#scala` 環境下で、`Metals` を使用した高度な開発が可能です。
128
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
+
129
144
  ### [CtrlP](https://github.com/ctrlpvim/ctrlp.vim) (ファイル検索・セレクタ)
130
145
  | キー | 動作 |
131
146
  |---|---|
@@ -71,12 +71,11 @@
71
71
 
72
72
  ### 2. Python
73
73
  - **起動コマンド**: `nix develop .#python`
74
- - **主要ツール**: Python 3.12, pip, pytest, ruff (Linter/Formatter)
74
+ - **主要ツール**: Python 3.12, uv, pytest, ruff (Linter/Formatter)
75
75
  - **初期化**:
76
76
  ```bash
77
- python -m venv .venv
78
- source .venv/bin/activate
79
- pip install pytest ruff
77
+ uv init
78
+ uv add --dev pytest ruff
80
79
  ```
81
80
  - **TDDチュートリアル**:
82
81
  1. **Red**: `test_hello.py` を作成。
@@ -85,15 +84,15 @@
85
84
  def test_hello():
86
85
  assert hello() == "Hello, World!"
87
86
  ```
88
- 実行(失敗): `pytest`
87
+ 実行(失敗): `uv run pytest`
89
88
  2. **Green**: `hello.py` を実装。
90
89
  ```python
91
90
  def hello():
92
91
  return "Hello, World!"
93
92
  ```
94
- 3. **Refactor**: `ruff check .` や `ruff format .` で品質を整える。
93
+ 3. **Refactor**: `uv run ruff check .` や `uv run ruff format .` で品質を整える。
95
94
  - **自動化**:
96
- - `pytest-watch` (要インストール) 等で自動テスト。
95
+ - `uv run pytest` を使用。
97
96
 
98
97
  ### 3. Go
99
98
  - **起動コマンド**: `nix develop .#go`
@@ -163,6 +162,7 @@
163
162
  ```java
164
163
  @Test
165
164
  void testGreeting() {
165
+ Library classUnderTest = new Library();
166
166
  assertEquals("Hello, World!", classUnderTest.getGreeting());
167
167
  }
168
168
  ```
@@ -181,21 +181,45 @@
181
181
  - **主要ツール**: .NET SDK, OmniSharp
182
182
  - **初期化**:
183
183
  ```bash
184
- dotnet new xunit -n Hello.Tests
185
- 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
+ # テストプロジェクトからライブラリプロジェクトへの参照を追加
186
193
  dotnet add Hello.Tests/Hello.Tests.csproj reference Hello/Hello.csproj
187
194
  ```
188
195
  - **TDDチュートリアル**:
189
196
  1. **Red**: `Hello.Tests/UnitTest1.cs` を修正。
190
197
  ```csharp
191
- 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
+ }
192
209
  ```
193
210
  実行(失敗): `dotnet test`
194
- 2. **Green**: `Hello/Class1.cs` を実装。
211
+ 2. **Green**: `Hello/Lib.cs` を実装。
195
212
  ```csharp
196
- 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
+ }
197
219
  ```
198
220
  3. **Refactor**: `dotnet format` でコードを整形。
221
+ - **自動化**:
222
+ - `dotnet watch test` で変更を監視し自動テスト実行。
199
223
 
200
224
  ### 7. Ruby
201
225
  - **起動コマンド**: `nix develop .#ruby`
@@ -254,17 +278,17 @@
254
278
  - **主要ツール**: GHC, Stack, Cabal, HLS, hlint, fourmolu
255
279
  - **初期化**:
256
280
  ```bash
257
- # プロジェクトの作成(対話形式をスキップする場合)
258
- cabal init -n --lib --test
259
- # 依存関係(hspec)を .cabal ファイルに追加
260
- 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
261
285
  ```
262
286
  - **TDDチュートリアル**:
263
- 1. **Red**: `test/MyLibTest.hs` (または既存のテストファイル) を編集.
287
+ 1. **Red**: `test/Spec.hs` を編集.
264
288
  ```haskell
265
289
  module Main (main) where
266
290
  import Test.Hspec
267
- import MyLib (hello)
291
+ import Lib (hello)
268
292
 
269
293
  main :: IO ()
270
294
  main = hspec $ do
@@ -272,10 +296,10 @@
272
296
  it "returns greeting" $ do
273
297
  hello `shouldBe` "Hello, World!"
274
298
  ```
275
- 実行(失敗): `cabal test`
276
- 2. **Green**: `src/MyLib.hs` を実装.
299
+ 実行(失敗): `stack test`
300
+ 2. **Green**: `src/Lib.hs` を実装.
277
301
  ```haskell
278
- module MyLib (hello) where
302
+ module Lib (hello) where
279
303
  hello :: String
280
304
  hello = "Hello, World!"
281
305
  ```
@@ -283,7 +307,7 @@
283
307
  - `hlint .` でコードの改善案をチェック.
284
308
  - `fourmolu -i src/**/*.hs` でコードを整形.
285
309
  - **自動化**:
286
- - `ghcid --command="cabal repl test:..." --test="main"` で変更を監視し自動テスト実行.
310
+ - `stack test --file-watch` で変更を監視し自動テスト実行.
287
311
 
288
312
  ### 10. Clojure
289
313
  - **起動コマンド**: `nix develop .#clojure`
@@ -383,6 +407,43 @@
383
407
  - **自動化**:
384
408
  - `scala-cli test . --watch` で変更を監視し自動テスト実行.
385
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
+
386
447
  ---
387
448
 
388
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,11 +201,12 @@ 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')
207
208
  call dein#add('stanangeloff/php.vim')
208
- call dein#add('phpactor/phpactor', {'type': 'lua', 'on_ft': 'php'})
209
+ call dein#add('phpactor/phpactor', {'on_ft': 'php'})
209
210
  call dein#add('Olical/conjure')
210
211
  call dein#add('clojure-vim/clojure.vim')
211
212
  call dein#add('tpope/vim-fireplace', {'on_ft': 'clojure'})
@@ -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.2",
3
+ "version": "0.21.4",
4
4
  "description": "AI Agent Development Support Tool",
5
5
  "main": "main.js",
6
6
  "bin": {