Commit graph

6 commits

Author SHA1 Message Date
Gergo Magyar
78b6541f5b fix(hooks): harden cross-platform safety and add regression tests
- Remove shell:true from CJS hook npx fallback, use npx.cmd on Windows
- Use sendHookResponse() consistently in both hook variants
- Fix setup.ts path escaping with JSON.stringify for safe interpolation
- Add path.isAbsolute(cwd) guards against crafted stdin input
- Reduce PreToolUse CLI timeout from 8s to 7s
- Truncate debug error messages to 200 chars
- Add 73 regression tests covering shell injection, cwd validation,
  dispatch routing, staleness detection, and cross-platform spawning
2026-03-07 08:46:07 +00:00
Linus Beckhaus
9465c52ab9 feat(hooks): auto-reindex after git commit with embeddings preservation
feat(hooks): auto-reindex after git commit with embeddings preservation

Add PostToolUse hook that re-runs `gitnexus analyze` after git commit/merge,
automatically detecting and preserving embeddings via meta.json stats.

- Persist embeddings count in meta.json stats.embeddings field
- Add PostToolUse handler to both hook variants (cjs + plugin)
- Register PostToolUse hook in setup.ts for Claude Code
- Add "Keeping the Index Fresh" section to generated CLAUDE.md/AGENTS.md

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

revert running gitanalyz

fix: address code review findings for auto-reindex hooks

- Fix hook timeout units: seconds not milliseconds (8000->8, 120000->120)
- Remove unused execFileSync import from gitnexus-hook.cjs
- Remove unused `output` variable in PostToolUse handler
- Remove spurious template interpolation in ai-context.ts

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

refactor: clean up gitnexus-hook.cjs per review feedback

- Hoist spawnSync import to module scope
- Add shell: isWin for npx fallback on Windows
- Extract findGitNexusDir helper, reuse in both PreToolUse and PostToolUse

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

fix(hooks): stricter git regex, proper spawnSync error handling, embeddings in recovery commands

- Tighten commit/merge regex to not match git merge-base (require \s|$ after subcommand)
- Replace try/catch with child.error/signal inspection for spawnSync timeout detection
- Include --embeddings in manual recovery commands when embeddings were detected
- Extract emitPostToolContext helper to reduce duplication
- Apply all fixes to both hook variants (cjs + plugin)

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

fix(hooks): single-launch CLI resolution, guard PreToolUse stderr on failure

- Plugin: detect gitnexus binary via which/where once, then run exactly once
  (prevents double execution when binary exists but command fails)
- Both hooks: only forward augment stderr as additionalContext when exit code
  is 0, preventing CLI error output from leaking into agent context

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

docs: update README and CLI skill for PostToolUse auto-reindex

- README: editor support table now shows PreToolUse + PostToolUse
- README: description mentions auto-reindex after commits
- gitnexus-cli skill: document auto-reindex in "When to run" section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:07:17 +01:00
abhigyanpatwari
20ebd6b781 feat: security hardening, MCP improvements, skills, hooks, and CLI updates
- Export security primitives (CYPHER_WRITE_RE, isWriteQuery, isTestFilePath,
  VALID_NODE_LABELS, VALID_RELATION_TYPES) from local-backend
- Improve MCP kuzu-adapter with better query handling
- Add PR review skill for Claude, Cursor, and npm package
- Add CLI guide and CLI skills
- Update hooks for Claude plugin and Cursor integration
- Remove deprecated claude-hooks.ts CLI module
- Update eval-server, setup, and analyze CLI commands
- Improve CSV generator and ingestion processors
- Update CLAUDE.md and AGENTS.md configs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:13:42 +05:30
abhigyanpatwari
2a444acf1d fix(plugin): hook logic bug and version mismatch
- Fix hook exit status check: || → && so failed augment errors
  don't get injected into Claude's context as graph results
- Add exit status check to npx fallback (same bug)
- Update plugin version from 1.2.11 to 1.3.3 in both
  marketplace.json and plugin.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 18:08:32 +05:30
Linus Beckhaus
397dad8ec4 feat(plugin): transform Claude Code plugin into self-contained installable package
Bundle MCP server config (.mcp.json), fix hook to use spawnSync with npx
fallback and read stderr (KuzuDB stdout workaround), wire plugin.json with
hooks/mcpServers paths, add guide skill with tools/resources/schema reference,
add AMP-compatible mcp.json to all skill dirs, and slim CLAUDE.md generator
by moving reference content into the guide skill.
2026-02-25 11:47:16 +01:00
abhigyanpatwari
eca55aacd7 fixed resource count multiplying issue ( using resource templates now ) 2026-02-13 21:28:36 +05:30