claude-all-config 3.5.7 → 3.5.8

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/README.md CHANGED
@@ -18,17 +18,36 @@ The most comprehensive AI agent configuration system with features **beyond skil
18
18
 
19
19
  ## ⚡ Quick Install
20
20
 
21
+ > **Prereq:** install Claude Code first using the [official native installer](https://code.claude.com/docs/en/setup) (recommended, auto-updates):
22
+ > ```bash
23
+ > # macOS / Linux / WSL
24
+ > curl -fsSL https://claude.ai/install.sh | bash
25
+ >
26
+ > # Windows (PowerShell)
27
+ > irm https://claude.ai/install.ps1 | iex
28
+ > ```
29
+
30
+ Then install ClaudeAll:
31
+
21
32
  ```bash
22
- # npm (Recommended)
33
+ # npm (Recommended — works everywhere)
23
34
  npm install -g claude-all-config
24
35
 
25
- # curl
36
+ # curl one-liner (requires the GitHub repo to be public)
26
37
  curl -fsSL https://raw.githubusercontent.com/zesbe/ClaudeAll/main/install.sh | bash
27
38
  ```
28
39
 
29
- **Termux Android:**
40
+ After install, ClaudeAll's `claude-all` binary is symlinked into `~/.local/bin/`
41
+ so it sits next to the native `claude` binary. Make sure `~/.local/bin` is on your PATH:
42
+
43
+ ```bash
44
+ export PATH="$HOME/.local/bin:$PATH" # add to ~/.bashrc or ~/.zshrc
45
+ ```
46
+
47
+ **Termux / Android** (native installer not yet supported on Android):
30
48
  ```bash
31
49
  pkg install nodejs-lts git
50
+ npm install -g @anthropic-ai/claude-code # legacy npm install (only Termux needs this)
32
51
  npm install -g claude-all-config
33
52
  ```
34
53
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.5.7
1
+ 3.5.8
package/install-termux.sh CHANGED
@@ -28,11 +28,15 @@ echo "✅ npm $(npm --version)"
28
28
  echo ""
29
29
 
30
30
  # Install Claude CLI if not present
31
+ # NOTE: Termux/Android does not support the native installer (https://claude.ai/install.sh)
32
+ # because the native binary is built for Linux x86_64 / macOS / Windows only.
33
+ # So on Termux we still use npm install. Once Anthropic ships ARM/Android builds,
34
+ # this should be migrated to: curl -fsSL https://claude.ai/install.sh | bash
31
35
  if ! command -v claude &> /dev/null; then
32
- echo "📥 Installing Claude CLI..."
36
+ echo "📥 Installing Claude CLI (npm — Termux fallback)..."
33
37
  npm install -g @anthropic-ai/claude-code
34
38
  fi
35
- echo "✅ Claude CLI installed"
39
+ echo "✅ Claude CLI installed at: $(command -v claude)"
36
40
 
37
41
  # Install Gemini CLI if not present (optional)
38
42
  if ! command -v gemini &> /dev/null; then
@@ -57,10 +57,37 @@ echo ""
57
57
 
58
58
  # Install Claude CLI
59
59
  if ! command -v claude &> /dev/null; then
60
- echo "📥 Installing Claude CLI..."
61
- npm install -g @anthropic-ai/claude-code
60
+ echo "📥 Installing Claude CLI (native installer)..."
61
+ case $PLATFORM in
62
+ linux|macos)
63
+ # Native installer (recommended) - puts binary in ~/.local/bin/
64
+ if curl -fsSL https://claude.ai/install.sh | bash; then
65
+ echo "✅ Claude CLI installed via native installer"
66
+ # Ensure ~/.local/bin is in PATH for current session
67
+ export PATH="$HOME/.local/bin:$PATH"
68
+ else
69
+ echo "⚠️ Native installer failed, falling back to npm..."
70
+ npm install -g @anthropic-ai/claude-code
71
+ fi
72
+ ;;
73
+ termux)
74
+ # Termux/Android: native binary not supported, use npm
75
+ echo "ℹ️ Termux detected, using npm (native installer not supported)"
76
+ npm install -g @anthropic-ai/claude-code
77
+ ;;
78
+ windows)
79
+ # Windows under msys/cygwin - prefer native PowerShell installer if possible
80
+ echo "ℹ️ For Windows native install, run in PowerShell:"
81
+ echo " irm https://claude.ai/install.ps1 | iex"
82
+ echo " Falling back to npm for this session..."
83
+ npm install -g @anthropic-ai/claude-code
84
+ ;;
85
+ *)
86
+ npm install -g @anthropic-ai/claude-code
87
+ ;;
88
+ esac
62
89
  else
63
- echo "✅ Claude CLI already installed"
90
+ echo "✅ Claude CLI already installed ($(command -v claude))"
64
91
  fi
65
92
 
66
93
  # Install ClaudeAll config
package/install.sh CHANGED
@@ -47,8 +47,16 @@ if [ "$HAS_CLAUDE" = false ] && [ "$HAS_GEMINI" = false ]; then
47
47
  echo -e "${RED}❌ No CLI detected!${NC}"
48
48
  echo ""
49
49
  echo "Install at least one:"
50
- echo " npm install -g @anthropic-ai/claude-code"
51
- echo " npm install -g @google/gemini-cli"
50
+ echo ""
51
+ echo " Claude Code (recommended - native installer, auto-updates):"
52
+ echo " macOS/Linux/WSL: curl -fsSL https://claude.ai/install.sh | bash"
53
+ echo " Windows PS: irm https://claude.ai/install.ps1 | iex"
54
+ echo ""
55
+ echo " Gemini CLI:"
56
+ echo " npm install -g @google/gemini-cli"
57
+ echo ""
58
+ echo " (Termux/Android only, native installer not yet supported):"
59
+ echo " npm install -g @anthropic-ai/claude-code"
52
60
  exit 1
53
61
  fi
54
62
  echo ""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-all-config",
3
- "version": "3.5.7",
3
+ "version": "3.5.8",
4
4
  "description": "🦾 MONSTER ENGINEER v2 - Ultimate AI CLI with 63 Skills, 12 Superpowers, 14 Agents. Multi-Agent Orchestration, Cost-Aware, Security Scorecard, Parallel-First.",
5
5
  "main": "index.js",
6
6
  "bin": {
package/postinstall.js CHANGED
@@ -266,6 +266,66 @@ function installUvx() {
266
266
  }
267
267
  }
268
268
 
269
+ // Symlink ClaudeAll binaries to ~/.local/bin/ for unified path with native Claude install.
270
+ // As of Claude Code v2.x, the native installer puts `claude` at ~/.local/bin/claude.
271
+ // We mirror that convention so `claude-all` lives in the same directory and shows up
272
+ // on PATH without needing the npm-global bin directory.
273
+ function setupLocalBinSymlinks() {
274
+ // Skip on Windows native (no POSIX symlinks). WSL/MSYS still works because HOME is set.
275
+ if (process.platform === 'win32' && !process.env.MSYSTEM && !process.env.WSL_DISTRO_NAME) {
276
+ return;
277
+ }
278
+ if (!HOME) return;
279
+
280
+ const localBin = path.join(HOME, '.local', 'bin');
281
+ try {
282
+ fs.mkdirSync(localBin, { recursive: true });
283
+ } catch (e) {
284
+ // Cannot create ~/.local/bin (read-only HOME, etc) — silently skip
285
+ return;
286
+ }
287
+
288
+ // Map of binary name -> path inside this package
289
+ const bins = {
290
+ 'claude-all': path.join(PKG_DIR, 'claude-all'),
291
+ 'claude-all-skills': path.join(PKG_DIR, 'bin', 'skills-cli.js'),
292
+ 'claude-all-mcp': path.join(PKG_DIR, 'bin', 'mcp-install.js'),
293
+ 'claude-all-update': path.join(PKG_DIR, 'update.sh'),
294
+ };
295
+
296
+ let created = 0;
297
+ for (const [name, target] of Object.entries(bins)) {
298
+ if (!fs.existsSync(target)) continue;
299
+ const linkPath = path.join(localBin, name);
300
+ try {
301
+ // Replace any stale symlink/file pointing somewhere else
302
+ if (fs.existsSync(linkPath) || fs.lstatSync(linkPath, { throwIfNoEntry: false })) {
303
+ fs.unlinkSync(linkPath);
304
+ }
305
+ } catch {}
306
+ try {
307
+ fs.symlinkSync(target, linkPath);
308
+ try { fs.chmodSync(target, 0o755); } catch {}
309
+ created++;
310
+ } catch (e) {
311
+ // Symlink creation failed (e.g., cross-device link) — silently skip
312
+ }
313
+ }
314
+
315
+ if (created > 0) {
316
+ console.log(` 🔗 Linked ${created} binaries → ~/.local/bin/ (unified path with native Claude)`);
317
+
318
+ // Hint if ~/.local/bin not on PATH
319
+ const pathParts = (process.env.PATH || '').split(path.delimiter);
320
+ if (!pathParts.includes(localBin)) {
321
+ console.log('');
322
+ console.log(' ⚠️ ~/.local/bin is not in your PATH.');
323
+ console.log(' Add to your shell config (~/.bashrc, ~/.zshrc):');
324
+ console.log(' export PATH="$HOME/.local/bin:$PATH"');
325
+ }
326
+ }
327
+ }
328
+
269
329
  // Run installations
270
330
  installUvx();
271
331
 
@@ -278,6 +338,8 @@ if (hasGemini) {
278
338
  installGemini();
279
339
  }
280
340
 
341
+ setupLocalBinSymlinks();
342
+
281
343
  console.log('\n✅ Installation complete!\n');
282
344
 
283
345
  if (hasClaude) {