@k2works/claude-code-booster 0.13.0 → 0.15.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.
@@ -2,11 +2,12 @@
2
2
  FROM ubuntu:22.04 AS base
3
3
 
4
4
  # 環境変数の設定
5
+ ARG NODE_MAJOR=22
5
6
  ENV DEBIAN_FRONTEND=noninteractive \
6
7
  LANG=ja_JP.UTF-8 \
7
8
  LC_ALL=ja_JP.UTF-8 \
8
9
  LC_CTYPE=ja_JP.UTF-8 \
9
- NODE_VER=22
10
+ NODE_VER=$NODE_MAJOR
10
11
 
11
12
  # ユーザーの設定
12
13
  ARG USERNAME=developer
@@ -15,8 +16,6 @@ ARG USER_GID=$USER_UID
15
16
 
16
17
  RUN groupadd --gid $USER_GID $USERNAME \
17
18
  && 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
19
  && apt-get update \
21
20
  && apt-get install -y sudo \
22
21
  && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
@@ -40,11 +39,30 @@ RUN apt-get update && apt-get install -y \
40
39
  wget \
41
40
  vim \
42
41
  tmux \
42
+ xz-utils \
43
43
  && apt-get clean \
44
44
  && rm -rf /var/lib/apt/lists/*
45
45
 
46
+ # Nixのインストール
47
+ ENV NIX_INSTALL_DIR=/nix
48
+ RUN mkdir -m 0755 $NIX_INSTALL_DIR && chown $USERNAME $NIX_INSTALL_DIR
49
+ USER $USERNAME
50
+ ENV USER=$USERNAME
51
+ ENV HOME=/home/$USERNAME
52
+ RUN curl -L https://nixos.org/nix/install | sh -s -- --no-daemon \
53
+ && echo '. /home/'$USERNAME'/.nix-profile/etc/profile.d/nix.sh' >> /home/$USERNAME/.bashrc \
54
+ && mkdir -p /home/$USERNAME/.config/nix \
55
+ && echo "experimental-features = nix-command flakes" >> /home/$USERNAME/.config/nix/nix.conf
56
+
57
+ # Nix環境変数の設定
58
+ ENV PATH="/home/$USERNAME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:${PATH}" \
59
+ NIX_PATH="/home/$USERNAME/.nix-profile/etc/profile.d/nix.sh:/nix/var/nix/profiles/default/etc/profile.d/nix.sh" \
60
+ NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
61
+
62
+ USER root
63
+
46
64
  # Node.jsのインストール
47
- RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
65
+ RUN curl -fsSL https://deb.nodesource.com/setup_$NODE_VER.x | bash - \
48
66
  && apt-get install -y nodejs \
49
67
  && npm install -g yarn \
50
68
  && mkdir -p /home/$USERNAME/.nvm \
@@ -65,7 +83,7 @@ RUN npm install -g @google/gemini-cli
65
83
  RUN npm install -g @anthropic-ai/claude-code
66
84
 
67
85
  # Copilot CLIのインストール
68
- RUN nnpm install -g @github/copilot
86
+ RUN npm install -g @github/copilot
69
87
 
70
88
  # すべてのインストールが完了した後、ユーザーのホームディレクトリの所有権を確保
71
89
  RUN chown -R $USERNAME:$USERNAME /home/$USERNAME
@@ -8,13 +8,14 @@
8
8
 
9
9
  | ソフトウェア | バージョン | 備考 |
10
10
  | :----------- | :--------- | :--- |
11
- | nodejs | 12.12.0 | |
11
+ | nodejs | 22.x | |
12
12
 
13
13
  ## 構成
14
14
 
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,15 @@
1
1
  services:
2
+ dev:
3
+ build:
4
+ context: .
5
+ dockerfile: Dockerfile
6
+ args:
7
+ NODE_MAJOR: 22
8
+ volumes:
9
+ - .:/srv
10
+ tty: true
11
+ stdin_open: true
12
+
2
13
  mkdocs:
3
14
  build:
4
15
  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.15.0",
4
4
  "description": "AI Agent Development Support Tool",
5
5
  "main": "main.js",
6
6
  "bin": {