Martin Vogel
bd6bbc2ab1
Add Go LSP hybrid type resolver, config store, and supporting infrastructure
...
- Go LSP cross-file type resolution engine (internal/cbm/lsp/) with C-based
type registry, scope tracking, and Go stdlib data (30K+ definitions)
- lsp_bridge.go: CrossFileDef struct and RunGoLSPCrossFile CGo bridge
- config.go: persistent ConfigStore (SQLite) for auto_index, mem_limit settings
- CLI config subcommand for get/set/list/delete operations
- Store: edge batch upsert, project config columns, goleak test harness
- Pipeline: prefetch parallelism, resolver improvements, memleak tests
- CI: dry-run workflow improvements, vendor-grammar.sh enhancements
2026-03-12 13:26:13 +01:00
Martin Vogel
26f686550c
Statically link Windows binary to fix missing DLL error
...
Add -extldflags '-static' to Windows build so libwinpthread-1.dll
and other MinGW runtime DLLs are embedded in the binary.
2026-03-06 21:29:58 +01:00
Martin Vogel
e292f875a9
Fix community issues #15 , #17 , #20 and add editor support #19
...
- Fix Continue.dev invalid_type error: add properties:{} to list_projects schema (#15 )
- Fix Windows paths: sanitize colons and backslashes in ProjectNameFromPath (#20 )
- Fix update double-v prefix: strip v from version before display (#17 )
- Fix update context canceled: DownloadAsset returns []byte, not ReadCloser (#17 )
- Strip v prefix in release workflow ldflags (Unix + Windows builds)
- Add Gemini CLI, VS Code Copilot, and Zed to install/uninstall commands (#19 )
- Add tests for new editor configs and Windows path cases
2026-03-06 19:51:47 +01:00
Martin Vogel
07f0beadc6
Add manual dry-run workflow for pre-release validation
...
Lint + test + build on all 5 OS targets without creating a release.
Trigger manually before running the release workflow.
2026-03-06 18:22:36 +01:00
Martin Vogel
03a99be966
Remove automatic CI workflow, keep manual-only releases
2026-03-06 18:11:57 +01:00
Martin Vogel
05a35ac9b1
v0.5.1: Fix C/C++/CUDA/GLSL function extraction, add config linker and tests
...
- Fix extract_defs.c declarator chain traversal for C-family function_definition
nodes (off-by-one in field name length, missing depth traversal)
- Add resolve_func_name() support for CommonLisp defun, Makefile rule, VimScript,
Julia, Elm value_declaration, Groovy field_function methods
- Add config linker pipeline: 3 strategies linking config keys to code symbols,
dependency manifest entries to imports, and config file path references
- Add regression tests (~150 cases across 50+ languages), language failure tests,
and config extraction tests
- Refactor discover.go, configures.go, configlink_strategies.go to reduce
cognitive complexity (extract helpers for gocognit compliance)
- Fix Louvain community detection: use map lookup instead of O(N) scan
2026-03-06 17:50:18 +01:00
Martin Vogel
59d40d4035
v0.5: CBM tree-sitter engine, 59 vendored language grammars
...
- Replace Go-binding tree-sitter with vendored C grammars compiled via
CGo (internal/cbm/); eliminates all Go module/linker fragility
- Add 32 new languages: Clojure, CMake, COBOL, Common Lisp, CUDA, Elm,
Emacs Lisp, Fortran, F#, GLSL, GraphQL, INI, JSON, Julia, Makefile,
Markdown, Meson, Nix, Protobuf, Svelte, Verilog, Vim Script, Vue, XML
(plus C, C#, Erlang, SQL, YAML quality improvements)
- Adaptive worker concurrency and mmap prefetch for faster indexing
- Graph buffer: batched SQLite writes for 3-5x throughput improvement
- Fix cancellation test: use 50ms timeout (pipeline now indexes 212-file
Erlang repo in ~400ms, well under the old 2s deadline)
- Fix isTestFunction: add "Test" prefix for C#, "test" prefix for Scala
2026-03-05 22:39:01 +01:00
Martin Vogel
7d1f56836e
Add replace option to release workflow
...
New boolean input allows re-releasing the same version by deleting
the existing release and force-updating the tag before rebuild.
2026-03-01 21:53:02 +01:00
Martin Vogel
3589a1bd1d
Fix release binary naming and Codex CLI MCP registration
...
- Release workflow: build binary as `codebase-memory-mcp` (not
`codebase-memory-mcp-<os>-<arch>`) inside tarballs. Users extract
and get the correct name without renaming.
- Codex CLI: replace broken `codex mcp add/remove` calls with direct
config.toml manipulation. Codex uses [mcp_servers.<name>] sections,
not CLI subcommands.
- README: add explicit extract-and-move step to Quick Start.
2026-03-01 19:43:07 +01:00
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
6469cb641d
Restructure release workflow: lint gate, then test+build per platform
...
Pipeline: lint (ubuntu) -> test+build per OS (5 parallel) -> release
Lint failure stops early. Each platform runs its own tests before building.
2026-02-28 02:10:20 +01:00
Martin Vogel
600ec428d6
Fix lint (http.NoBody) and restructure release workflow
...
- Use http.NoBody instead of nil in checkForUpdate (gocritic httpNoBody)
- Restructure workflow: lint+test gate -> parallel builds -> release
Prevents wasted build compute when lint or tests fail.
2026-02-28 02:07:49 +01:00
Martin Vogel
6811faf82b
Add optional release_notes input to Release workflow
...
When provided, uses the custom notes as the release body.
When empty, falls back to auto-generated notes from commits.
2026-02-28 02:02:54 +01:00
Martin Vogel
97289ddae6
Fix CI: build golangci-lint from source for Go 1.26 compat
2026-02-26 20:17:20 +01:00
Martin Vogel
f932e87b6e
v0.1.4: CLI mode, query performance optimizations, Go 1.26
...
Add CLI mode for direct tool invocation from the shell — every MCP tool
can now be called without an MCP client. Useful for testing, scripting,
and CI pipelines.
Query engine rewrite: SQL LIKE pre-filtering extracts literal substrings
from regex patterns before scanning, batch degree counting replaces
per-node queries, and schema queries use id→label maps instead of 3-way
JOINs. Cypher relationship queries up to 600x faster on large graphs.
Incremental reindex 4x faster via content-hash skip optimization.
Upgrade to Go 1.26 (Green Tea GC) and SQLite v1.46.1.
2026-02-26 19:27:27 +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
56901bec27
Fix CI: replace deprecated macos-13 with macos-15-intel
...
macos-13 runners were removed in Dec 2025. macos-15-intel is the
free replacement for x86_64 macOS builds (available until Aug 2027).
2026-02-25 10:14:07 +01:00
Martin Vogel
3c6ad62ed0
Add cross-platform setup scripts and CI release workflow
...
- GitHub Actions workflow builds native binaries for 5 platforms:
darwin-arm64, darwin-amd64, linux-amd64, linux-arm64, windows-amd64
- Windows build uses MSYS2 UCRT64 toolchain for CGO compatibility
- setup.sh: macOS/Linux installer (binary download or --from-source)
- setup-windows.ps1: Windows installer (native .exe or -FromSource via WSL)
- Both scripts offer interactive Claude Code MCP auto-configuration
- Release includes checksums.txt with SHA-256 hashes
- PS5.1-compatible JSON handling (no -AsHashtable dependency)
2026-02-25 10:07:45 +01:00