Commit Graph
9 Commits
Author SHA1 Message Date
Martin Vogel 02bc3b7352 Release v0.3.0: 25 languages, install/update CLI, skills, benchmark
Language expansion (13 → 25):
  Add Ruby, C, Bash, Zig, Elixir, Haskell, OCaml, HTML, CSS, YAML,
  TOML, HCL with tree-sitter grammars and language specs.
  Restore Erlang and SQL with extraction fixes.

CLI install/update/uninstall commands:
  Auto-detect Claude Code and Codex CLI, register MCP server,
  install task-specific skills, self-update with SHA-256 verification.

Embedded skills (4):
  exploring, tracing, quality, reference — auto-trigger in Claude Code
  for graph-first code discovery.

Pipeline improvements:
  Docstring extraction, enrichment pass for params/returns/complexity,
  graceful context cancellation, improved test detection.

35-language benchmark (BENCHMARK.md):
  12 questions × 35 repos, 91.8% overall score, Linux kernel stress
  test (20K nodes, zero timeouts). Replaces old benchmark artifacts.
2026-03-01 18:01:52 +01:00
Martin Vogel c10d6676ff Fix gofmt: import order and trailing newlines 2026-02-28 02:48:20 +01:00
Gaurav Ratnawat 6d5af59d3e feat: add Kotlin language support
Add Kotlin (.kt, .kts) as the 13th supported language with full
tree-sitter parsing, AST node extraction, call resolution, usage
tracking, and string constant propagation.
Changes:
- internal/lang/kotlin.go: Kotlin LanguageSpec registration
- internal/lang/lang.go: Add Kotlin constant and AllLanguages()
- internal/parser/parser.go: Register tree-sitter-kotlin grammar
- internal/pipeline/pipeline.go: Kotlin in isConstantNode(),
  isExported(), extractCalleeName()
- internal/pipeline/resolve.go: resolveKotlin() for val declarations
- internal/pipeline/usages.go: Kotlin reference node types
- Tests: TestParseKotlin, TestResolveKotlinConcat, extension tests
- go.mod: Add tree-sitter-grammars/tree-sitter-kotlin v1.1.0
- README.md: Update language count to 13
2026-02-28 02:36:50 +01:00
Martin Vogel 27e0707c6d Fix missing trailing newlines in Kotlin PR files 2026-02-28 02:31:11 +01:00
Gaurav Ratnawat 1c95eb506d feat: add Kotlin language support
Add Kotlin (.kt, .kts) as the 13th supported language with full
tree-sitter parsing, AST node extraction, call resolution, usage
tracking, and string constant propagation.
Changes:
- internal/lang/kotlin.go: Kotlin LanguageSpec registration
- internal/lang/lang.go: Add Kotlin constant and AllLanguages()
- internal/parser/parser.go: Register tree-sitter-kotlin grammar
- internal/pipeline/pipeline.go: Kotlin in isConstantNode(),
  isExported(), extractCalleeName()
- internal/pipeline/resolve.go: resolveKotlin() for val declarations
- internal/pipeline/usages.go: Kotlin reference node types
- Tests: TestParseKotlin, TestResolveKotlinConcat, extension tests
- go.mod: Add tree-sitter-grammars/tree-sitter-kotlin v1.1.0
- README.md: Update language count to 13
2026-02-28 02:25:24 +01:00
Ben HicksandClaude Sonnet 4.6 13c0dff423 Fix C# support: wire tree-sitter-c-sharp grammar into parser
C# was listed as a supported language but every .cs file produced
"unsupported language: c-sharp" because the tree-sitter grammar was
never wired up. The comment cited a "module path mismatch", but
github.com/tree-sitter/tree-sitter-c-sharp is a valid Go module path
(hyphens are allowed); the Go package inside simply uses underscores
(tree_sitter_c_sharp), which is standard Go convention.

Fix: add the import and map lang.CSharp to tree_sitter_c_sharp.Language()
in parser.go. Also remove the C# skip from TestAllLanguagesLoad and add
TestParseCSharp to verify class and method parsing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 02:20:29 +01:00
Martin Vogel fb30ca61d6 v0.2.0: Multi-DB router, enrichment pipeline, update-available notification, enhanced language support
Major changes:
- Store router: per-project SQLite databases with automatic migration
- Pipeline enrichment: community detection, inheritance, decorators, read/write tracking, test detection, type usage, exception flows, configuration relationships
- Update checker: lightweight GitHub release check on startup, injects update_available into first tool response
- Language support: enhanced extraction for C++, C#, Go, Java, JavaScript, Lua, PHP, Python, Rust, Scala, TSX, TypeScript
- Cypher executor: improved query execution with better aggregation and pattern matching
- HTTP link detection: cross-service HTTP call inference
- CLI mode: extended with --raw flag, human-friendly summaries for all tools
- Search: sort_by support, exclude_labels, glob matching improvements
- AST debug tool for parser development
2026-02-28 01:58:47 +01:00
Martin Vogel 97284a35fa v0.1.0: Performance, incremental indexing, async boundary detection
Performance & quality:
- Transaction wrapping (Querier interface, single tx per index run)
- Composite indexes on edges table for faster traversals
- Cypher WHERE push-down (=, CONTAINS, STARTS WITH → SQL)
- golangci-lint with 25 linters, zero violations
- 11 benchmarks for pipeline, search, and BFS

Incremental indexing:
- Content-hash based file change detection
- Dependency-aware two-level invalidation (changed + dependents)
- Stale file cleanup for deleted files

Async boundary detection:
- Project-wide env var URL scanner (Dockerfile, YAML, .tf, .sh, .env,
  TOML, properties files) with 3-layer secret exclusion
- Env var default extraction in constant propagation (getEnv, os.environ.get,
  process.env with ||/?? fallback)
- ASYNC_CALLS edge type for Cloud Tasks, Pub/Sub, SQS/SNS, RabbitMQ, Kafka
  dispatch patterns, separate from synchronous HTTP_CALLS
- Tool descriptions updated with all edge types

Other improvements:
- Type inference for method dispatch resolution
- Interface implementation detection (IMPLEMENTS edges)
- Improved tool descriptions for discoverability
2026-02-25 13:43:57 +01:00
Martin Vogel f63c70865e Initial release: codebase-memory-mcp v0.0.1
MCP server that indexes codebases into a queryable knowledge graph.
Single Go binary, SQLite storage, 12 languages via tree-sitter.

Features: call graph, cross-service HTTP linking, dead code detection,
route nodes, Cypher queries, incremental reindex, JSON config scanning.
2026-02-25 00:10:39 +01:00