Skip to content

Fix 5 issues: .mjs imports, cache path, installer idempotency, Windows docs, Windsurf#417

Open
rupivbluegreen wants to merge 1 commit intosafishamsi:v4from
rupivbluegreen:fix/multi-issue-414-410-401-413-353
Open

Fix 5 issues: .mjs imports, cache path, installer idempotency, Windows docs, Windsurf#417
rupivbluegreen wants to merge 1 commit intosafishamsi:v4from
rupivbluegreen:fix/multi-issue-414-410-401-413-353

Conversation

@rupivbluegreen
Copy link
Copy Markdown

Summary

Fixes five open issues in a single PR:

Changes

File What changed
graphify/extract.py Added .mjs to _EXTENSIONS; changed single-file cache root to Path(".")
graphify/__main__.py Idempotency checks for Claude/Codex hooks; Windsurf platform config + dispatch
graphify/hooks.py _hooks_dir() helper respecting core.hooksPath; used in install/uninstall/status
graphify/watch.py Explicit cache_root=Path(".") in _rebuild_code()
README.md Windows PATH note; Windsurf in platforms table + requires line
tests/test_extract.py Test for .mjs collection and imports_from edges
tests/test_cache.py Test that single-file extraction caches at project root

Test plan

  • All 435 tests pass (433 existing + 2 new)
  • graphify install twice — verify no duplicate hooks in .claude/settings.json
  • graphify install --platform windsurf — verify skill copied to ~/.windsurf/skills/graphify/
  • Run extraction on .mjs files with relative imports — verify imports_from edges
  • Single-file extraction — verify cache at ./graphify-out/cache/, not in source dir

Closes #414, #410, #401, #413, #353

Thanks Claude & Codex

…fishamsi#410), installer idempotency (safishamsi#401), Windows PATH docs (safishamsi#413), Windsurf support (safishamsi#353)

- Add .mjs to _EXTENSIONS so .mjs files are discovered and imports_from edges resolve (safishamsi#414)
- Use Path(".") as cache root for single-file extraction instead of file parent dir (safishamsi#410)
- Make installer idempotent: check before filtering hooks in Claude/Codex installers (safishamsi#401)
- Respect core.hooksPath (Husky) in hooks install/uninstall/status (safishamsi#401)
- Skip skill copy when destination already matches source (safishamsi#401)
- Add Windows PATH troubleshooting note to README (safishamsi#413)
- Add Windsurf platform support to _PLATFORM_CONFIG and subcommand dispatch (safishamsi#353)

Co-Authored-By: Claude, Codex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AST extractor drops imports_from edges for some source files

1 participant