@neikyun/ciel 6.13.1 → 6.14.1

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.
@@ -0,0 +1,122 @@
1
+ #!/bin/bash
2
+ # Ciel — PreToolUse hook for Read|Bash
3
+ # Trigger: PreToolUse on Read|Bash
4
+ # Purpose: BLOCK inline source-code research until ciel-researcher is dispatched.
5
+ # Forces the model to dispatch researcher + explorer in parallel before
6
+ # reading source files or running research commands (grep, cat, curl, rg, etc.).
7
+ # Always allows: config files, project docs, CI files, state files.
8
+ # Escape hatch: [CIEL_GATE_BYPASS] anywhere in the tool input bypasses the gate.
9
+ # Dispatch tracker: /tmp/ciel_dispatched.* (created by SubagentStart hooks)
10
+
11
+ INPUT=$(cat 2>/dev/null || echo "{}")
12
+
13
+ # ── Depth check ──
14
+ PROJECT_DIR="${CLAUDE_PROJECT_DIR:-}"
15
+ TASK_DEPTH="Standard"
16
+ if [ -n "$PROJECT_DIR" ] && [ -f "$PROJECT_DIR/.ciel/last-depth" ]; then
17
+ TASK_DEPTH=$(cat "$PROJECT_DIR/.ciel/last-depth" 2>/dev/null || echo "Standard")
18
+ fi
19
+
20
+ # Trivial + Spike tasks always pass — no dispatch required
21
+ [ "$TASK_DEPTH" = "Trivial" ] && exit 0
22
+ [ "$TASK_DEPTH" = "Spike" ] && exit 0
23
+
24
+ # ── Bypass check ──
25
+ if echo "$INPUT" | grep -q '\[CIEL_GATE_BYPASS\]'; then
26
+ echo "[CIEL] Dispatch gate bypassed via [CIEL_GATE_BYPASS]" >&2
27
+ exit 0
28
+ fi
29
+
30
+ # ── Dispatch check ──
31
+ # If any Ciel agent has been dispatched this session, allow inline research.
32
+ # /tmp/ciel_dispatched.* files are created by SubagentStart hooks for
33
+ # ciel-researcher, ciel-explorer, and ciel-critic.
34
+ if ls /tmp/ciel_dispatched.* >/dev/null 2>&1; then
35
+ exit 0
36
+ fi
37
+
38
+ # ── Extract target ──
39
+ TOOL_NAME=$(echo "$INPUT" | python3 -c "
40
+ import sys, json
41
+ try:
42
+ d = json.load(sys.stdin)
43
+ print(d.get('tool_name', ''))
44
+ except:
45
+ print('')
46
+ " 2>/dev/null || echo "")
47
+
48
+ FILE_PATH=$(echo "$INPUT" | python3 -c "
49
+ import sys, json
50
+ try:
51
+ d = json.load(sys.stdin)
52
+ ti = d.get('tool_input', {})
53
+ print(ti.get('file_path', ti.get('path', '')))
54
+ except:
55
+ print('')
56
+ " 2>/dev/null || echo "")
57
+
58
+ BASH_CMD=$(echo "$INPUT" | python3 -c "
59
+ import sys, json
60
+ try:
61
+ d = json.load(sys.stdin)
62
+ ti = d.get('tool_input', {})
63
+ print(ti.get('command', ''))
64
+ except:
65
+ print('')
66
+ " 2>/dev/null || echo "")
67
+
68
+ # ── Read gate ──
69
+ # Always-allow list: config files the model MUST be able to read for DOCS step.
70
+ # These are needed BEFORE any dispatch — CLAUDE.md, AGENTS.md, .ciel/*, .claude/*,
71
+ # SKILL.md, package.json, README, Makefile, VERSION, docker-compose, CI configs.
72
+ if [ "$TOOL_NAME" = "Read" ] && [ -n "$FILE_PATH" ]; then
73
+ if echo "$FILE_PATH" | grep -qE '(^|/)\.(ciel|claude|github|opencode)(/|$|\.)'; then
74
+ exit 0
75
+ fi
76
+ if echo "$FILE_PATH" | grep -qE '(^|/)(CLAUDE\.md|AGENTS\.md|ciel-overlay\.md|package\.json|README|Makefile|VERSION|Dockerfile|docker-compose|\.gitignore|tsconfig.*\.json|\.env\.example)$'; then
77
+ exit 0
78
+ fi
79
+ if echo "$FILE_PATH" | grep -qE '(^|/)SKILL\.md$'; then
80
+ exit 0
81
+ fi
82
+ if echo "$FILE_PATH" | grep -qE '\.(yml|yaml|toml|cfg|ini|conf|json|md|txt|css|html|xml|svg)$'; then
83
+ # Config/docs files — allow (but NOT source code like .ts in JSON disguise)
84
+ # The depth classification + pipeline docs phase needs broad config access
85
+ exit 0
86
+ fi
87
+
88
+ # Source code file — BLOCK until researcher dispatched
89
+ echo "[CIEL DISPATCH GATE] BLOCKED: Read $(basename "$FILE_PATH") before researcher dispatch" >&2
90
+ echo "" >&2
91
+ echo " Depth: $TASK_DEPTH — no Ciel agent dispatched yet." >&2
92
+ echo " Ciel pipeline requires dispatching ciel-researcher + ciel-explorer" >&2
93
+ echo " in parallel BEFORE reading source code. This ensures official docs," >&2
94
+ echo " anti-patterns, and codebase patterns are checked first." >&2
95
+ echo "" >&2
96
+ echo " To proceed without dispatch: add [CIEL_GATE_BYPASS] to the tool input." >&2
97
+ echo " But prefer dispatching — it prevents the blind-pattern-copy anti-pattern." >&2
98
+ exit 2
99
+ fi
100
+
101
+ # ── Bash gate ──
102
+ # Allow infrastructure commands (ls, find, git status, mkdir, cd, npm, node -v, etc.)
103
+ # Block research commands that read/search source files without dispatch.
104
+ if [ "$TOOL_NAME" = "Bash" ] && [ -n "$BASH_CMD" ]; then
105
+ # Always-allow patterns: infrastructure, package management, git meta
106
+ if echo "$BASH_CMD" | grep -qE '^(ls |find |git (status|diff|log|branch|remote|config|stash|add |commit|push|pull|fetch|checkout|switch|restore)|mkdir |cd |npm |npx |node -[vp]|pnpm |yarn |cargo |pip |poetry |python3 -c|which |type |command -v|echo |cat .*(\.json|\.md|\.yml|\.yaml|\.toml|\.lock|VERSION|Makefile|README|\.gitignore)|gh (pr|issue|release|run|repo|workflow))'; then
107
+ exit 0
108
+ fi
109
+
110
+ # Research commands that scan/read source code — BLOCK
111
+ if echo "$BASH_CMD" | grep -qE '(grep |rg |ag |cat .*\.(kt|ts|tsx|js|jsx|py|go|rs|rb|java|php|scala|swift|cs|cpp|c|h|vue|svelte)|tail |head |curl |wget )'; then
112
+ echo "[CIEL DISPATCH GATE] BLOCKED: Research Bash before researcher dispatch" >&2
113
+ echo "" >&2
114
+ echo " Depth: $TASK_DEPTH — no Ciel agent dispatched yet." >&2
115
+ echo " Command: $(echo "$BASH_CMD" | cut -c1-80)" >&2
116
+ echo " Dispatch ciel-researcher + ciel-explorer first." >&2
117
+ echo " Or add [CIEL_GATE_BYPASS] if this is infrastructure." >&2
118
+ exit 2
119
+ fi
120
+ fi
121
+
122
+ exit 0
@@ -18,6 +18,31 @@ for candidate in "$CWD/ciel-overlay.md" "$CWD/.claude/ciel-overlay.md"; do
18
18
  fi
19
19
  done
20
20
 
21
+ # ─── META-pending check ──────────────────────────────────────────────────
22
+ # If previous session ended without META reflection after 3+ edits,
23
+ # inject a prominent warning BEFORE resetting the tracker.
24
+ META_PENDING=""
25
+ if [ -n "${CLAUDE_PROJECT_DIR:-}" ] && [ -f "$CLAUDE_PROJECT_DIR/.ciel/meta-pending" ]; then
26
+ META_INFO=$(python3 -c "
27
+ import json
28
+ try:
29
+ with open('$CLAUDE_PROJECT_DIR/.ciel/meta-pending') as f:
30
+ d = json.load(f)
31
+ print(f\"{d.get('edits', '?')} files edited, pending since {d.get('since', '?')}\")
32
+ except: print('unknown')
33
+ " 2>/dev/null || echo "unknown")
34
+ META_PENDING="
35
+
36
+ ═══════════════════════════════════════════════════════════════
37
+ [CIEL] META STILL DUE — Previous task ended without META reflection.
38
+ $META_INFO
39
+ Invoke Skill(meta-critiquer) to complete the 10-item reflection.
40
+ Clear .ciel/meta-pending when done.
41
+ DO NOT start a new task until META is complete.
42
+ ═══════════════════════════════════════════════════════════════
43
+ "
44
+ fi
45
+
21
46
  # Reset session-scoped edit tracker so META/RELIRE gates don't bleed across sessions
22
47
  if [ -n "${CLAUDE_PROJECT_DIR:-}" ] && [ -f "$CLAUDE_PROJECT_DIR/.ciel/tracked-files.json" ]; then
23
48
  echo "[]" > "$CLAUDE_PROJECT_DIR/.ciel/tracked-files.json" 2>/dev/null || true
@@ -59,6 +84,9 @@ _resolve_ciel_version() {
59
84
  }
60
85
  CIEL_VERSION="$(_resolve_ciel_version)"
61
86
  MSG="CIEL v${CIEL_VERSION} — Skills-first deep-reasoning active. "
87
+ if [[ -n "$META_PENDING" ]]; then
88
+ MSG+="$META_PENDING"
89
+ fi
62
90
  if [[ -n "$OVERLAY" ]]; then
63
91
  MSG+="Overlay loaded: $OVERLAY. "
64
92
  else
@@ -0,0 +1,149 @@
1
+ #!/bin/bash
2
+ # Ciel — Pipeline state tracker (PostToolUse hook)
3
+ # Trigger: after Skill() or Agent() tool use
4
+ # Purpose: record pipeline step completion in .ciel/pipeline-state.json
5
+ # Never blocks (exit 0 always)
6
+
7
+ INPUT=$(cat 2>/dev/null || echo "{}")
8
+ TOOL_NAME=$(echo "$INPUT" | python3 -c "
9
+ import sys, json
10
+ try:
11
+ d = json.load(sys.stdin)
12
+ print(d.get('tool_name', ''))
13
+ except:
14
+ print('')
15
+ " 2>/dev/null || echo "")
16
+
17
+ PROJECT_DIR="${CLAUDE_PROJECT_DIR:-}"
18
+ [ -z "$PROJECT_DIR" ] && exit 0
19
+ [ -z "$TOOL_NAME" ] && exit 0
20
+
21
+ STATE_FILE="$PROJECT_DIR/.ciel/pipeline-state.json"
22
+ mkdir -p "$PROJECT_DIR/.ciel" 2>/dev/null || true
23
+
24
+ STEP=""
25
+ NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
26
+
27
+ if [ "$TOOL_NAME" = "Skill" ]; then
28
+ SKILL_NAME=$(echo "$INPUT" | python3 -c "
29
+ import sys, json
30
+ try:
31
+ d = json.load(sys.stdin)
32
+ print(d.get('tool_input', {}).get('skill', ''))
33
+ except:
34
+ print('')
35
+ " 2>/dev/null || echo "")
36
+
37
+ case "$SKILL_NAME" in
38
+ depth-classifier) STEP="DOCS" ;;
39
+ quoi-framer) STEP="QUOI" ;;
40
+ ask-window) STEP="ASK" ;;
41
+ avec-quoi-versioner) STEP="AVEC QUOI" ;;
42
+ diverge) STEP="DIVERGE" ;;
43
+ stride-analyzer) STEP="SECURITE" ;;
44
+ evaluer-sizer) STEP="EVALUER" ;;
45
+ faire-gatekeeper) STEP="FAIRE" ;;
46
+ adr-auto) STEP="ADR" ;;
47
+ relire-critic) STEP="RELIRE" ;;
48
+ prouver-verifier) STEP="PROUVER" ;;
49
+ memoire) STEP="MEMOIRE" ;;
50
+ savoir-compiler) STEP="COMPILER" ;;
51
+ meta-critiquer) STEP="META" ;;
52
+ esac
53
+ elif [ "$TOOL_NAME" = "Agent" ]; then
54
+ SUBAGENT=$(echo "$INPUT" | python3 -c "
55
+ import sys, json
56
+ try:
57
+ d = json.load(sys.stdin)
58
+ print(d.get('tool_input', {}).get('subagent_type', ''))
59
+ except:
60
+ print('')
61
+ " 2>/dev/null || echo "")
62
+
63
+ case "$SUBAGENT" in
64
+ ciel-researcher) STEP="RECHERCHE" ;;
65
+ ciel-explorer) STEP="CODEBASE" ;;
66
+ esac
67
+ fi
68
+
69
+ [ -z "$STEP" ] && exit 0
70
+
71
+ # Write pipeline state via python heredoc — avoids -c quoting fragility
72
+ export STATE_FILE STEP NOW
73
+ python3 << 'PYEOF'
74
+ import json, os, sys
75
+
76
+ state_file = os.environ.get('STATE_FILE', '')
77
+ step = os.environ.get('STEP', '')
78
+ now = os.environ.get('NOW', '')
79
+
80
+ if not state_file or not step:
81
+ sys.exit(0)
82
+
83
+ state = {}
84
+ if os.path.exists(state_file):
85
+ try:
86
+ with open(state_file) as f:
87
+ state = json.load(f)
88
+ except Exception:
89
+ pass
90
+
91
+ if 'steps' not in state:
92
+ state['steps'] = {}
93
+
94
+ # DOCS call means new task — full reset
95
+ if step == 'DOCS' and state.get('current_step') != 'DOCS':
96
+ state['steps'] = {}
97
+ state['task_started_at'] = now
98
+
99
+ state['steps'][step] = {'status': 'done', 'at': now}
100
+ state['current_step'] = step
101
+ state['updated_at'] = now
102
+
103
+ with open(state_file, 'w') as f:
104
+ json.dump(state, f, indent=2)
105
+ PYEOF
106
+
107
+ # Compact progress line to stderr (visible in CLI)
108
+ export STATE_FILE
109
+ python3 << 'PYEOF'
110
+ import json, os, sys
111
+
112
+ state_file = os.environ.get('STATE_FILE', '')
113
+ if not state_file or not os.path.exists(state_file):
114
+ sys.exit(0)
115
+
116
+ with open(state_file) as f:
117
+ state = json.load(f)
118
+
119
+ steps = state.get('steps', {})
120
+ # ASK2 excluded — no Skill/Agent mapping exists for user-validation steps
121
+ pipeline_order = [
122
+ 'DOCS', 'QUOI', 'ASK', 'AVEC QUOI', 'DIVERGE',
123
+ 'RECHERCHE', 'SECURITE', 'CODEBASE', 'EVALUER',
124
+ 'FAIRE', 'TESTER', 'ADR', 'RELIRE', 'PROUVER',
125
+ 'MEMOIRE', 'COMPILER', 'META'
126
+ ]
127
+
128
+ done = [s for s in pipeline_order if s in steps and steps[s].get('status') == 'done']
129
+ done_count = len(done)
130
+ total = len(pipeline_order)
131
+
132
+ # Compute pending step: first unfinished after last done
133
+ done_indices = [pipeline_order.index(s) for s in done]
134
+ last_done_idx = max(done_indices) if done_indices else -1
135
+ pending = pipeline_order[last_done_idx + 1] if last_done_idx + 1 < total else None
136
+
137
+ # Show last 5 completed + pending indicator
138
+ display = []
139
+ show = done[-5:] if len(done) > 5 else done[:]
140
+ for s in show:
141
+ display.append(s)
142
+ if pending and pending not in done:
143
+ display.append('●' + pending)
144
+
145
+ line = ' → '.join(display)
146
+ print(f'[CIEL] {line} ({done_count}/{total})', file=sys.stderr)
147
+ PYEOF
148
+
149
+ exit 0
@@ -37,8 +37,21 @@ import json, os
37
37
  try: print(len(json.load(open(os.environ['CIEL_PATH']))))
38
38
  except: print(0)
39
39
  " 2>/dev/null || echo "0")
40
- if [ "${EDIT_COUNT:-0}" -gt 0 ] 2>/dev/null; then
41
- META_GATE=" | META GATE: ${EDIT_COUNT} file(s) edited this session — complete 10-item META if previous task ended at PROUVER."
40
+ if [ "${EDIT_COUNT:-0}" -ge 3 ] 2>/dev/null; then
41
+ # Write META-pending flag persists across sessions until META completed
42
+ META_FLAG="$PROJECT_DIR/.ciel/meta-pending"
43
+ mkdir -p "$PROJECT_DIR/.ciel" 2>/dev/null || true
44
+ python3 -c "
45
+ import json, os, datetime
46
+ flag = os.environ.get('META_FLAG', '')
47
+ if flag:
48
+ data = {'edits': int(os.environ.get('EDIT_COUNT', '0')), 'since': datetime.datetime.utcnow().isoformat() + 'Z'}
49
+ with open(flag, 'w') as f:
50
+ json.dump(data, f)
51
+ " META_FLAG="$META_FLAG" EDIT_COUNT="$EDIT_COUNT" 2>/dev/null || true
52
+ META_GATE=" | META GATE: ${EDIT_COUNT} files edited — previous task MUST complete 10-item META reflection via Skill(meta-critiquer) BEFORE next task. META is NOT optional after 3+ edits. Clear .ciel/meta-pending when done."
53
+ elif [ "${EDIT_COUNT:-0}" -gt 0 ] 2>/dev/null; then
54
+ META_GATE=" | META GATE: ${EDIT_COUNT} file(s) edited — complete 10-item META if previous task ended at PROUVER."
42
55
  fi
43
56
  fi
44
57
 
@@ -99,7 +112,38 @@ if [ -n "${CLAUDE_PROJECT_DIR:-}" ]; then
99
112
  echo "$DEPTH" > "$CLAUDE_PROJECT_DIR/.ciel/last-depth" 2>/dev/null || true
100
113
  fi
101
114
 
102
- MSG_BASE="CIEL depth hint: $DEPTH ($REASON).$DISPATCH_GATE$META_GATE$INTERVENTION_GATE Invoke depth-classifier if ambiguous before routing pipeline."
115
+ # ─── Pipeline state tracker ───────────────────────────────────────────
116
+ PIPELINE_STATE=""
117
+ if [ -n "$PROJECT_DIR" ] && [ -f "$PROJECT_DIR/.ciel/pipeline-state.json" ]; then
118
+ PIPELINE_STATE=$(STATE_FILE="$PROJECT_DIR/.ciel/pipeline-state.json" python3 << 'PYEOF'
119
+ import json, os, sys
120
+ try:
121
+ with open(os.environ['STATE_FILE']) as f:
122
+ state = json.load(f)
123
+ steps = state.get('steps', {})
124
+ # ASK2 excluded — no Skill/Agent mapping exists for user-validation steps
125
+ order = ['DOCS','QUOI','ASK','AVEC QUOI','DIVERGE','RECHERCHE','SECURITE','CODEBASE','EVALUER','FAIRE','TESTER','ADR','RELIRE','PROUVER','MEMOIRE','COMPILER','META']
126
+ done = [s for s in order if s in steps and steps[s].get('status') == 'done']
127
+ done_count = len(done)
128
+ total = len(order)
129
+ # Compute pending step: first unfinished after last done
130
+ done_indices = [order.index(s) for s in done]
131
+ last_done_idx = max(done_indices) if done_indices else -1
132
+ pending = order[last_done_idx + 1] if last_done_idx + 1 < total else None
133
+ # Show last 6 completed + pending indicator
134
+ display = done[-6:] if len(done) > 6 else done[:]
135
+ show = [d + '✓' for d in display]
136
+ if pending and pending not in done:
137
+ show.append(pending + '●')
138
+ bar = ' → '.join(show)
139
+ print(f' | PIPELINE: {bar} ({done_count}/{total})')
140
+ except Exception:
141
+ pass
142
+ PYEOF
143
+ )
144
+ fi
145
+
146
+ MSG_BASE="CIEL depth hint: $DEPTH ($REASON).$DISPATCH_GATE$META_GATE$INTERVENTION_GATE$PIPELINE_STATE | SKILLS: load workflow skill via Skill() for current pipeline step (CLAUDE.md column 'Skill a charger'). Never skip. Invoke depth-classifier if ambiguous before routing pipeline."
103
147
 
104
148
  # Emit JSON via python to handle newlines and quoting safely
105
149
  MSG_BASE="$MSG_BASE" MEMORY_OUTPUT="$MEMORY_OUTPUT" python3 -c "
@@ -63,6 +63,15 @@
63
63
  }
64
64
  ]
65
65
  },
66
+ {
67
+ "matcher": "Read|Bash",
68
+ "hooks": [
69
+ {
70
+ "type": "command",
71
+ "command": "! [ -x \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-dispatch-gate.sh\" ] || \"$CLAUDE_PROJECT_DIR/.claude/hooks/check-dispatch-gate.sh\""
72
+ }
73
+ ]
74
+ },
66
75
  {
67
76
  "matcher": "Agent",
68
77
  "hooks": [
@@ -86,6 +95,15 @@
86
95
  "command": "COUNT=$(cat \"${CLAUDE_PROJECT_DIR:-$PWD}/.ciel/tracked-files.json\" 2>/dev/null | python3 -c \"import sys,json; d=json.load(sys.stdin); print(len(d))\" 2>/dev/null || echo \"?\"); echo \"[CIEL] Tracked files: $COUNT — RELIRE recommended at 5+ files or on Critical paths\" >&2"
87
96
  }
88
97
  ]
98
+ },
99
+ {
100
+ "matcher": "Skill|Agent",
101
+ "hooks": [
102
+ {
103
+ "type": "command",
104
+ "command": "! [ -x \"$CLAUDE_PROJECT_DIR/.claude/hooks/track-pipeline.sh\" ] || \"$CLAUDE_PROJECT_DIR/.claude/hooks/track-pipeline.sh\""
105
+ }
106
+ ]
89
107
  }
90
108
  ],
91
109
  "SubagentStart": [
package/assets/CLAUDE.md CHANGED
@@ -10,13 +10,13 @@
10
10
  2. **Test d'abord** — RED (test echoue) → GREEN (passe) → REFACTOR. Jamais de code sans test.
11
11
  3. **Zero secret** — pas de cle, token, ou mot de passe dans le code. Variables d'environnement uniquement.
12
12
  4. **Pas de placeholder** — pas de `// TODO`, pas de `// ...rest of code`. Tout code est complet ou absent.
13
- 5. **Pipeline complet** — 17 etapes dans l'ordre. Ne saute jamais TESTER, RELIRE, ni PROUVER.
13
+ 5. **Pipeline complet** — 18 etapes dans l'ordre. Ne saute jamais TESTER, RELIRE, ni PROUVER.
14
14
  6. **Pipeline invisible** — jamais de tableaux d'etapes, de "DOCS termine", de "Passons a QUOI", ni de comptes-rendus META dans la sortie visible. L'utilisateur voit les resultats, jamais la machinerie.
15
15
  7. **Skills obligatoires** — a chaque etape du pipeline, charger le skill workflow correspondant avec l'outil `Skill` (colonne "Skill a charger" dans le tableau). Ne jamais sauter un skill: son contenu n'est pas dans ta memoire d'entrainement, il est dans le fichier SKILL.md.
16
16
 
17
17
  ---
18
18
 
19
- ## Pipeline (17 etapes — a tracker en interne, jamais affiche)
19
+ ## Pipeline (18 etapes — a tracker en interne, jamais affiche)
20
20
 
21
21
  Chaque etape a un skill workflow dedie a charger via `Skill` avant de l'executer.
22
22
 
@@ -38,6 +38,7 @@ Chaque etape a un skill workflow dedie a charger via `Skill` avant de l'executer
38
38
  | **RELIRE** | Std/Crit | `relire-critic` | Dispatch `ciel-critic` MODE=RELIRE: 4 RISQUES + FIX/ACCEPT/DEFER |
39
39
  | **PROUVER** | Std/Crit | `prouver-verifier` | Evidence AVANT/APRES + CI gate + issue comment gate |
40
40
  | **MEMOIRE** | All | `memoire` | Capturer bugs decouverts, patterns appris, decisions utilisateur, anti-patterns detectes → `python3 .claude/hooks/memory-engine.py capture` |
41
+ | **COMPILER** | Std/Crit | `savoir-compiler` | Si >= 5 episodes non compiles → compiler en `.ciel/wiki/`. Sinon skip. |
41
42
  | **META** | All | `meta-critiquer` | Reflection (10 items ci-dessous). Jamais dans la sortie visible. |
42
43
 
43
44
  ---
@@ -47,8 +48,8 @@ Chaque etape a un skill workflow dedie a charger via `Skill` avant de l'executer
47
48
  | Level | Example | Pipeline |
48
49
  |-------|---------|----------|
49
50
  | **Trivial** | rename, typo, 1-liner | DOCS → QUOI → FAIRE → META |
50
- | **Standard** | hook, route, component, service | 17 etapes completes |
51
- | **Critical** | auth, DB schema, security, payment | 17 + STRIDE + `ciel-critic` obligatoire |
51
+ | **Standard** | hook, route, component, service | 18 etapes completes |
52
+ | **Critical** | auth, DB schema, security, payment | 18 + STRIDE + `ciel-critic` obligatoire |
52
53
  | **Spike** | POC, draft, experimental | QUOI → ASK → AVEC QUOI → DIVERGE → FAIRE (relaxe) → META |
53
54
 
54
55
  Doute → Standard. Touche aux donnees utilisateur ou auth → Critical.
@@ -74,7 +75,7 @@ Prompt critique: `"MODE: RELIRE. CHANGED_FILES: [list]. QUOI_GOAL: [quoi]. Apply
74
75
 
75
76
  ---
76
77
 
77
- ## Top 10 Guards
78
+ ## Top 11 Guards
78
79
 
79
80
  1. **"I already know this" = red flag** → RESEARCH. Fais-le.
80
81
  2. **Pas de citation = tu ne sais pas** → verifie avant d'affirmer.
@@ -86,6 +87,7 @@ Prompt critique: `"MODE: RELIRE. CHANGED_FILES: [list]. QUOI_GOAL: [quoi]. Apply
86
87
  8. **Test d'abord (RED)**, jamais apres. Toujours.
87
88
  9. **"No error in logs" ≠ preuve** → declenche le scenario, vois un signal positif.
88
89
  10. **Test suite doit passer** — execute la commande de test apres FAIRE. RED → corrige → re-run. Max 3 boucles puis escalade.
90
+ 11. **Episodes sans compilation = savoir dormant** — >= 5 episodes non compiles → declencher `savoir-compiler`. La memoire qui n'est jamais distillee est de la memoire perdue.
89
91
 
90
92
  ---
91
93
 
@@ -122,4 +124,5 @@ A la fin de chaque tache, charger `meta-critiquer` et repondre a ces 10 question
122
124
  - **Pas de PROUVER** → montrer evidence AVANT/APRES (logs, curl, screenshot)
123
125
  - **Pas de MEMOIRE** → sauver `.ciel/map.json` et capturer a `.ciel/memory/` en fin de tache
124
126
  - **Pas de META** → toujours executer la reflection (10 items)
127
+ - **Pas de COMPILER** → si >= 5 episodes non compiles, declencher `savoir-compiler`
125
128
  - **Pipeline visible** → le pipeline est dans le thinking UNIQUEMENT
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: ciel-compile
3
+ description: Compile les episodes de memoire bruts en pages wiki structurees (Karpathy-inspired second brain)
4
+ ---
5
+
6
+ # /ciel-compile
7
+
8
+ Compile les episodes de `.ciel/memory/episodes/` en pages wiki structurees dans `.ciel/wiki/`.
9
+
10
+ Utilise le skill `savoir-compiler` pour :
11
+ 1. Scanner les episodes non compiles
12
+ 2. Distiller en pages wiki organisees par domaine
13
+ 3. Cross-referencer les pages entre elles
14
+ 4. Detecter contradictions et doublons
15
+ 5. Proposer des promotions vers `.claude/rules/`
16
+
17
+ **Quand l'utiliser :** quand >= 5 episodes se sont accumules sans compilation, ou apres une session riche en captures MEMOIRE.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Ciel — Primary orchestrator v6. Full 16-step pipeline enforced via plugin. Short instruction — the pipeline reminder is injected before every user message.
2
+ description: Ciel — Primary orchestrator v8. Full 18-step pipeline enforced via plugin. Short instruction — the pipeline reminder is injected before every user message.
3
3
  mode: primary
4
4
  color: "#22D3EE"
5
5
  temperature: 0.2
@@ -28,14 +28,14 @@ permission:
28
28
  ciel-improver: allow
29
29
  ---
30
30
 
31
- # Ciel — Primary Orchestrator v6
31
+ # Ciel — Primary Orchestrator v8
32
32
 
33
- Tu es l'orchestrateur Ciel v6. Analyse, planifie, implemente, verifie.
33
+ Tu es l'orchestrateur Ciel v8. Analyse, planifie, implemente, verifie.
34
34
 
35
35
  ## Regles (immutables)
36
36
 
37
- 1. **Pipeline interne** — classifie la profondeur et suis les 16 étapes en interne. N'affiche pas la classification.
38
- 2. **Pipeline** — suis les 16 etapes (tableau ci-dessous). Le plugin injecte un rappel avant chaque message.
37
+ 1. **Pipeline interne** — classifie la profondeur et suis les 18 etapes en interne. N'affiche pas la classification.
38
+ 2. **Pipeline** — suis les 18 etapes (tableau ci-dessous). Le plugin injecte un rappel avant chaque message.
39
39
  3. **TODO list** — utilise `todowrite` au debut de chaque tache pour tracker les etapes. Marque chaque etape completed/in_progress au fur et a mesure.
40
40
  4. **ASK** — utilise `question` tool SEULEMENT si ambigu. Si le contexte est suffisant, DECIDE et avance. Ne demande pas pour chaque etape.
41
41
  5. **Subagents** — @ciel-researcher pour RECHERCHE, @ciel-explorer pour CODEBASE, @ciel-critic pour RELIRE/SECURITE
@@ -43,7 +43,7 @@ Tu es l'orchestrateur Ciel v6. Analyse, planifie, implemente, verifie.
43
43
  7. **SELF-CHECK** — apres chaque etape, verifie: ai-je fait DOCS? QUOI? ASK? DIVERGE? RECHERCHE?
44
44
  8. **META** — reflexion post-tache (toujours, non-negociable). 10 items.
45
45
 
46
- ## Pipeline (16 etapes)
46
+ ## Pipeline (18 etapes)
47
47
 
48
48
  | Etape | Depth | Action |
49
49
  |-------|-------|--------|
@@ -58,10 +58,12 @@ Tu es l'orchestrateur Ciel v6. Analyse, planifie, implemente, verifie.
58
58
  | **EVALUER** | Std/Crit | Sizing + 2 failure modes + counterfactual → skill `evaluer-sizer` |
59
59
  | **ASK2** | Std/Crit | Valider le plan avec l'utilisateur avant de coder |
60
60
  | **FAIRE** | Toutes | Test-first RED + alternatives + idiomatique → skill `faire-gatekeeper` |
61
+ | **TESTER** | Std/Crit | Executer la suite de tests. RED? → FAIRE. GREEN? → continuer. Max 3 loops. |
61
62
  | **ADR** | Decision | Si decision architecturale → `docs/adrs/` → skill `adr-auto` |
62
- | **RELIRE** | Std/Crit | @ciel-critic MODE=RELIRE: 3 RISQUES + FIX/ACCEPT/DEFER |
63
+ | **RELIRE** | Std/Crit | @ciel-critic MODE=RELIRE: 4 RISQUES + FIX/ACCEPT/DEFER |
63
64
  | **PROUVER** | Std/Crit | Evidence AVANT/APRES + CI gate → skill `prouver-verifier` |
64
- | **MEMOIRE** | Toutes | Sauver .ciel/map.json + learnings + memory.json → skill `memoire` |
65
+ | **MEMOIRE** | Toutes | Capturer episodes `python3 .claude/hooks/memory-engine.py capture` |
66
+ | **COMPILER** | Std/Crit | Si >= 5 episodes non compiles → compiler en `.ciel/wiki/` → skill `savoir-compiler` |
65
67
  | **META** | Toutes | Reflexion post-tache (10 items) → skill `meta-critiquer` |
66
68
 
67
69
  ## Depth Gauge
@@ -69,13 +71,13 @@ Tu es l'orchestrateur Ciel v6. Analyse, planifie, implemente, verifie.
69
71
  | Niveau | Exemple | Pipeline |
70
72
  |--------|---------|----------|
71
73
  | **Trivial** | rename, typo, 1-liner | QUOI → FAIRE → META |
72
- | **Standard** | hook, route, component, service | Full 16 etapes |
74
+ | **Standard** | hook, route, component, service | Full 18 etapes |
73
75
  | **Critical** | auth, DB schema, security, payment | Full + STRIDE + @ciel-critic mandatory |
74
76
  | **Spike** | POC, draft, experimental | QUOI → ASK → AVEC QUOI → DIVERGE → FAIRE (relaxed) → META |
75
77
 
76
78
  Unsure → Standard. Touching user data or auth → Critical.
77
79
 
78
- ## Top 10 Guards
80
+ ## Top 11 Guards
79
81
 
80
82
  1. **"I already know this" = red flag** → besoin de RECHERCHE. Fais-la.
81
83
  2. **Verify before asserting** — pas de citation = tu ne sais pas. Ne devine pas.
@@ -87,6 +89,7 @@ Unsure → Standard. Touching user data or auth → Critical.
87
89
  8. **Scope drift at 3+ files** → re-read QUOI. Recentre-toi.
88
90
  9. **Write test FIRST (RED)**, not after. Toujours.
89
91
  10. **"No error in logs" ≠ proof** → trigger le scenario, vois le signal positif.
92
+ 11. **Episodes sans compilation = savoir dormant** — >= 5 episodes non compiles → skill `savoir-compiler`.
90
93
 
91
94
  ## Subagent Dispatch
92
95
 
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: savoir-compiler
3
+ description: Compile raw memory episodes into structured wiki pages. Karpathy-inspired knowledge compilation layer between raw memories (.ciel/memory/) and schema rules (ciel-overlay.md, .claude/rules/). Transforms dormant episodes into actionable, cross-referenced knowledge.
4
+ category: meta
5
+ ---
6
+
7
+ # Savoir-Compiler — Ciel Second Brain (inspire de Karpathy LLM Wiki)
8
+
9
+ ## What this covers
10
+
11
+ Ciel a deja deux couches de connaissance :
12
+ - **raw** = `.ciel/memory/episodes/` — souvenirs immuables captures par tache
13
+ - **schema** = `ciel-overlay.md` + `.claude/rules/` + `CLAUDE.md` — regles actives
14
+
15
+ Ce qui manque : la **couche wiki** — une compilation structuree et cross-referencee entre les episodes bruts et les regles. C'est le role du savoir-compiler.
16
+
17
+ ```
18
+ .ciel/
19
+ memory/ → raw (immuable — capture par MEMOIRE)
20
+ episodes/ ← souvenirs dates, jamais modifies
21
+ concepts/ ← patterns promus (memoire-consolidator)
22
+ guards/ ← regles de vigilance
23
+ wiki/ → compile (LLM-authored — ce skill)
24
+ INDEX.md ← index navigable avec compiled_at
25
+ patterns/ ← patterns distilles depuis les episodes
26
+ decisions/ ← decisions architecturales
27
+ pitfalls/ ← erreurs frequentes compilees
28
+ ```
29
+
30
+ Principe Karpathy : *"You never write the wiki yourself — the LLM writes and maintains all of it."* Le compilateur lit les episodes raw et produit des pages wiki structurees. L'humain ne les ecrit jamais.
31
+
32
+ ## When to run
33
+
34
+ **Automatique :** a l'etape COMPILER du pipeline (apres MEMOIRE), si >= 5 episodes n'ont pas de page wiki correspondante.
35
+
36
+ **Manuel :** `/ciel-compile` — invoque ce skill directement.
37
+
38
+ **Check rapide :** comparer le nombre d'episodes dans `memory/episodes/` avec le `last_compiled_count` dans `wiki/INDEX.md`. Si delta >= 5 → compiler.
39
+
40
+ ## Six operations
41
+
42
+ Toujours dans cet ordre. Ne jamais sauter CROSS-REF ou LINT.
43
+
44
+ ### 1. INGEST — Scanner les episodes non compiles
45
+
46
+ ```bash
47
+ ls .ciel/memory/episodes/*.md | wc -l
48
+ cat .ciel/wiki/INDEX.md 2>/dev/null || echo "no index yet"
49
+ ```
50
+
51
+ Identifier les episodes qui n'ont pas encore de page wiki. Un episode est "compile" s'il apparait dans le champ `source_episodes` d'une page wiki ou dans `compiled_episodes` de INDEX.md.
52
+
53
+ ### 2. COMPILE — Distiller en pages wiki
54
+
55
+ Lire les episodes non compiles. Les grouper par domaine (intent commun, path_pattern commun). Pour chaque groupe de >= 2 episodes, creer une page wiki.
56
+
57
+ **Quand creer une page dediee (>= 2 episodes) vs note dans une page existante (1 episode) :**
58
+ - >= 2 episodes partagent le meme intent → nouvelle page dans `patterns/`
59
+ - 1 episode isole → l'ajouter en note dans la page existante la plus proche, ou creer une entree dans `pitfalls/`
60
+ - Episode de type "decision architecturale" → toujours dans `decisions/`, meme seul
61
+
62
+ **Format de page wiki :**
63
+
64
+ ```markdown
65
+ ---
66
+ domain: hooks
67
+ compiled_at: 2026-05-24T10:00:00Z
68
+ source_episodes: [mem_xyz, mem_abc]
69
+ related_rules: [.claude/rules/security.md]
70
+ related_wiki: [patterns/bash-hook-patterns.md]
71
+ ---
72
+ # Hooks — Patterns compiles
73
+
74
+ ## Regle 1: PreToolUse hooks → stderr, jamais stdout
75
+ **Source:** mem_xyz (15 triggers), mem_abc
76
+ **Pourquoi:** stdout JSON corrompt la communication Claude Code
77
+ **Canonique:** hooks/pre-tool-write.sh:72
78
+ **Contexte:** Chaque hook qui communique avec Claude DOIT utiliser >&2
79
+
80
+ ## Regle 2: Dispatch gate = marker file + PreToolUse check
81
+ **Source:** mem_5e5de7 (15 triggers)
82
+ **Pourquoi:** Le dispatch gate n'est pas enforce par le LLM mais par hook bash
83
+ **Canonique:** hooks/check-dispatch-gate.sh
84
+ ```
85
+
86
+ Frontmatter obligatoire : `domain`, `compiled_at`, `source_episodes`. Optionnel : `related_rules`, `related_wiki`.
87
+
88
+ ### 3. CROSS-REF — Ajouter des [[wikilinks]]
89
+
90
+ Pour chaque page wiki creee ou modifiee :
91
+ - Linker vers les episodes sources (dans `source_episodes`)
92
+ - Linker vers les regles liees (`related_rules`)
93
+ - Linker vers les autres pages wiki (`related_wiki`) quand le domaine se chevauche
94
+ - Mettre a jour les pages wiki existantes qui devraient referencer la nouvelle page
95
+
96
+ Les wikilinks utilisent le chemin relatif depuis `.ciel/wiki/` : `[patterns/hooks.md](patterns/hooks.md)`
97
+
98
+ ### 4. LINT — Detecter les problemes
99
+
100
+ Verifications automatiques :
101
+ - **Contradictions :** deux pages wiki affirment des choses opposees ? → signaler dans le output report
102
+ - **Orphelins :** une page wiki n'est referencee par aucune autre page ni INDEX.md ? → ajouter a INDEX.md
103
+ - **Doublons :** deux pages couvrent le meme sujet (tags identiques a >= 80%) ? → proposer merge
104
+ - **Sources mortes :** un episode source a ete marque `stale: true` ? → mettre a jour la page wiki
105
+
106
+ ### 5. PROPOSE — Suggérer des mises à jour du schema
107
+
108
+ Quand une page wiki contient >= 3 episodes source et >= 10 triggers cumules, c'est un candidat pour promouvoir en regle. Emettre une suggestion dans le output report :
109
+
110
+ ```
111
+ PROPOSE: promouvoir "patterns/hooks.md" → .claude/rules/hooks.md
112
+ Raison: 5 episodes, 42 triggers cumules. Pattern stabilise.
113
+ Action: AskUserQuestion → si oui, creer la regle et linker depuis wiki.
114
+ ```
115
+
116
+ Ne jamais modifier le schema sans AskUserQuestion. Le compilateur propose, l'utilisateur dispose.
117
+
118
+ ### 6. INDEX — Mettre à jour wiki/INDEX.md
119
+
120
+ Toujours en dernier. INDEX.md est la porte d'entree du wiki :
121
+
122
+ ```markdown
123
+ # Ciel Wiki — Index
124
+
125
+ Derniere compilation: 2026-05-24T10:00:00Z
126
+ Episodes compiles: 23/28
127
+ Dernier episode vu: episodes/2026-05-24-xxx.md
128
+
129
+ ## Patterns (3 pages)
130
+ - [Hooks](patterns/hooks.md) — 5 episodes, 42 triggers
131
+ - [Pipeline](patterns/pipeline.md) — 3 episodes, 18 triggers
132
+ - [Settings](patterns/settings.md) — 2 episodes, 8 triggers
133
+
134
+ ## Decisions (1 page)
135
+ - [ADR-0001: Cued-recall vs free-recall](decisions/cued-recall-design.md)
136
+
137
+ ## Pitfalls (2 pages)
138
+ - [Bash stdout dans les hooks](pitfalls/bash-stdout-hooks.md)
139
+ - [Version drift multi-fichiers](pitfalls/version-drift.md)
140
+ ```
141
+
142
+ Mettre a jour `last_compiled_count` et la date.
143
+
144
+ ## Anti-patterns
145
+
146
+ | Anti-pattern | Pourquoi |
147
+ |---|---|
148
+ | Modifier les episodes raw | Les episodes sont immuables. Le wiki est derive, pas substitut. |
149
+ | Auto-promote vers schema | Les regles doivent etre validees par l'humain. PROPOSE, n'impose pas. |
150
+ | Creer une page pour 1 episode | Sauf decisions architecturales, une page wiki consolide >= 2 episodes. |
151
+ | Skipper CROSS-REF | Sans wikilinks, le wiki est aussi mort que les episodes raw. |
152
+ | Compiler sans LINT | Des contradictions non detectees = corruptions silencieuses du savoir. |
153
+ | Recopier le contenu des episodes | Compiler = synthetiser, pas agreger. Une page wiki est plus courte que la somme de ses sources. |
154
+
155
+ ## Output report
156
+
157
+ Apres chaque compilation, emettre un resume:
158
+
159
+ ```
160
+ [savoir-compiler] 2026-05-24T10:00:00Z
161
+ INGEST: 5 nouveaux episodes depuis derniere compilation
162
+ COMPILE: 2 pages creees (patterns/hooks.md, patterns/pipeline.md)
163
+ 1 page mise a jour (pitfalls/bash-stdout-hooks.md)
164
+ CROSS-REF: 4 wikilinks ajoutes, 2 pages existantes mises a jour
165
+ LINT: 0 contradiction, 1 orphelin resolu
166
+ PROPOSE: 1 promotion suggeree (hooks → rules)
167
+ INDEX: wiki/INDEX.md mis a jour (5 pages, 23/28 episodes compiles)
168
+ ```
169
+
170
+ ## Token budget
171
+
172
+ - INGEST (ls + cat INDEX.md) : ~100 tokens
173
+ - Lecture episodes : ~500 tokens/episode, max 10 episodes (= 5000 tokens)
174
+ - Ecriture wiki : ~2000 tokens/page, max 3 nouvelles pages par run (= 6000 tokens)
175
+ - INDEX update : ~500 tokens
176
+
177
+ Budget total par run : ~12K tokens. Raisonnable pour une tache Standard.
178
+
179
+ ## Related
180
+
181
+ - `memoire` — capture les episodes raw que ce skill compile
182
+ - `memoire-consolidator` — maintenance des episodes (promote/merge/stale), complementaire
183
+ - `meta-critiquer` — reflection post-tache qui peut declencher la compilation
184
+ - `commands/ciel-compile.md` — invocation manuelle
@@ -34,7 +34,7 @@ Generates a valid SKILL.md scaffold following Ciel's conventions. Returns a diff
34
34
  - Third person: "Analyzes X" ✓ / "I analyze X" ✗
35
35
  - Front-load use case + trigger keywords
36
36
  - Include "Use when..." clause
37
- - ≤ 1024 chars, recommended 200-500
37
+ - ≤ 1536 chars, recommended 200-500
38
38
 
39
39
  ### 3. Scaffold SKILL.md
40
40
 
@@ -102,7 +102,7 @@ Problems: no trigger, no output, no specificity.
102
102
 
103
103
  - [ ] Name valid kebab-case, ≤ 64 chars, unique?
104
104
  - [ ] Category is one of the 5 valid categories?
105
- - [ ] Description: third person, ≤ 1024 chars, includes trigger?
105
+ - [ ] Description: third person, ≤ 1536 chars, includes trigger?
106
106
  - [ ] SKILL.md ≤ 300 lines?
107
107
  - [ ] No overlap with existing skills (grep checked)?
108
108
  - [ ] YAML frontmatter valid?
@@ -193,6 +193,8 @@ The legacy single-blob `learnings.md` is kept for backward compatibility but **d
193
193
 
194
194
  - `docs/adrs/0001-cued-recall-memory.md` — full design rationale and binding principles
195
195
  - `skills/workflow/memoire-consolidator` — periodic maintenance: promote, merge, decay
196
+ - `skills/meta/savoir-compiler` — compile raw episodes into structured wiki pages (Karpathy-inspired)
196
197
  - `commands/ciel-memory-bootstrap.md` — first-run scan + ingestion
198
+ - `commands/ciel-compile.md` — manual wiki compilation trigger
197
199
  - `hooks/user-prompt-submit.sh` — detects intervention patterns and proposes capture
198
200
  - `hooks/session-start.sh` — injects matching memories at session start
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AA6KA,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CA4IjE;AA2CD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExD;AAoCD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB9C"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AA+KA,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CA4IjE;AAuCD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExD;AAoCD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB9C"}
package/dist/cli/check.js CHANGED
@@ -59,6 +59,8 @@ const CLAUDE_HOOKS = [
59
59
  "session-version-check.sh",
60
60
  "pre-tool-write.sh",
61
61
  "pre-agent-gate.sh",
62
+ "check-dispatch-gate.sh",
63
+ "track-pipeline.sh",
62
64
  "session-start.sh",
63
65
  "user-prompt-submit.sh",
64
66
  "memory-bootstrap.sh",
@@ -317,12 +319,8 @@ async function checkVersion() {
317
319
  if (cmp < 0) {
318
320
  console.log(` Update available: v${CIEL_VERSION} → v${remoteVersion}`);
319
321
  console.log("");
320
- console.log(" If installed globally:");
321
- console.log(" npm update -g @neikyun/ciel");
322
- console.log(" npx ciel-init update");
323
- console.log("");
324
- console.log(" If installed in project:");
325
- console.log(" npm update @neikyun/ciel");
322
+ console.log(" Run: npx ciel-init update");
323
+ console.log(" (This updates the npm package + reinstalls project files)");
326
324
  return 0;
327
325
  }
328
326
  (0, utils_1.say)(`Ciel v${CIEL_VERSION} (ahead of npm v${remoteVersion} — dev mode)`);
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -8,11 +8,45 @@
8
8
  // update Force reinstall / update
9
9
  // uninstall Remove Ciel from the current project
10
10
  // check Check version + verify installation integrity
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
11
44
  Object.defineProperty(exports, "__esModule", { value: true });
12
45
  const init_1 = require("./init");
13
46
  const uninstall_1 = require("./uninstall");
14
47
  const check_1 = require("./check");
15
48
  const version_1 = require("./version");
49
+ const utils_1 = require("./utils");
16
50
  function usage() {
17
51
  const v = (0, version_1.getVersion)();
18
52
  console.log(`
@@ -75,6 +109,38 @@ async function main() {
75
109
  await (0, check_1.checkVersionOnly)();
76
110
  process.exit(0);
77
111
  }
112
+ // Update the npm package itself first, then reinstall project files.
113
+ // --skip-npm-update prevents infinite re-exec loop (set on re-spawn).
114
+ if (!args.includes("--skip-npm-update")) {
115
+ const { execSync } = await Promise.resolve().then(() => __importStar(require("child_process")));
116
+ (0, utils_1.say)("Updating @neikyun/ciel via npm...");
117
+ let updated = false;
118
+ try {
119
+ execSync("npm update -g @neikyun/ciel", { stdio: "inherit" });
120
+ updated = true;
121
+ }
122
+ catch {
123
+ try {
124
+ execSync("npm update @neikyun/ciel", { stdio: "inherit" });
125
+ updated = true;
126
+ }
127
+ catch {
128
+ (0, utils_1.warn)("npm update failed, continuing with installed version");
129
+ }
130
+ }
131
+ if (updated) {
132
+ // Re-exec with the freshly updated binary to run init
133
+ const passthrough = [...process.argv.slice(1).filter(a => a !== "update" && a !== "repair"), "update", "--skip-npm-update", "--yes"];
134
+ try {
135
+ execSync(`npx ciel-init ${passthrough.map(a => `"${a}"`).join(" ")}`, { stdio: "inherit" });
136
+ }
137
+ catch {
138
+ (0, utils_1.warn)("npx re-exec failed, falling back to in-process init");
139
+ await (0, init_1.runInit)({ ...options, force: true, yes: true });
140
+ }
141
+ process.exit(0);
142
+ }
143
+ }
78
144
  await (0, init_1.runInit)({ ...options, force: true });
79
145
  break;
80
146
  case "uninstall":
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AACA,uBAAuB;AACvB,2CAA2C;AAC3C,EAAE;AACF,YAAY;AACZ,8DAA8D;AAC9D,yCAAyC;AACzC,qDAAqD;AACrD,8DAA8D;;AAE9D,iCAAiC;AACjC,2CAA2C;AAC3C,mCAAqD;AACrD,uCAAuC;AAEvC,SAAS,KAAK;IACZ,MAAM,CAAC,GAAG,IAAA,oBAAU,GAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC;QACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCR,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAU,GAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;IAC/D,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KACvD,CAAC;IAEF,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,MAAM,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAA,wBAAgB,GAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,IAAA,cAAO,EAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,WAAW;YACd,MAAM,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,OAAO;YACV,MAAM,IAAA,gBAAQ,GAAE,CAAC;YACjB,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neikyun/ciel",
3
- "version": "6.13.1",
3
+ "version": "6.14.1",
4
4
  "description": "Ciel — Deep-reasoning pipeline for LLM-assisted development. OpenCode plugin + multi-platform CLI (OpenCode, Claude Code, more).",
5
5
  "main": "./dist/plugin/index.js",
6
6
  "types": "./dist/plugin/index.d.ts",