mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-04-28 11:59:29 +00:00
* refactor: extract inline hook commands to TypeScript scripts in .claude/scripts/ Replace long inline `bash -c '...'` one-liners in .claude/settings.json with standalone TypeScript scripts that are easier to read, debug, and maintain: - enforce-worktree.ts: PreToolUse hook ensuring edits happen in worktrees - validate-file.ts: PostToolUse hook for .sh/.ts file validation - pre-merge-check.ts: PreToolUse hook running biome + tests before merge Add .claude/scripts as a bun workspace package (@spawn/hooks). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: replace manual typeguards with valibot schemas in hook scripts - Extract shared schemas (FilePathInput, CommandInput, parseStdin) to schemas.ts - Replace inline multi-level typeof/in checks with v.safeParse() calls - Add valibot dependency to @spawn/hooks package - Add CLAUDE.md rule: always prefer valibot over manual typeguards, share schemas Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: split CLAUDE.md into modular .claude/rules/ files Split the 437-line monolithic CLAUDE.md into a lean 89-line project overview plus 9 focused rules files in .claude/rules/ (auto-loaded by Claude Code): - culture.md — embrace bold changes, parallelize, verify exhaustively - shell-scripts.md — curl|bash compat, macOS bash 3.x, ESM only, bun not python - type-safety.md — no `as` assertions, ALWAYS use valibot (never manual typeguards) - testing.md — bun:test only, no vitest, no subprocess spawning - git-workflow.md — worktree-first mandatory workflow - autonomous-loops.md — discovery/refactor service architecture - discovery.md — how to fill matrix gaps, add clouds/agents - documentation.md — never commit docs, use .docs/ - cli-version.md — bump version on every CLI change The type-safety rule now explicitly mandates valibot schemas over manual typeguard chains in all cases beyond single-primitive narrowing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(lint): run biome check across all packages in CI The lint workflow only checked packages/cli/src/. Now it checks all TypeScript locations in a single biome check command: - packages/cli/src/ (with GritQL plugins) - packages/shared/src/ (new biome.json) - .claude/scripts/ (new biome.json) - .claude/skills/setup-spa/ Fixed all pre-existing lint/format errors: - node: protocol on all Node.js built-in imports in hook scripts - useBlockStatements in packages/shared/src/type-guards.ts - expand formatting in .claude/skills/setup-spa/main.ts and spa.test.ts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: lab <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
9 lines
139 B
JSON
9 lines
139 B
JSON
{
|
|
"name": "@spawn/hooks",
|
|
"private": true,
|
|
"type": "module",
|
|
"version": "0.0.1",
|
|
"dependencies": {
|
|
"valibot": "^1.0.0"
|
|
}
|
|
}
|