| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| codegraph-win32-x64.zip | 2026-05-22 | 42.4 MB | |
| codegraph-darwin-arm64.tar.gz | 2026-05-22 | 46.6 MB | |
| codegraph-darwin-x64.tar.gz | 2026-05-22 | 47.8 MB | |
| codegraph-linux-arm64.tar.gz | 2026-05-22 | 51.5 MB | |
| codegraph-linux-x64.tar.gz | 2026-05-22 | 51.8 MB | |
| codegraph-win32-arm64.zip | 2026-05-22 | 38.5 MB | |
| README.md | 2026-05-22 | 4.4 kB | |
| v0.9.2 source code.tar.gz | 2026-05-22 | 1.1 MB | |
| v0.9.2 source code.zip | 2026-05-22 | 1.2 MB | |
| Totals: 9 Items | 280.9 MB | 1 | |
[0.9.2] - 2026-05-21
Added
- Installer target: Hermes Agent (Nous Research).
codegraph installnow supports Hermes Agent — it writes themcp_servers.codegraphentry and ensuresplatform_toolsets.cliincludesmcp-codegraphin$HERMES_HOME/config.yaml, so Hermes can drive the CodeGraph knowledge graph like the other agents. - Framework support: Drupal 8/9/10/11 — CodeGraph now detects Drupal projects (via a
drupal/*dependency incomposer.json) and adds three levels of intelligence: - Route extraction:
*.routing.ymlfiles emit aroutenode per route, linked by areferencesedge to the_controller,_form, or entity-handler class/method, so querying a controller method surfaces the URL route that binds it. - Hook detection: hook implementations in
.module,.install,.theme, and.incfiles are detected via docblock (Implements hook_X()) with a module-name-prefix fallback. Each emits areferencesedge to the canonicalhook_Xname socodegraph_callers("hook_form_alter")returns every implementation across modules. - Resolution:
_controller/_formFQCNs resolve to their PHP class/method nodes. Newyaml/twiglanguages are tracked at the file level, the Drupal PHP extensions (.module/.install/.theme/.inc) are indexed with the PHP grammar, andweb/core,web/modules/contrib,web/themes/contribare excluded by default. Resolves #268.
Changed
- Zero-config indexing that respects
.gitignore. CodeGraph no longer has a config file. It indexes every file whose extension maps to a supported language and honors your.gitignoreeverywhere: in git repos via git itself, and in non-git projects (e.g. a freshly-scaffolded app beforegit init) by reading.gitignorefiles directly — root and nested, the same way git does (via theignorelibrary, so negation/anchoring/nested rules all behave correctly). To keep something out of the graph, add it to.gitignore. Behavior change: committed files that are not gitignored are now indexed even undervendor/,Pods/, or a committeddist/— previously a hardcoded exclude list skipped those names; now.gitignoreis the single source of truth. Resolves #283.
Fixed
- Windows:
npm i -g @colbymchenry/codegraphthen anycodegraphcommand failed withspawnSync …\codegraph.cmd EINVAL. The npm launcher spawned the bundle's.cmdfile directly, which modern Node refuses to do on Windows (the CVE-2024-27980 hardening — seen on Node 24). The launcher now invokes the bundlednode.exeagainst the app directly, socodegraphworks on Windows regardless of your Node version. Resolves #289.
Removed
.codegraph/config.jsonand the entire config surface. Every field was either inert or now redundant with.gitignore:languages/frameworksnever affected indexing (languages are detected per file from extensions; frameworks are auto-detected).languageswas also broken — its validator only knew the original 8 languages, so setting it to anything newer (C#, PHP, Ruby, C/C++, Swift, Kotlin, Dart, Vue, Scala, Lua, …) threwInvalid configuration format.extractDocstrings/trackCallSites/customPatternswere never read by any extractor.includeis now derived from the supported language extensions,excludeis replaced by.gitignore, andmaxFileSize(1 MB) is a constant.
Breaking (library API): the CodeGraphConfig type, the config option on CodeGraph.init(), and the getConfig()/updateConfig()/getConfigPath exports are gone. Existing .codegraph/config.json files are simply ignored. The .codegraphignore marker is no longer supported — use .gitignore.
Security
- MCP session marker no longer follows symlinks (CWE-59). Every
codegraph_contextcall writes acodegraph-consulted-*marker into the system temp dir; the previous write followed symlinks, so on a multi-user system another local user could pre-plant that path as a symlink and redirect the write onto a victim-writable file. The marker is now opened withO_NOFOLLOWand mode0600, and a planted symlink is refused rather than followed. Resolves #280.