@puku/puku-cli 1.8.56 → 1.8.66

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/LICENSE CHANGED
@@ -1,10 +1,10 @@
1
1
  NOTICE
2
2
 
3
- This repository contains code derived from Anthropic's Claude Code CLI.
3
+ This repository contains code derived from Puku CLI's prior version.
4
4
 
5
- The original Claude Code source is proprietary software:
6
- Copyright (c) Anthropic PBC. All rights reserved.
7
- Subject to Anthropic's Commercial Terms of Service.
5
+ The original Puku CLI source is proprietary software:
6
+ Copyright (c) Puku CLI. All rights reserved.
7
+ Subject to Puku CLI's Commercial Terms of Service.
8
8
 
9
9
  Modifications and additions by puku-cli contributors are offered under
10
10
  the MIT License where legally permissible:
@@ -23,7 +23,7 @@ the MIT License where legally permissible:
23
23
 
24
24
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
25
25
 
26
- The underlying derived code remains subject to Anthropic's copyright.
27
- This project does not have Anthropic's authorization to distribute
26
+ The underlying derived code remains subject to Puku CLI's copyright.
27
+ This project does not have Puku CLI's authorization to distribute
28
28
  their proprietary source. Users and contributors should evaluate their
29
29
  own legal position.
package/README.md CHANGED
@@ -7,15 +7,13 @@
7
7
  <a href="https://www.npmjs.com/package/@puku/puku-cli">
8
8
  <img src="https://img.shields.io/npm/dt/@puku/puku-cli.svg" alt="npm downloads">
9
9
  </a>
10
- <a href="LICENSE">
11
- <img src="https://img.shields.io/badge/license-Proprietary-blue.svg" alt="license">
12
- </a>
10
+ <img src="https://img.shields.io/badge/license-Source%20Available-blue.svg" alt="license: Source Available">
13
11
  <a href="https://nodejs.org">
14
12
  <img src="https://img.shields.io/node/v/@puku/puku-cli.svg" alt="node version">
15
13
  </a>
16
14
  </p>
17
15
 
18
- AI coding assistant powered by **Puku AI** — an intelligent CLI tool that helps developers write, debug, explain, and optimize code directly from the terminal.
16
+ Terminal coding assistant powered by Puku AI.
19
17
 
20
18
  ## Features
21
19
 
@@ -27,6 +25,7 @@ AI coding assistant powered by **Puku AI** — an intelligent CLI tool that help
27
25
  ## Requirements
28
26
 
29
27
  - Node.js 20 or higher
28
+ - **Linux only:** `bubblewrap`, `socat`, and `ripgrep` (see [Sandbox prerequisites](#sandbox-prerequisites-linux) below)
30
29
 
31
30
  ## Installation
32
31
 
@@ -38,6 +37,60 @@ npm install -g @puku/puku-cli
38
37
  bun add -g @puku/puku-cli
39
38
  ```
40
39
 
40
+ > **⚠️ Linux users — install sandbox prerequisites first.**
41
+ >
42
+ > The Linux sandbox needs three binaries from your **OS package manager**
43
+ > that are not bundled with puku-cli. If they're missing, the CLI will
44
+ > refuse to start with a message like `apt install socat`:
45
+ >
46
+ > ```bash
47
+ > # Debian / Ubuntu
48
+ > sudo apt install bubblewrap socat ripgrep
49
+ >
50
+ > # Fedora / RHEL
51
+ > sudo dnf install bubblewrap socat ripgrep
52
+ >
53
+ > # Arch
54
+ > sudo pacman -S bubblewrap socat ripgrep
55
+ > ```
56
+ >
57
+ > macOS and Windows need no extra packages — macOS uses the built-in
58
+ > `sandbox-exec`, Windows uses a bundled helper.
59
+
60
+ ## Sandbox prerequisites (Linux)
61
+
62
+ The puku-cli sandbox on Linux uses `bubblewrap` for user-namespace
63
+ isolation, `socat` for proxy bridging, and `ripgrep` for deny-path
64
+ scanning. These come from your **distro**, not from npm — they have to
65
+ match the host kernel/libc exactly and must be installed with the
66
+ distro's setuid/file-cap conventions.
67
+
68
+ | Component | Role | Source |
69
+ | ----------------- | ----------------------------------------------------- | ------------------------------- |
70
+ | `bubblewrap` | setuid-root helper that creates the user-namespace container | distro package manager |
71
+ | `socat` | userspace `UNIX-LISTEN → TCP:localhost:port` proxy bridge | distro package manager |
72
+ | `ripgrep` (`rg`) | fast deny-path scanner | distro package manager |
73
+ | `apply-seccomp` | seccomp-BPF filter installer — **bundled** with puku-cli | ships in the install (C, Linux x86-64/arm64) |
74
+
75
+ ### Ubuntu 24.04+ extra step
76
+
77
+ Ubuntu 24.04+ restricts unprivileged user namespaces by default via
78
+ AppArmor, which prevents `bubblewrap` from working. Allow it with:
79
+
80
+ ```bash
81
+ sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
82
+ ```
83
+
84
+ …or grant `userns` to `bwrap` via a per-binary AppArmor profile.
85
+
86
+ ### Install cheat sheet
87
+
88
+ - **Debian / Ubuntu** — `apt install bubblewrap socat ripgrep`
89
+ - **Fedora / RHEL** — `dnf install bubblewrap socat ripgrep`
90
+ - **Arch** — `pacman -S bubblewrap socat ripgrep`
91
+ - **macOS** — no host packages required (kernel `sandbox-exec`); install `ripgrep` only if you want deny-path scanning (`brew install ripgrep`)
92
+ - **Windows** — no host packages required (bundled `puku-win.exe` helper)
93
+
41
94
  ## Usage
42
95
 
43
96
  ```bash