ECC/scripts
dungan 4843a06b3a
fix: Windows compatibility for hook scripts (execFileSync + tmux) (#215)
* fix: Windows compatibility for hook scripts

- post-edit-format.js: add `shell: process.platform === 'win32'` to
  execFileSync options so npx.cmd is resolved via cmd.exe on Windows
- post-edit-typecheck.js: same fix for tsc invocation via npx
- hooks.json: skip tmux-dependent hooks on Windows where tmux is
  unavailable (dev-server blocker and long-running command reminder)

On Windows, execFileSync('npx', ...) without shell:true fails with
ENOENT because Node.js cannot directly execute .cmd files. These
hooks silently fail on all Windows installations.

The tmux hooks unconditionally block dev server commands (exit 2) or
warn about tmux on Windows where tmux is not available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: parse Claude Code JSONL transcript format correctly

The session-end hook expected user messages at entry.content, but
Claude Code's actual JSONL format nests them at entry.message.content.
This caused all session files to be blank templates (0 user messages
despite 136+ actual entries).

- Check entry.message?.content in addition to entry.content
- Extract tool_use blocks from assistant message.content arrays

Verified with Claude Code v2.1.41 JSONL transcripts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: ddungan <sckim@mococo.co.kr>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 01:04:27 -08:00
..
ci fix: add input validation, date range checks, and security hardening 2026-02-12 17:32:04 -08:00
hooks fix: Windows compatibility for hook scripts (execFileSync + tmux) (#215) 2026-02-13 01:04:27 -08:00
lib fix: add input validation, date range checks, and security hardening 2026-02-12 17:32:04 -08:00
release.sh fix: harden CI validators, shell scripts, and expand test suite 2026-02-12 14:11:33 -08:00
setup-package-manager.js fix: resolve ESLint errors and update tests for project-name fallback 2026-01-29 02:58:51 -08:00
skill-create-output.js fix: box() off-by-one alignment, add 5 tests for readStdinJson and box alignment 2026-02-12 16:53:06 -08:00