@miniidealab/openlogos 0.10.3 → 0.10.4

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openlogos",
3
3
  "description": "OpenLogos methodology plugin — structured AI-driven development with Why → What → How progression",
4
- "version": "0.10.3",
4
+ "version": "0.10.4",
5
5
  "author": {
6
6
  "name": "MiniIdeaLab",
7
7
  "url": "https://github.com/miniidealab"
@@ -0,0 +1,343 @@
1
+ #!/usr/bin/env bash
2
+ # OpenLogos Guard Check — PreToolUse hook for Claude Code.
3
+ # Blocks Edit/Write/Bash tool calls when the project is in "launched" lifecycle
4
+ # but no active change proposal (logos/.openlogos-guard) exists.
5
+ #
6
+ # Input: JSON on stdin { "tool_name": "Edit"|"Write"|"Bash", "tool_input": { ... } }
7
+ # Output: JSON on stdout { "reason": "..." } (only when blocking)
8
+ # Exit: 0 = allow, 2 = block
9
+
10
+ set -euo pipefail
11
+
12
+ # ── Read stdin ────────────────────────────────────────────────────────────────
13
+ INPUT="$(cat)"
14
+ TOOL_NAME="$(echo "$INPUT" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('tool_name',''))" 2>/dev/null \
15
+ || echo "$INPUT" | node -e "const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8')); process.stdout.write(d.tool_name||'')" 2>/dev/null \
16
+ || echo "")"
17
+
18
+ # ── Helpers ───────────────────────────────────────────────────────────────────
19
+ json_get() {
20
+ # json_get <json> <key> — extract a string field with python3 or node
21
+ local json="$1" key="$2"
22
+ echo "$json" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('tool_input',{}).get('$key',''))" 2>/dev/null \
23
+ || echo "$json" | node -e "const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8')); process.stdout.write((d.tool_input||{})['$key']||'')" 2>/dev/null \
24
+ || echo ""
25
+ }
26
+
27
+ block() {
28
+ # Emit JSON reason and exit 2 to block the tool call
29
+ local msg="$1"
30
+ printf '{"reason":"%s"}' "$msg"
31
+ exit 2
32
+ }
33
+
34
+ # ── Step 1: Check if logos project exists ────────────────────────────────────
35
+ YAML_FILE="logos/logos-project.yaml"
36
+ CONFIG_FILE="logos/logos.config.json"
37
+
38
+ if [ ! -f "$CONFIG_FILE" ]; then
39
+ # Not an OpenLogos project — allow everything
40
+ exit 0
41
+ fi
42
+
43
+ # ── Step 2: Determine lifecycle ───────────────────────────────────────────────
44
+ # Check if any module has lifecycle: launched
45
+ IS_LAUNCHED=0
46
+ if [ -f "$YAML_FILE" ]; then
47
+ if python3 -c "
48
+ import sys, re
49
+ content = open('$YAML_FILE').read()
50
+ in_modules = False
51
+ for line in content.splitlines():
52
+ if re.match(r'^modules\s*:', line):
53
+ in_modules = True
54
+ continue
55
+ if in_modules:
56
+ if re.match(r'^[a-zA-Z]', line) and not re.match(r'^\s', line):
57
+ break
58
+ if re.search(r'lifecycle\s*:\s*[\"\'"]?launched[\"\'"]?', line):
59
+ sys.exit(0)
60
+ sys.exit(1)
61
+ " 2>/dev/null; then
62
+ IS_LAUNCHED=1
63
+ elif node -e "
64
+ const fs = require('fs');
65
+ const content = fs.readFileSync('$YAML_FILE', 'utf-8');
66
+ let inModules = false;
67
+ for (const line of content.split('\n')) {
68
+ if (/^modules\s*:/.test(line)) { inModules = true; continue; }
69
+ if (inModules) {
70
+ if (/^[a-zA-Z]/.test(line) && !/^\s/.test(line)) break;
71
+ if (/lifecycle\s*:\s*[\"']?launched[\"']?/.test(line)) process.exit(0);
72
+ }
73
+ }
74
+ process.exit(1);
75
+ " 2>/dev/null; then
76
+ IS_LAUNCHED=1
77
+ fi
78
+ fi
79
+
80
+ if [ "$IS_LAUNCHED" -eq 0 ]; then
81
+ # All modules are initial — allow everything
82
+ exit 0
83
+ fi
84
+
85
+ # ── Step 3: Check guard file ──────────────────────────────────────────────────
86
+ GUARD_FILE="logos/.openlogos-guard"
87
+ if [ -f "$GUARD_FILE" ]; then
88
+ # Active change proposal exists — allow
89
+ exit 0
90
+ fi
91
+
92
+ # ── Step 4: Check whitelist ───────────────────────────────────────────────────
93
+
94
+ # Whitelist: path prefixes always allowed regardless of guard
95
+ WHITELIST_PREFIXES=(
96
+ "logos/changes/"
97
+ "logos/.openlogos-guard"
98
+ "logos/logos-project.yaml"
99
+ ".claude/"
100
+ ".opencode/"
101
+ ".codex-plugin/"
102
+ ".cursor/"
103
+ "logos/skills/"
104
+ "logos/spec/"
105
+ ".gitignore"
106
+ "README"
107
+ "CLAUDE.md"
108
+ "AGENTS.md"
109
+ "opencode.json"
110
+ ".openlogos"
111
+ )
112
+
113
+ is_whitelisted_path() {
114
+ local path="$1"
115
+
116
+ # Use Python/Node to normalize both paths.
117
+ # Key challenge: on macOS /var is a symlink to /private/var.
118
+ # spawnSync passes cwd=/var/... but bash pwd returns /private/var/...
119
+ # We normalize by resolving the cwd symlink, then applying the same
120
+ # symlink substitution to the input path before computing relpath.
121
+ local rel_path=""
122
+ if command -v python3 &>/dev/null; then
123
+ rel_path="$(python3 - "$path" <<'PYEOF' 2>/dev/null
124
+ import sys, os
125
+
126
+ path = sys.argv[1]
127
+ cwd = os.getcwd() # /private/var/... (bash resolves symlinks)
128
+
129
+ # Resolve cwd symlinks to get canonical form
130
+ real_cwd = os.path.realpath(cwd)
131
+
132
+ # For the input path, try to resolve symlinks on the directory part
133
+ # (the file itself may not exist yet)
134
+ path_dir = os.path.dirname(path)
135
+ path_base = os.path.basename(path)
136
+ try:
137
+ real_dir = os.path.realpath(path_dir) if os.path.exists(path_dir) else path_dir
138
+ except Exception:
139
+ real_dir = path_dir
140
+ real_path = os.path.join(real_dir, path_base)
141
+
142
+ # Compute relative path
143
+ try:
144
+ rel = os.path.relpath(real_path, real_cwd)
145
+ if rel.startswith('..'):
146
+ # Fallback: try without resolving path symlinks
147
+ rel2 = os.path.relpath(path, cwd)
148
+ if not rel2.startswith('..'):
149
+ rel = rel2
150
+ except ValueError:
151
+ rel = path
152
+
153
+ print(rel)
154
+ PYEOF
155
+ )"
156
+ elif command -v node &>/dev/null; then
157
+ rel_path="$(node -e "
158
+ const path = require('path');
159
+ const fs = require('fs');
160
+ const p = process.argv[1];
161
+ const cwd = process.cwd();
162
+ // Resolve cwd symlinks
163
+ let realCwd = cwd;
164
+ try { realCwd = fs.realpathSync(cwd); } catch {}
165
+ // Resolve directory part of path (file may not exist)
166
+ const dir = path.dirname(p);
167
+ const base = path.basename(p);
168
+ let realDir = dir;
169
+ try { realDir = fs.realpathSync(dir); } catch {}
170
+ const realP = path.join(realDir, base);
171
+ let rel = path.relative(realCwd, realP);
172
+ if (rel.startsWith('..')) {
173
+ const rel2 = path.relative(cwd, p);
174
+ if (!rel2.startsWith('..')) rel = rel2;
175
+ }
176
+ process.stdout.write(rel);
177
+ " "$path" 2>/dev/null)"
178
+ fi
179
+
180
+ # Fallback: simple bash stripping
181
+ if [ -z "$rel_path" ]; then
182
+ local norm="${path#/}"
183
+ local cwd_s
184
+ cwd_s="$(pwd)"
185
+ cwd_s="${cwd_s#/}"
186
+ rel_path="${norm#"$cwd_s/"}"
187
+ fi
188
+
189
+ for prefix in "${WHITELIST_PREFIXES[@]}"; do
190
+ if [[ "$rel_path" == "$prefix"* ]]; then
191
+ return 0
192
+ fi
193
+ done
194
+ return 1
195
+ }
196
+
197
+ # Whitelist: Bash command patterns that are always safe (read-only or openlogos CLI)
198
+ BASH_SAFE_PATTERNS=(
199
+ "^openlogos "
200
+ "^openlogos$"
201
+ "^git (status|log|diff|show|branch|fetch|pull|stash|tag|describe|rev-parse|ls-files|shortlog|blame|remote)"
202
+ "^npm (test|run test|run build|run dev|run generate|run check|run lint|run typecheck|run start|pack)"
203
+ "^npx (vitest|jest|mocha|ts-node|tsc)"
204
+ "^vitest"
205
+ "^node --test"
206
+ "^ls |^ls$"
207
+ "^cat "
208
+ "^find "
209
+ "^grep "
210
+ "^head "
211
+ "^tail "
212
+ "^wc "
213
+ "^echo "
214
+ "^printf "
215
+ "^pwd$"
216
+ "^cd "
217
+ "^which "
218
+ "^type "
219
+ "^env$"
220
+ "^printenv"
221
+ "^python3 -c"
222
+ "^node -e"
223
+ "^node -p"
224
+ "^curl "
225
+ "^wget "
226
+ "^jq "
227
+ "^sort "
228
+ "^uniq "
229
+ "^awk "
230
+ "^sed [^-]"
231
+ "^tr "
232
+ "^cut "
233
+ "^diff "
234
+ "^test "
235
+ "^\\[ "
236
+ "^true$"
237
+ "^false$"
238
+ "^sleep "
239
+ "^date$"
240
+ "^date "
241
+ "^uname"
242
+ "^sw_vers"
243
+ "^nvm "
244
+ "^node --version"
245
+ "^npm --version"
246
+ "^openlogos --version"
247
+ )
248
+
249
+ # Bash write patterns that require a guard
250
+ BASH_WRITE_PATTERNS=(
251
+ "sed -i"
252
+ " > "
253
+ " >> "
254
+ "| tee "
255
+ "^tee "
256
+ "^mv "
257
+ "^cp "
258
+ "^rm "
259
+ "^mkdir"
260
+ "^touch "
261
+ "^chmod "
262
+ "^chown "
263
+ "^npm install"
264
+ "^npm uninstall"
265
+ "^npm ci"
266
+ "^git push"
267
+ "^git commit"
268
+ "^git add"
269
+ "^git reset"
270
+ "^git checkout "
271
+ "^git restore"
272
+ "^git rm"
273
+ "^git stash pop"
274
+ "^git stash drop"
275
+ "^git tag "
276
+ "^git merge"
277
+ "^git rebase"
278
+ "^git cherry-pick"
279
+ "writeFileSync"
280
+ "mkdirSync"
281
+ )
282
+
283
+ # ── Handle by tool type ───────────────────────────────────────────────────────
284
+
285
+ case "$TOOL_NAME" in
286
+ Edit|Write)
287
+ FILE_PATH="$(json_get "$INPUT" "file_path")"
288
+ if [ -z "$FILE_PATH" ]; then
289
+ exit 0 # Can't determine path — allow (fail open)
290
+ fi
291
+ if is_whitelisted_path "$FILE_PATH"; then
292
+ exit 0
293
+ fi
294
+ block "⛔ 变更管理拦截:项目处于 launched 生命周期,但没有活跃的变更提案。\\n\\n目标文件:$FILE_PATH\\n\\n请先运行 \`openlogos change <slug>\` 创建变更提案后再修改代码。"
295
+ ;;
296
+
297
+ Bash)
298
+ COMMAND="$(json_get "$INPUT" "command")"
299
+ if [ -z "$COMMAND" ]; then
300
+ exit 0
301
+ fi
302
+
303
+ # Trim leading whitespace
304
+ COMMAND_TRIMMED="${COMMAND#"${COMMAND%%[![:space:]]*}"}"
305
+
306
+ # Check safe patterns first
307
+ for pattern in "${BASH_SAFE_PATTERNS[@]}"; do
308
+ if echo "$COMMAND_TRIMMED" | grep -qE "$pattern" 2>/dev/null; then
309
+ exit 0
310
+ fi
311
+ done
312
+
313
+ # Check write patterns
314
+ NEEDS_BLOCK=0
315
+ for pattern in "${BASH_WRITE_PATTERNS[@]}"; do
316
+ if echo "$COMMAND_TRIMMED" | grep -qE "$pattern" 2>/dev/null; then
317
+ NEEDS_BLOCK=1
318
+ break
319
+ fi
320
+ done
321
+
322
+ if [ "$NEEDS_BLOCK" -eq 1 ]; then
323
+ # Check if the write target is whitelisted
324
+ # Extract potential file path from common patterns
325
+ WRITE_TARGET=""
326
+ if echo "$COMMAND_TRIMMED" | grep -qE " > |>> " 2>/dev/null; then
327
+ WRITE_TARGET="$(echo "$COMMAND_TRIMMED" | sed -E 's/.*[>]{1,2} *([^ ]+).*/\1/' 2>/dev/null || echo "")"
328
+ fi
329
+ if [ -n "$WRITE_TARGET" ] && is_whitelisted_path "$WRITE_TARGET"; then
330
+ exit 0
331
+ fi
332
+ block "⛔ 变更管理拦截:项目处于 launched 生命周期,但没有活跃的变更提案。\\n\\n检测到写入操作:$(echo "$COMMAND_TRIMMED" | head -c 120)\\n\\n请先运行 \`openlogos change <slug>\` 创建变更提案后再执行此命令。"
333
+ fi
334
+
335
+ # Default: allow (unknown commands pass through)
336
+ exit 0
337
+ ;;
338
+
339
+ *)
340
+ # Other tools (Read, Glob, Grep, etc.) — always allow
341
+ exit 0
342
+ ;;
343
+ esac
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,YAAY,CAAC;AAQxF,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAYvF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG9D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAiB1E;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAG5D;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAelG;AAED,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAWxH;AAED,KAAK,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE9F,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA+B9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAI1D;AAoED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBlE;AAED,eAAO,MAAM,WAAW,sTAiBd,CAAC;AAyBX,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAW9C;AAED,wBAAgB,gCAAgC,IAAI,MAAM,GAAG,IAAI,CAahE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,GAAG,IAAI,CAa7D;AAqCD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CAyBhJ;AAuDD,wBAAgB,8BAA8B,IAAI,MAAM,GAAG,IAAI,CAa9D;AAiHD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,IAAI,CAwEP;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6BzK;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAalE;AAgBD,KAAK,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3C,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,EACnB,IAAI,GAAE,aAA0B,QAsDjC;AAOD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,MAAM,CAkErF;AAgBD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlF;AAyCD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACvF,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAEA;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,MAAM,SAAO,GACZ,IAAI,CAMN;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAa,EACrB,UAAU,GAAE,OAAe,EAC3B,YAAY,CAAC,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmD1C;AA0LD,kDAAkD;AAClD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,MAAM,CAqEjG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBvE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA8B5E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,UAAU,GAAE,OAAe,GAAG,MAAM,CA8KjI;AAED,wBAAsB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,iBA6HvF"}
@@ -384,6 +384,52 @@ export function findClaudePluginTemplateSource() {
384
384
  return devTemplate;
385
385
  return null;
386
386
  }
387
+ /**
388
+ * Merges the openlogos PreToolUse guard hook into .claude/settings.json.
389
+ * Idempotent: only appends if the hook command is not already present.
390
+ */
391
+ function mergeClaudePreToolUseGuard(root, guardRelPath) {
392
+ const settingsPath = join(root, '.claude', 'settings.json');
393
+ if (!existsSync(settingsPath))
394
+ return; // SessionStart merge creates it first
395
+ let data = {};
396
+ try {
397
+ data = JSON.parse(readFileSync(settingsPath, 'utf-8'));
398
+ }
399
+ catch {
400
+ return; // Malformed JSON — skip
401
+ }
402
+ const hookEntry = { type: 'command', command: guardRelPath };
403
+ // Check if already registered under PreToolUse
404
+ const hooks = data['hooks'];
405
+ const preToolUse = hooks?.['PreToolUse'];
406
+ const alreadyRegistered = Array.isArray(preToolUse) &&
407
+ preToolUse.some((group) => {
408
+ if (typeof group !== 'object' || group === null)
409
+ return false;
410
+ const g = group;
411
+ return Array.isArray(g['hooks']) &&
412
+ g['hooks'].some((h) => {
413
+ if (typeof h !== 'object' || h === null)
414
+ return false;
415
+ return h['command'] === guardRelPath;
416
+ });
417
+ });
418
+ if (alreadyRegistered)
419
+ return;
420
+ if (!data['hooks'] || typeof data['hooks'] !== 'object') {
421
+ data['hooks'] = {};
422
+ }
423
+ const hooksObj = data['hooks'];
424
+ if (!Array.isArray(hooksObj['PreToolUse'])) {
425
+ hooksObj['PreToolUse'] = [];
426
+ }
427
+ hooksObj['PreToolUse'].push({
428
+ matcher: 'Edit|Write|Bash',
429
+ hooks: [hookEntry],
430
+ });
431
+ writeFileSync(settingsPath, JSON.stringify(data, null, 2));
432
+ }
387
433
  /**
388
434
  * Merges the openlogos SessionStart hook into .claude/settings.json.
389
435
  * Idempotent: only appends if the hook command is not already present.
@@ -492,8 +538,22 @@ export function deployClaudeCodePlugin(root, locale = 'en') {
492
538
  }
493
539
  catch { /* ignore on platforms that don't support chmod */ }
494
540
  }
541
+ // Deploy bin: plugin/bin/guard-check → .claude/openlogos/bin/guard-check
542
+ const guardSrc = join(source, 'bin', 'guard-check');
543
+ const guardRelPath = '.claude/openlogos/bin/guard-check';
544
+ if (existsSync(guardSrc)) {
545
+ mkdirSync(binTargetDir, { recursive: true });
546
+ const guardDest = join(binTargetDir, 'guard-check');
547
+ copyFileSync(guardSrc, guardDest);
548
+ try {
549
+ chmodSync(guardDest, 0o755);
550
+ }
551
+ catch { /* ignore on platforms that don't support chmod */ }
552
+ }
495
553
  // Merge SessionStart hook into .claude/settings.json
496
554
  const settingsResult = mergeClaudeSettings(root, binRelPath);
555
+ // Merge PreToolUse guard hook into .claude/settings.json
556
+ mergeClaudePreToolUseGuard(root, guardRelPath);
497
557
  void locale; // locale reserved for future use
498
558
  return {
499
559
  commandCount,
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miniidealab/openlogos",
3
- "version": "0.10.3",
3
+ "version": "0.10.4",
4
4
  "description": "CLI tool for the OpenLogos software engineering methodology",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,6 +9,14 @@
9
9
  ```
10
10
  project-root/
11
11
  ├── AGENTS.md # AI 助手指令(自动生成,根目录)
12
+ ├── CLAUDE.md # Claude Code 指令(自动生成,根目录)
13
+
14
+ ├── .claude/ # Claude Code 插件目录(自动生成)
15
+ │ ├── settings.json # 权限与 hook 配置
16
+ │ └── openlogos/
17
+ │ └── bin/
18
+ │ ├── openlogos-phase # SessionStart hook — 会话开始时注入阶段上下文
19
+ │ └── guard-check # PreToolUse hook — 变更管理硬拦截
12
20
 
13
21
  ├── logos/ # OpenLogos 方法论资产(独立收纳)
14
22
  │ ├── logos.config.json # 项目配置(OpenLogos 规范)
@@ -137,6 +145,19 @@ OpenLogos 方法论的统一入口。包含配置文件、研发资源文档和
137
145
  - 冒烟报告:`smoke-report.md`(由 `openlogos smoke` 自动生成)
138
146
  - 详细格式定义见 [test-results.md](./test-results.md)
139
147
 
148
+ ### .claude/openlogos/bin/guard-check
149
+
150
+ PreToolUse guard hook 脚本。在 Claude Code 调用 Edit/Write/Bash 工具前执行,检查 `logos/.openlogos-guard` 是否存在。
151
+
152
+ 判定逻辑:
153
+ 1. 读取 `logos/logos-project.yaml`,若所有模块均为 `initial` lifecycle → 放行(不受限)
154
+ 2. 存在 `launched` 模块时,检查 `logos/.openlogos-guard` → 存在则放行
155
+ 3. guard 不存在且目标文件/命令不在白名单内 → exit 2 硬性阻断
156
+
157
+ - 部署方式:由 `openlogos init` / `openlogos sync` 自动部署到 `.claude/openlogos/bin/guard-check`
158
+ - 适用工具:仅 Claude Code(其他工具通过各自机制实现)
159
+ - 详细规格:见 `spec/pretooluse-guard.md`
160
+
140
161
  ## 可选目录
141
162
 
142
163
  根据项目需要,可以添加以下目录:
@@ -0,0 +1,181 @@
1
+ # PreToolUse Guard Hook 规格
2
+
3
+ > 版本:1.0.0
4
+ >
5
+ > 本文档定义 OpenLogos 的 Claude Code PreToolUse guard hook 机制。该 hook 在 AI 调用 Edit/Write/Bash 工具前执行,硬性拦截无提案的代码修改操作。
6
+
7
+ ## 概述
8
+
9
+ OpenLogos 的变更管理要求 `launched` 生命周期的项目在修改代码前必须创建变更提案(`openlogos change <slug>`)。此前该规则仅通过 CLAUDE.md 文本约束和 SessionStart hook 提示词注入来"提醒",AI 可以无视。
10
+
11
+ PreToolUse guard hook 将该规则从"提醒"升级为"拦截":在工具层面硬性阻断,AI 物理上无法在没有提案的情况下修改代码。
12
+
13
+ ## 触发条件
14
+
15
+ Claude Code 的 `PreToolUse` hook 在以下工具调用前触发:
16
+
17
+ | 工具 | matcher |
18
+ |------|---------|
19
+ | Edit | 文件编辑 |
20
+ | Write | 文件写入 |
21
+ | Bash | Shell 命令执行 |
22
+
23
+ 配置于 `.claude/settings.json`:
24
+
25
+ ```json
26
+ {
27
+ "hooks": {
28
+ "PreToolUse": [
29
+ {
30
+ "matcher": "Edit|Write|Bash",
31
+ "hooks": [
32
+ {
33
+ "type": "command",
34
+ "command": ".claude/openlogos/bin/guard-check"
35
+ }
36
+ ]
37
+ }
38
+ ]
39
+ }
40
+ }
41
+ ```
42
+
43
+ ## 输入格式
44
+
45
+ hook 从 stdin 接收 JSON:
46
+
47
+ ```json
48
+ {
49
+ "tool_name": "Edit",
50
+ "tool_input": {
51
+ "file_path": "/absolute/path/to/file.ts",
52
+ "old_string": "...",
53
+ "new_string": "..."
54
+ }
55
+ }
56
+ ```
57
+
58
+ 对于 Bash 工具:
59
+
60
+ ```json
61
+ {
62
+ "tool_name": "Bash",
63
+ "tool_input": {
64
+ "command": "sed -i 's/foo/bar/' src/index.ts"
65
+ }
66
+ }
67
+ ```
68
+
69
+ ## 判定逻辑
70
+
71
+ ```
72
+ ┌─────────────────────────────────────────┐
73
+ │ 1. 读取 logos/logos-project.yaml │
74
+ │ 所有模块 lifecycle 均为 initial? │
75
+ │ → YES: exit 0(放行,不受限) │
76
+ │ → NO: 继续检查 │
77
+ ├─────────────────────────────────────────┤
78
+ │ 2. 检查 logos/.openlogos-guard │
79
+ │ 文件存在? │
80
+ │ → YES: exit 0(有活跃提案,放行) │
81
+ │ → NO: 继续检查白名单 │
82
+ ├─────────────────────────────────────────┤
83
+ │ 3. 检查白名单 │
84
+ │ 目标文件/命令在白名单内? │
85
+ │ → YES: exit 0(豁免,放行) │
86
+ │ → NO: exit 2(阻断) │
87
+ └─────────────────────────────────────────┘
88
+ ```
89
+
90
+ ## 白名单规则
91
+
92
+ ### 文件路径白名单(Edit/Write 工具)
93
+
94
+ 以下路径的文件始终允许修改,无论 guard 文件是否存在:
95
+
96
+ | 路径模式 | 原因 |
97
+ |----------|------|
98
+ | `logos/changes/**` | 提案目录本身(创建提案时需要写入) |
99
+ | `logos/.openlogos-guard` | guard 文件本身(CLI 写入) |
100
+ | `logos/logos-project.yaml` | 项目索引(CLI 和 Skill 写入) |
101
+ | `.gitignore` | 版本控制配置 |
102
+ | `README.md` / `README.*.md` | 项目说明文件 |
103
+ | `CLAUDE.md` | AI 指令文件(sync 写入) |
104
+ | `AGENTS.md` | AI 指令文件(sync 写入) |
105
+ | `opencode.json` | OpenCode 配置(sync 写入) |
106
+ | `.claude/**` | Claude Code 插件目录(sync 写入) |
107
+ | `.opencode/**` | OpenCode 插件目录(sync 写入) |
108
+ | `.codex-plugin/**` | Codex 插件目录(sync 写入) |
109
+ | `.cursor/**` | Cursor 规则目录(sync 写入) |
110
+ | `logos/skills/**` | Skills 目录(sync 写入) |
111
+ | `logos/spec/**` | 规格目录(sync 写入) |
112
+
113
+ ### Bash 命令白名单
114
+
115
+ 以下命令模式始终允许执行:
116
+
117
+ | 模式 | 原因 |
118
+ |------|------|
119
+ | `openlogos *` | OpenLogos CLI 命令 |
120
+ | `git *`(非 push) | Git 操作(查看状态、提交等) |
121
+ | `npm test` / `vitest` / `jest` | 测试命令 |
122
+ | `npm run build` / `npm run dev` | 构建命令 |
123
+ | `ls` / `cat` / `find` / `grep` / `head` / `tail` | 只读命令 |
124
+ | `cd` / `pwd` / `echo`(无重定向) | 无副作用命令 |
125
+ | `node -e` / `python3 -c`(无文件写入) | 计算命令 |
126
+
127
+ ### Bash 写入操作检测模式
128
+
129
+ 以下模式被视为文件写入操作,在无 guard 时阻断:
130
+
131
+ | 模式 | 说明 |
132
+ |------|------|
133
+ | `>` / `>>` | 重定向写入 |
134
+ | `sed -i` | 原地编辑 |
135
+ | `tee` | 写入文件 |
136
+ | `mv` / `cp` / `rm` / `mkdir -p` | 文件系统修改 |
137
+ | `chmod` / `chown` | 权限修改 |
138
+ | `npm install` / `npm uninstall` | 依赖修改 |
139
+ | `git push` | 远程推送 |
140
+
141
+ **例外**:如果写入目标在文件路径白名单内,仍然放行。
142
+
143
+ ## 输出格式
144
+
145
+ ### 放行(exit 0)
146
+
147
+ 无输出或输出空 JSON:
148
+
149
+ ```json
150
+ {}
151
+ ```
152
+
153
+ ### 阻断(exit 2)
154
+
155
+ 输出 JSON 到 stdout,包含阻断原因:
156
+
157
+ ```json
158
+ {
159
+ "reason": "⛔ 变更管理拦截:项目处于 launched 生命周期,但没有活跃的变更提案。请先运行 `openlogos change <slug>` 创建提案后再修改代码。"
160
+ }
161
+ ```
162
+
163
+ Claude Code 会将 reason 展示给 AI,AI 会据此调整行为(创建提案)。
164
+
165
+ ## 部署方式
166
+
167
+ guard-check 脚本由 `openlogos init` / `openlogos sync` 自动部署到 `.claude/openlogos/bin/guard-check`,并自动更新 `.claude/settings.json` 中的 PreToolUse hook 配置。
168
+
169
+ 部署条件:
170
+ - `aiTool` 包含 `claude-code` 或为 `all`
171
+ - 项目已初始化(`logos/logos.config.json` 存在)
172
+
173
+ ## 与现有机制的关系
174
+
175
+ | 机制 | 层级 | 作用 |
176
+ |------|------|------|
177
+ | CLAUDE.md 文本约束 | 提示词 | 告知 AI 规则(可被无视) |
178
+ | SessionStart hook | 会话开始 | 注入上下文提醒(可被无视) |
179
+ | **PreToolUse guard hook** | **工具执行前** | **硬性拦截(无法绕过)** |
180
+
181
+ 三层机制互补:CLAUDE.md 让 AI "知道"规则,SessionStart 让 AI "记住"当前状态,PreToolUse 让 AI "无法违反"规则。