97 Commits

Author SHA1 Message Date
Safi b101a99d2f Pin tree-sitter>=0.23.0, add version guard, confidence=EXTRACTED for AST calls
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.3.20
2026-04-09 09:36:32 +01:00
Safi b7fd5acc38 Fix AST call edges confidence: INFERRED/0.8 -> EXTRACTED/1.0 (#127)
Tree-sitter resolves call targets directly from source — marking them
INFERRED was incorrect. Cross-file class-level uses edges remain INFERRED.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 09:22:12 +01:00
Safi 38255e733f Fix XSS in HTML viz: escape node labels, types, source files, and edge relations in innerHTML (#sec)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 09:06:02 +01:00
Safi e1864d79c8 Update README for OpenCode tool.execute.before plugin
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 08:56:44 +01:00
Safi 3501605242 Add OpenCode tool.execute.before plugin via graphify opencode install (#71)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 08:55:07 +01:00
Safi 096a76f314 Release v0.3.19
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.3.19
2026-04-09 08:46:26 +01:00
Safi f140d4786d Fix install step: try plain pip before --break-system-packages (#126)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 08:40:17 +01:00
Safi 4d8cffef47 Update CHANGELOG for v0.3.18 with PR fixes (#82 #93 #102 #109)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.3.18
2026-04-09 08:24:29 +01:00
Safi 29c639d97d Apply PRs #82 #93 #102 #109: extension drift, click detection, skill coverage, .graphify_python persistence
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 08:22:01 +01:00
Safi 11dff7e9b3 release 0.3.18: fix watch .graphifyignore, codex hook, trae link, Korean README, save-result CLI 2026-04-09 08:09:36 +01:00
Safi ec4f6845aa add Korean README and fix trae.com link across all READMEs 2026-04-09 08:00:07 +01:00
Safi 1a50f2d12b add Penpax link to README 2026-04-09 01:14:08 +01:00
Safi 8dbf953016 docs: add .jsx .tsx .jl to extensions table, bump to 20 languages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.3.16 v0.3.17
2026-04-08 22:57:46 +01:00
Safi dd8235e0b5 v0.3.17: Julia support, smarter chunking, tree-sitter pin, progress output
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 22:54:18 +01:00
Safi 23d88c55b0 v0.3.16: NetworkX <3.4 compat, .jsx support, pipx follow-up fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 22:27:08 +01:00
Safi 30a66ec1f4 fix: switch star history chart to starchart.cc (no auth required) 2026-04-08 20:06:06 +01:00
Safi 0dc125d09a release: 0.3.15 — Trae platform, security hardening, pipx hooks, PowerShell fix v0.3.15 2026-04-08 20:00:05 +01:00
Safi 6a3b4bb39b fix: shebang allowlist validation in all skill files 2026-04-08 19:57:33 +01:00
Safi 1cc54b3bbf fix: XSS in legend innerHTML and shebang allowlist in hooks 2026-04-08 19:53:10 +01:00
Safi b64c231467 fix: skill-droid.md missing from package-data, louvain kwargs version-safe 2026-04-08 19:47:07 +01:00
ljinshuan f4c3c551e1 feat: add Trae and Trae CN platform support
- Register 'trae' and 'trae-cn' in _PLATFORM_CONFIG (skill-trae.md,
  ~/.trae/skills/ and ~/.trae-cn/skills/, claude_md=False)
- Add CLI subcommands: graphify trae install/uninstall,
  graphify trae-cn install/uninstall (routes to _agents_install/uninstall)
- Update help text with new platform entries
- Create skill-trae.md (Agent-tool based extraction, AGENTS.md integration,
  no PreToolUse hook support per Trae limitations)
- Update README.md and README.zh-CN.md with Trae platform docs

Co-authored-by: lijinshuan <lijinshuan@bytedance.com>
2026-04-08 19:44:19 +01:00
Ikko Eltociear Ashimine 74e192db00 docs: add Japanese README 2026-04-08 19:40:33 +01:00
gdesai23 312ba0dd1e docs: add graph.json + LLM workflow example to README 2026-04-08 19:40:29 +01:00
azizur100389 8a0dd45711 fix: suppress graspologic ANSI output that corrupts PowerShell scroll buffer
* fix: suppress graspologic ANSI output that breaks PowerShell scrolling

graspologic's leiden() emits ANSI escape sequences (progress bars,
colored warnings) that corrupt PowerShell 5.1's scroll buffer on
Windows, disabling vertical scrolling. Redirect stdout/stderr to
StringIO during leiden() calls to prevent any escape codes from
reaching the terminal.

Add 2 tests verifying cluster() produces no stdout/stderr output.

Fixes #19

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

* docs: add PowerShell troubleshooting section to Windows skill

Document the PowerShell 5.1 scrolling issue and provide 4
workarounds: upgrade graphify, use Windows Terminal, reset
terminal, or uninstall graspologic to use Louvain fallback.

Fixes #19

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 19:40:10 +01:00
Minidoracat 785c9f4dd7 fix: detect correct Python interpreter for pipx installs in git hooks
* fix: git hooks fail when graphify is installed via pipx

When installed via pipx, the graphify module is only available in
pipx's isolated venv, not the system python3. The git hooks
(post-commit, post-checkout) hardcoded `python3` which cannot import
graphify in this case.

Detect the correct Python interpreter from the graphify binary's
shebang line, matching the approach already used in skill.md Step 1.
Falls back to python3 for system installs.

* fix: handle env-style shebangs and improve interpreter detection

- Use POSIX `command -v` instead of non-standard `which`
- Parse `#!/usr/bin/env python3` shebangs correctly (previous
  `tr -d ' '` would produce `/usr/bin/envpython3`)
- Add import validation fallback to python3 if resolved interpreter
  cannot import graphify
2026-04-08 19:39:43 +01:00
Safi 2d64c0cd10 fix: Codex PreToolUse hook + --update ghost node pruning (#86, #51) v0.3.14 2026-04-08 19:29:33 +01:00
Safi bd24ddb1d6 fix: hook JSON format, Go pkg scoping, xcassets PDF, cross-file guard, skill file paths (#83, #85, #52, #81) v0.3.13 2026-04-08 19:20:48 +01:00
Safi ffd8906c6c fix: ensure Cypher node label always starts with a letter (#84) 2026-04-08 19:02:05 +01:00
Safi 92b70ce5f4 fix: sanitize_label double-encoding and --wiki missing from skill (#66, #55) v0.3.12 2026-04-08 09:40:21 +01:00
Safi 3d53287ff6 Fix Louvain fallback hang on large sparse graphs (#48) v0.3.11 2026-04-07 22:36:45 +01:00
Safi 96ea51c098 Bump version to 0.3.10 v0.3.10 2026-04-07 21:20:11 +01:00
Safi fec0f9fca9 Fix Windows Unicode crash and add skill version staleness check (#47, #46) 2026-04-07 21:18:50 +01:00
Safi 1383fb0739 Update README: add graphify query CLI, 19 language count, Factory Droid in repo About 2026-04-07 20:25:47 +01:00
Safi a78d25d4fc Add ObjC support, C# inheritance, CLI query, symlink support, bug fixes (v0.3.7-0.3.9)
- Add Objective-C extractor (.m/.mm) with @interface, @implementation, @protocol, imports, calls
- Add C# inheritance extraction via base_list nodes (inherits edges)
- Add --obsidian-dir flag to skill.md and skill-windows.md
- Add graphify query CLI command with --dfs, --budget, --graph flags
- Add follow_symlinks parameter to detect() and collect_files() with cycle detection
- Fix semantic cache relative path resolution (was saving only 4/17 files)
- Fix validate.py missing rationale file_type causing 75 warnings per run
- Add tree-sitter-objc dependency
- Update README with .m/.mm extensions, --obsidian-dir usage, Codex $ skill trigger
- 367 tests passing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 20:20:49 +01:00
Safi 3d5da6039a Add Elixir language support (.ex/.exs)
Extracts defmodule, def/defp, alias/import/require/use, and call graph.
Follows same custom-walk pattern as Zig and PowerShell extractors.
v0.3.8 v0.3.6 v0.3.9 v0.3.7
2026-04-07 12:54:12 +01:00
Safi f6dd049cb0 Add .docx and .xlsx support via optional [office] extra
python-docx converts .docx to markdown (headings, lists, tables).
openpyxl converts .xlsx sheets to markdown tables. Both are
pre-converted to .md sidecars in graphify-out/converted/ before
semantic extraction - no skill changes needed. Graceful fallback
if [office] not installed: file is skipped with an install hint.
v0.3.5
2026-04-07 12:38:03 +01:00
Safi a06313a0f9 Fix UnicodeDecodeError on Windows GBK locale: add encoding=utf-8 to all read_text/write_text calls v0.3.4 2026-04-07 11:54:54 +01:00
Safi db2d297296 Add Windows support: skill-windows.md with PowerShell-compatible commands
graphify install now auto-detects Windows and installs the Windows skill
variant. skill-windows.md replaces bash-specific commands (which, head, tr,
rm -f, mkdir -p) with PowerShell equivalents. Bumps to v0.3.3.
v0.3.3
2026-04-07 11:30:08 +01:00
Safi abd55cca9a Add GitHub Sponsors badge to README 2026-04-07 10:50:59 +01:00
Safi e5e93c8180 Add GitHub Sponsors funding config 2026-04-07 10:46:36 +01:00
Safi 1a109afdce Add star history chart to README 2026-04-07 10:33:31 +01:00
Safi d7230a24c3 bump version to 0.3.2 v0.3.2 2026-04-07 09:59:01 +01:00
Safi 9d998cc810 Add Zig and PowerShell language support 2026-04-07 09:56:53 +01:00
Safi f2423bc114 Add .graphifyignore support for excluding files and directories 2026-04-07 09:41:01 +01:00
Safi b079c6713a Add Factory Droid platform support 2026-04-07 09:34:28 +01:00
Safi 8c1d5e8114 Update SECURITY.md: supported versions, SSRF and YAML injection mitigations 2026-04-06 22:38:02 +01:00
Safi 808cd98395 Fix YAML injection in webpage title and query frontmatter 2026-04-06 22:35:19 +01:00
Safi e7bd4f38ee bump version to 0.3.1 v0.3.1 2026-04-06 22:24:21 +01:00
Safi c529e2217f Fix 8 bugs: SSRF in tweet fetch, Cypher injection, XSS in community labels, graph_diff edge ordering, cache key collision, hook uninstall correctness, watch mode set, rebuild word count 2026-04-06 22:23:55 +01:00
Safi 4e844ea907 Update README: git hook failure behavior 2026-04-06 22:23:55 +01:00