Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"type": "command",
"timeout": 180,
"statusMessage": "Running build + lint + typecheck before commit…",
"command": "node -e \"\nconst chunks = [];\nprocess.stdin.on('data', d => chunks.push(d));\nprocess.stdin.on('end', () => {\n const input = JSON.parse(Buffer.concat(chunks).toString());\n const cmd = input.tool_input?.command || '';\n if (!/git\\\\s+commit\\\\b/.test(cmd)) process.exit(0);\n const { execSync } = require('child_process');\n const cwd = execSync('git rev-parse --show-toplevel', { encoding: 'utf8' }).trim();\n const steps = [\n ['bun run build', 'Build'],\n ['bun run lint', 'Lint'],\n ['bun run --filter \\'*\\' typecheck 2>&1 | grep -v \\'vitest\\\\|test\\\\.ts\\' || true', 'Typecheck'],\n ];\n const failures = [];\n for (const [script, label] of steps) {\n try { execSync(script, { cwd, stdio: 'pipe' }); }\n catch (e) {\n failures.push(label + ':\\\\n' + (e.stdout?.toString() || e.message).slice(0, 400));\n }\n }\n if (failures.length > 0) {\n process.stdout.write(JSON.stringify({\n continue: false,\n stopReason: '\\u274c Pre-commit checks failed:\\\\n\\\\n' + failures.join('\\\\n\\\\n') + '\\\\n\\\\nFix the issues above before committing.',\n }));\n }\n});\""
"command": "node -e \"\nconst chunks = [];\nprocess.stdin.on('data', d => chunks.push(d));\nprocess.stdin.on('end', () => {\n const input = JSON.parse(Buffer.concat(chunks).toString());\n const cmd = input.tool_input?.command || '';\n if (!/git\\s+commit\\b/.test(cmd)) process.exit(0);\n const { execSync } = require('child_process');\n const fs = require('fs');\n const path = require('path');\n const os = require('os');\n // A leading 'cd <path>' in the command is the real target directory:\n // Claude Code prefixes this whenever the session's tracked cwd differs\n // from this hook process's own cwd (e.g. a sibling repo worktree) — the\n // hook process itself always inherits the primary working directory,\n // never the command's actual target.\n function resolveTargetDir() {\n const m = cmd.match(/^\\s*cd\\s+('([^']+)'|(\\S+))\\s*(?:&&|;|\\n|$)/);\n if (m) {\n let dir = m[2] || m[3];\n if (dir.startsWith('~')) dir = path.join(os.homedir(), dir.slice(1));\n dir = path.resolve(process.cwd(), dir);\n if (fs.existsSync(dir)) return dir;\n }\n return process.cwd();\n }\n const targetDir = resolveTargetDir();\n let repoRoot;\n try {\n repoRoot = execSync('git rev-parse --show-toplevel', { cwd: targetDir, encoding: 'utf8' }).trim();\n } catch {\n process.exit(0);\n }\n // Only this repo's own bun build/lint/typecheck applies — skip silently\n // for any other repo (e.g. a sibling Go/Python repo touched in the same session).\n const pkgPath = path.join(repoRoot, 'package.json');\n if (!fs.existsSync(pkgPath)) process.exit(0);\n let pkg;\n try {\n pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));\n } catch {\n process.exit(0);\n }\n if (pkg.name !== 'hyperframes-monorepo') process.exit(0);\n const steps = [\n ['bun run build', 'Build'],\n ['bun run lint', 'Lint'],\n ['bun run --filter \\'*\\' typecheck 2>&1 | grep -v \\'vitest\\\\|test\\\\.ts\\' || true', 'Typecheck'],\n ];\n const failures = [];\n for (const [script, label] of steps) {\n try {\n execSync(script, { cwd: repoRoot, stdio: 'pipe' });\n } catch (e) {\n failures.push(label + ':\\n' + (e.stdout?.toString() || e.message).slice(0, 400));\n }\n }\n if (failures.length > 0) {\n process.stdout.write(JSON.stringify({\n continue: false,\n stopReason: '❌ Pre-commit checks failed:\\n\\n' + failures.join('\\n\\n') + '\\n\\nFix the issues above before committing.',\n }));\n }\n});\""
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion lefthook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pre-commit:
# Auto-format and re-stage so the committed snapshot is always formatted.
# Replaces --check which only reports — that left unformatted files in
# commits when the hook ran after the amend snapshot was taken.
run: bunx oxfmt --no-error-on-unmatched-pattern {staged_files} && git add {staged_files}
run: bunx oxfmt --no-error-on-unmatched-pattern {staged_files} && git add -f {staged_files}
skills-manifest:
glob: "skills/**"
# Regenerate the freshness fingerprint when a skill changes, then re-stage
Expand Down
1 change: 0 additions & 1 deletion packages/producer/node_modules/.bin/puppeteer

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/.bin/tsc

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/.bin/tsserver

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/.bin/tsx

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/archivo-black

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/eb-garamond

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/ibm-plex-mono

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/inter

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/jetbrains-mono

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/lato

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/league-gothic

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/montserrat

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/noto-sans-jp

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/nunito

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/open-sans

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/oswald

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/outfit

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/poppins

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/roboto

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/source-code-pro

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@fontsource/space-mono

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@hono/node-server

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@hyperframes/core

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@hyperframes/engine

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/@webgpu/types

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/hono

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/linkedom

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/postcss

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/puppeteer

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/puppeteer-core

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/tsx

This file was deleted.

1 change: 0 additions & 1 deletion packages/producer/node_modules/typescript

This file was deleted.

Loading