claude-dev-kit 2.1.6 → 2.1.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/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "claude-dev-kit",
3
- "version": "2.1.6",
3
+ "version": "2.1.8",
4
4
  "description": "Transform Claude Code into a fully autonomous development team — orchestrated sub-agents for planning, implementation, testing, and review.",
5
5
  "bin": {
6
6
  "claude-dev-kit": "./bin/claude-dev-kit.js"
7
7
  },
8
+ "scripts": {
9
+ "test:installer": "bash scripts/test-installer-smoke.sh"
10
+ },
8
11
  "files": [
9
12
  "bin/",
10
13
  ".claude/agents/",
@@ -101,10 +101,14 @@ mcp_add() {
101
101
  # ─── Main ─────────────────────────────────────────────────────────────────────
102
102
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
103
103
  KIT_ROOT="$(dirname "$SCRIPT_DIR")"
104
- TARGET="${1:-${TARGET:-$(pwd)}}"
105
104
  MCP_ONLY=false
106
105
 
107
- [[ "${1:-}" == "--mcp-only" ]] && MCP_ONLY=true && TARGET="${TARGET:-$(pwd)}"
106
+ if [[ "${1:-}" == "--mcp-only" ]]; then
107
+ MCP_ONLY=true
108
+ TARGET="${TARGET:-$(pwd)}"
109
+ else
110
+ TARGET="${1:-${TARGET:-$(pwd)}}"
111
+ fi
108
112
 
109
113
  # Install log — all subprocess output goes here instead of being suppressed
110
114
  LOG_FILE="$TARGET/.claude/install.log"
@@ -198,7 +202,10 @@ header "Phase 2: Configure Claude MCP integrations"
198
202
  echo -e " ${DIM}MCPs extend Claude with tools for your Git platform, ticket system, and design tools.${NC}"
199
203
  echo ""
200
204
 
201
- if ! command -v claude &>/dev/null; then
205
+ if [[ "${CI:-}" == "true" ]]; then
206
+ info "CI mode detected — skipping MCP setup"
207
+ echo ""
208
+ elif ! command -v claude &>/dev/null; then
202
209
  warn "Claude CLI not found — cannot configure MCPs."
203
210
  info "Install the Claude CLI: https://claude.ai/code"
204
211
  info "Then re-run: bash $0 --mcp-only"
@@ -438,7 +445,7 @@ echo -e " 2. ${CYAN}Update CLAUDE.md${NC} with your project's stack and convent
438
445
  echo -e " ${DIM}(Or run /init in Claude Code to auto-generate it)${NC}"
439
446
  echo ""
440
447
  echo -e " 3. ${CYAN}Add tool permissions${NC} to .claude/settings.json for your build commands:"
441
- echo -e ' ${DIM}e.g. "Bash(npm run:*)", "Bash(pytest:*)", "Bash(cargo:*)"${NC}'
448
+ echo -e " ${DIM}e.g. \"Bash(npm run:*)\", \"Bash(pytest:*)\", \"Bash(cargo:*)\"${NC}"
442
449
  echo ""
443
450
  echo -e " 4. ${CYAN}Open Claude Code${NC} in your project and run:"
444
451
  echo -e " ${BOLD}/init${NC} — auto-detect stack and configure agents"
@@ -10,7 +10,9 @@
10
10
  #
11
11
  # Safe to run standalone. Exit codes: 0 = success, 1 = aborted/error.
12
12
 
13
- set -euo pipefail
13
+ # Bash 3.x treats empty arrays as unbound under `set -u`, which breaks
14
+ # migration on stock macOS shells. Keep `-e` and `pipefail`, but avoid `-u`.
15
+ set -eo pipefail
14
16
 
15
17
  # ─── Args ─────────────────────────────────────────────────────────────────────
16
18
  KIT_ROOT="${1:-}"
@@ -42,6 +44,10 @@ error() { echo -e "${RED} ✗${NC} $*" >&2; }
42
44
  header() { echo -e "\n${BOLD}$*${NC}"; }
43
45
  dim() { echo -e "${DIM}$*${NC}"; }
44
46
 
47
+ make_temp_file() {
48
+ mktemp "${TMPDIR:-/tmp}/cdk-temp.XXXXXX"
49
+ }
50
+
45
51
  CI_MODE="${CI:-false}"
46
52
 
47
53
  # ─── Section 1: Load existing manifest ────────────────────────────────────────
@@ -312,6 +318,10 @@ merge_settings() {
312
318
  local cdk_settings="$CDK_CLAUDE/settings.json"
313
319
  local merge_script="$KIT_ROOT/scripts/lib/merge-settings.js"
314
320
 
321
+ if [[ ! -f "$cdk_settings" ]]; then
322
+ cdk_settings="$CDK_CLAUDE/settings.json.example"
323
+ fi
324
+
315
325
  if [[ ! -f "$cdk_settings" ]]; then
316
326
  warn "settings.json: CDK source not found — skipping"
317
327
  return
@@ -329,7 +339,7 @@ merge_settings() {
329
339
  fi
330
340
 
331
341
  local tmp
332
- tmp=$(mktemp /tmp/cdk-settings-XXXXXX.json)
342
+ tmp=$(make_temp_file)
333
343
  # shellcheck disable=SC2064
334
344
  trap "rm -f '$tmp'" RETURN
335
345
 
@@ -371,7 +381,7 @@ merge_claude_md() {
371
381
  if grep -qF "$START_MARKER" "$tgt_md" 2>/dev/null; then
372
382
  # Has CDK markers — replace only the block between markers (inclusive)
373
383
  local tmp
374
- tmp=$(mktemp /tmp/cdk-claude-md-XXXXXX.md)
384
+ tmp=$(make_temp_file)
375
385
  # shellcheck disable=SC2064
376
386
  trap "rm -f '$tmp'" RETURN
377
387