@k2works/claude-code-booster 0.13.0 → 0.14.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.
@@ -15,8 +15,6 @@ ARG USER_GID=$USER_UID
15
15
 
16
16
  RUN groupadd --gid $USER_GID $USERNAME \
17
17
  && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
18
- #
19
- # [Optional] Add sudo support. Omit if you don't need to install software after connecting.
20
18
  && apt-get update \
21
19
  && apt-get install -y sudo \
22
20
  && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
@@ -40,9 +38,28 @@ RUN apt-get update && apt-get install -y \
40
38
  wget \
41
39
  vim \
42
40
  tmux \
41
+ xz-utils \
43
42
  && apt-get clean \
44
43
  && rm -rf /var/lib/apt/lists/*
45
44
 
45
+ # Nixのインストール
46
+ ENV NIX_INSTALL_DIR=/nix
47
+ RUN mkdir -m 0755 $NIX_INSTALL_DIR && chown $USERNAME $NIX_INSTALL_DIR
48
+ USER $USERNAME
49
+ ENV USER=$USERNAME
50
+ ENV HOME=/home/$USERNAME
51
+ RUN curl -L https://nixos.org/nix/install | sh -s -- --no-daemon \
52
+ && echo '. /home/'$USERNAME'/.nix-profile/etc/profile.d/nix.sh' >> /home/$USERNAME/.bashrc \
53
+ && mkdir -p /home/$USERNAME/.config/nix \
54
+ && echo "experimental-features = nix-command flakes" >> /home/$USERNAME/.config/nix/nix.conf
55
+
56
+ # Nix環境変数の設定
57
+ ENV PATH="/home/$USERNAME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:${PATH}" \
58
+ NIX_PATH="/home/$USERNAME/.nix-profile/etc/profile.d/nix.sh:/nix/var/nix/profiles/default/etc/profile.d/nix.sh" \
59
+ NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
60
+
61
+ USER root
62
+
46
63
  # Node.jsのインストール
47
64
  RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
48
65
  && apt-get install -y nodejs \
@@ -65,7 +82,7 @@ RUN npm install -g @google/gemini-cli
65
82
  RUN npm install -g @anthropic-ai/claude-code
66
83
 
67
84
  # Copilot CLIのインストール
68
- RUN nnpm install -g @github/copilot
85
+ RUN npm install -g @github/copilot
69
86
 
70
87
  # すべてのインストールが完了した後、ユーザーのホームディレクトリの所有権を確保
71
88
  RUN chown -R $USERNAME:$USERNAME /home/$USERNAME
@@ -15,6 +15,7 @@
15
15
  - [構築](#構築)
16
16
  - [配置](#配置)
17
17
  - [運用](#運用)
18
+ - [Nix による開発環境](#nix-による開発環境)
18
19
  - [開発](#開発)
19
20
 
20
21
  ## 詳細
@@ -162,6 +163,13 @@ docker pull ghcr.io/k2works/{project_name}:0.0.1
162
163
  docker run -it -v $(pwd):/srv ghcr.io/k2works/{project_name}:latest
163
164
  ```
164
165
 
166
+ または、docker-compose を使用してローカルでビルド・実行することもできます:
167
+
168
+ ```bash
169
+ # 開発環境を起動して中に入る
170
+ docker-compose run --rm dev bash
171
+ ```
172
+
165
173
  認証が必要な場合は、以下のコマンドでログインします:
166
174
 
167
175
  ```bash
@@ -183,6 +191,42 @@ VS Code で Dev Container を使用する場合:
183
191
 
184
192
  **[⬆ back to top](#構成)**
185
193
 
194
+ ### Nix による開発環境
195
+
196
+ Nix を使用して、再現可能な開発環境を構築できます。
197
+
198
+ #### 準備
199
+
200
+ 1. [Nix をインストール](https://nixos.org/download.html)します。
201
+ 2. Flakes を有効にします(`~/.config/nix/nix.conf` に `experimental-features = nix-command flakes` を追加)。
202
+
203
+ #### 環境の利用
204
+
205
+ - **デフォルト環境(共通ツール)に入る:**
206
+ ```bash
207
+ nix develop
208
+ ```
209
+
210
+ - **Node.js 環境に入る:**
211
+ ```bash
212
+ nix develop .#node
213
+ ```
214
+
215
+ - **Python/MkDocs 環境に入る:**
216
+ ```bash
217
+ nix develop .#python
218
+ ```
219
+
220
+ 環境から抜けるには `exit` を入力します。
221
+
222
+ #### 依存関係の更新
223
+
224
+ ```bash
225
+ nix flake update
226
+ ```
227
+
228
+ **[⬆ back to top](#構成)**
229
+
186
230
  ### 開発
187
231
 
188
232
  **[⬆ back to top](#構成)**
@@ -1,4 +1,13 @@
1
1
  services:
2
+ dev:
3
+ build:
4
+ context: .
5
+ dockerfile: Dockerfile
6
+ volumes:
7
+ - .:/srv
8
+ tty: true
9
+ stdin_open: true
10
+
2
11
  mkdocs:
3
12
  build:
4
13
  context: .
@@ -0,0 +1,61 @@
1
+ {
2
+ "nodes": {
3
+ "flake-utils": {
4
+ "inputs": {
5
+ "systems": "systems"
6
+ },
7
+ "locked": {
8
+ "lastModified": 1731533236,
9
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
10
+ "owner": "numtide",
11
+ "repo": "flake-utils",
12
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
13
+ "type": "github"
14
+ },
15
+ "original": {
16
+ "owner": "numtide",
17
+ "repo": "flake-utils",
18
+ "type": "github"
19
+ }
20
+ },
21
+ "nixpkgs": {
22
+ "locked": {
23
+ "lastModified": 1767640445,
24
+ "narHash": "sha256-UWYqmD7JFBEDBHWYcqE6s6c77pWdcU/i+bwD6XxMb8A=",
25
+ "owner": "nixos",
26
+ "repo": "nixpkgs",
27
+ "rev": "9f0c42f8bc7151b8e7e5840fb3bd454ad850d8c5",
28
+ "type": "github"
29
+ },
30
+ "original": {
31
+ "owner": "nixos",
32
+ "ref": "nixos-unstable",
33
+ "repo": "nixpkgs",
34
+ "type": "github"
35
+ }
36
+ },
37
+ "root": {
38
+ "inputs": {
39
+ "flake-utils": "flake-utils",
40
+ "nixpkgs": "nixpkgs"
41
+ }
42
+ },
43
+ "systems": {
44
+ "locked": {
45
+ "lastModified": 1681028828,
46
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
47
+ "owner": "nix-systems",
48
+ "repo": "default",
49
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
50
+ "type": "github"
51
+ },
52
+ "original": {
53
+ "owner": "nix-systems",
54
+ "repo": "default",
55
+ "type": "github"
56
+ }
57
+ }
58
+ },
59
+ "root": "root",
60
+ "version": 7
61
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ description = "Development environments managed with Nix for claude-code-booster assets";
3
+
4
+ inputs = {
5
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
6
+ flake-utils.url = "github:numtide/flake-utils";
7
+ };
8
+
9
+ outputs = { self, nixpkgs, flake-utils }:
10
+ flake-utils.lib.eachDefaultSystem (system:
11
+ let
12
+ packages = nixpkgs.legacyPackages.${system};
13
+ in
14
+ {
15
+ devShells = {
16
+ default = import ./ops/nix/shells/shell.nix { inherit packages; };
17
+ node = import ./ops/nix/environments/node/shell.nix { inherit packages; };
18
+ python = import ./ops/nix/environments/python/shell.nix { inherit packages; };
19
+ };
20
+ }
21
+ );
22
+ }
@@ -0,0 +1,20 @@
1
+ { packages ? import <nixpkgs> {} }:
2
+ let
3
+ baseShell = import ../../shells/shell.nix { inherit packages; };
4
+ in
5
+ packages.mkShell {
6
+ inherit (baseShell) pure;
7
+ buildInputs = baseShell.buildInputs ++ (with packages; [
8
+ nodejs_22
9
+ nodePackages.npm
10
+ nodePackages.yarn
11
+ # AI tools
12
+ nodePackages."@anthropic-ai/claude-code"
13
+ # Note: gemini-cli and copilot CLI might not be in standard nixpkgs under these names
14
+ # or might need specific versions. Using what's typically available.
15
+ ]);
16
+ shellHook = ''
17
+ ${baseShell.shellHook}
18
+ echo "Node.js development environment activated"
19
+ '';
20
+ }
@@ -0,0 +1,19 @@
1
+ { packages ? import <nixpkgs> {} }:
2
+ let
3
+ baseShell = import ../../shells/shell.nix { inherit packages; };
4
+ in
5
+ packages.mkShell {
6
+ inherit (baseShell) pure;
7
+ buildInputs = baseShell.buildInputs ++ (with packages; [
8
+ (python3.withPackages (ps: with ps; [
9
+ mkdocs
10
+ mkdocs-material
11
+ pymdown-extensions
12
+ # plantuml-markdown and others might need to be checked if available
13
+ ]))
14
+ ]);
15
+ shellHook = ''
16
+ ${baseShell.shellHook}
17
+ echo "Python/MkDocs development environment activated"
18
+ '';
19
+ }
@@ -0,0 +1,17 @@
1
+ { packages ? import <nixpkgs> {} }:
2
+ packages.mkShell {
3
+ buildInputs = with packages; [
4
+ git
5
+ curl
6
+ wget
7
+ vim
8
+ tmux
9
+ zip
10
+ unzip
11
+ ];
12
+ # ホスト環境から完全に分離する
13
+ pure = true;
14
+ shellHook = ''
15
+ echo "Welcome to the common development environment"
16
+ '';
17
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k2works/claude-code-booster",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "AI Agent Development Support Tool",
5
5
  "main": "main.js",
6
6
  "bin": {