Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
e81202d
Merge pull request #2 from bhicks329/fix/csharp-tree-sitter-grammar
DeusData Feb 28, 2026
2dc9879
feat: add Kotlin language support
GauravRatnawat Feb 27, 2026
6542bfa
Merge pull request #3 from GauravRatnawat/feat/kotlin-support
DeusData Feb 28, 2026
e0dcb36
Tighten cache directory permissions from 0755 to 0750
DeusData Feb 28, 2026
4a7e237
Bump version to 0.2.1
DeusData Feb 28, 2026
c3ce013
Fix gofmt: import order and trailing newlines
DeusData Feb 28, 2026
ef6b5dc
Fix update-available notice: goroutine ordering, body limit, UX
DeusData Feb 28, 2026
3862f15
Release v0.3.0: 25 languages, install/update CLI, skills, benchmark
DeusData Mar 1, 2026
d6dc6a1
Bump benchmark header to v0.3.0
DeusData Mar 1, 2026
a8abb46
Remove root skills/ folder, now embedded in binary
DeusData Mar 1, 2026
07df6e0
Update README numbers: 25 β†’ 35 languages, fresh benchmark stats
DeusData Mar 1, 2026
e773c6a
Fix install: write skills unconditionally, not gated on claude CLI
DeusData Mar 1, 2026
9e06d89
Fix Windows CI: .exe suffix, USERPROFILE, skip Unix-specific tests
DeusData Mar 1, 2026
e116ef6
Fix mcp remove hanging: add -s user scope flag
DeusData Mar 1, 2026
9da902e
Fix release binary naming and Codex CLI MCP registration
DeusData Mar 1, 2026
b5fb8da
Add replace option to release workflow
DeusData Mar 1, 2026
52d5ddd
Release v0.3.1: detect_changes, risk scoring, editor support, SDK upg…
DeusData Mar 2, 2026
a0674cb
Update server.json to v0.3.1 release with SHA256 checksums
DeusData Mar 2, 2026
5755ef1
Add get_architecture, manage_adr tools; rename Leiden to Louvain
DeusData Mar 2, 2026
e90ecda
Add CONTRIBUTING.md and GitHub Pages landing page
DeusData Mar 2, 2026
9ce3d27
Add robots.txt and sitemap.xml for search engine indexing
DeusData Mar 2, 2026
351b9a3
Add test for R function name resolution
utafrali Mar 2, 2026
8e3870f
Merge pull request #14 from utafrali/fix/issue-5-fix-r-function-name-…
DeusData Mar 3, 2026
228edc7
v0.4: Pipeline quality improvements, snippet tool optimization
DeusData Mar 3, 2026
5fe2b50
Fix Windows CI: close SQLite before TempDir cleanup
DeusData Mar 3, 2026
3cc9ea2
Fix Louvain community detection O(N^2) bottleneck
DeusData Mar 3, 2026
c89538f
v0.5: CBM tree-sitter engine, 59 vendored language grammars
DeusData Mar 5, 2026
8e5e25d
v0.5.1: Fix C/C++/CUDA/GLSL function extraction, add config linker an…
DeusData Mar 6, 2026
5936d70
Update README: 59 languages, correct edge types, cbm architecture
DeusData Mar 6, 2026
b09669f
Bump version constant to 0.4.0 for release
DeusData Mar 6, 2026
2cefa07
Fix linux build: replace removed syscall.Fadvise with unix.Fadvise
DeusData Mar 6, 2026
a29a292
Remove automatic CI workflow, keep manual-only releases
DeusData Mar 6, 2026
33d3ee7
Fix Linux build: add _DEFAULT_SOURCE for endian macros
DeusData Mar 6, 2026
49f0655
Add manual dry-run workflow for pre-release validation
DeusData Mar 6, 2026
548346b
Add smoke-test.sh for CI binary validation
DeusData Mar 6, 2026
0357692
Vendor tree-sitter unicode headers for Windows build
DeusData Mar 6, 2026
c2240dc
Vendor complete tree-sitter unicode headers for Windows
DeusData Mar 6, 2026
2d25776
Fix Windows build: add ts_runtime/src to include path for unicode hea…
DeusData Mar 6, 2026
0cc78d4
Fix Windows CLI test DLL_NOT_FOUND failure
DeusData Mar 6, 2026
8349e25
Fix community issues #15, #17, #20 and add editor support #19
DeusData Mar 6, 2026
0e9a7b5
Update landing page and README with latest stats
DeusData Mar 6, 2026
5afbf4f
feat(pipeline): improve call resolution with test entry points and re…
vanigabriel Mar 6, 2026
1ae19a6
feat(resolver): cross-app guard prevents false CALLS edges in monorepos
vanigabriel Mar 6, 2026
a9b0183
test(pipeline): add parseGoReceiver tests + clarify two-hop scope
vanigabriel Mar 6, 2026
76f408e
fix(pipeline): restore original comments on inferTypesCBM
vanigabriel Mar 6, 2026
e27244b
fix(resolver): prevent self-reference edges in call resolution
vanigabriel Mar 6, 2026
411d05d
feat(tools): add qualified_name parameter to trace_call_path
vanigabriel Mar 6, 2026
6f37a22
feat(pipeline): mark Echo handler methods as entry points
vanigabriel Mar 6, 2026
5680f38
feat(pipeline): add pub/sub event bus ASYNC_CALLS detection
vanigabriel Mar 6, 2026
590c0c4
fix(pipeline): reduce ASYNC_CALLS false positives from 1781 to 43
vanigabriel Mar 6, 2026
47defc6
feat(pipeline): event-routed ASYNC_CALLS with source scanning
vanigabriel Mar 6, 2026
3872d81
fix(pipeline): address code review findings on pubsub and handler det…
vanigabriel Mar 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
93 changes: 93 additions & 0 deletions .github/workflows/dry-run.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Dry Run

on:
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
go-version: "1.26"

- uses: golangci/golangci-lint-action@v7
with:
version: v2.10
args: --timeout=5m

test-unix:
needs: [lint]
strategy:
matrix:
include:
- os: ubuntu-latest
goos: linux
goarch: amd64
- os: ubuntu-24.04-arm
goos: linux
goarch: arm64
- os: macos-14
goos: darwin
goarch: arm64
- os: macos-15-intel
goos: darwin
goarch: amd64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
go-version: "1.26"

- name: Run tests
run: go test ./...

- name: Build binary
run: |
CGO_ENABLED=1 go build \
-o codebase-memory-mcp \
./cmd/codebase-memory-mcp/

- name: Smoke test
run: bash scripts/smoke-test.sh ./codebase-memory-mcp

test-windows:
needs: [lint]
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
go-version: "1.26"

- uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
path-type: inherit
install: mingw-w64-ucrt-x86_64-gcc

- name: Run tests
shell: msys2 {0}
run: |
which go
go version
go test ./...

- name: Build binary
shell: msys2 {0}
run: |
CGO_ENABLED=1 CC=gcc go build \
-o codebase-memory-mcp.exe \
./cmd/codebase-memory-mcp/

- name: Smoke test
shell: msys2 {0}
run: bash scripts/smoke-test.sh ./codebase-memory-mcp.exe
50 changes: 39 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ on:
description: "Release notes (optional β€” auto-generated from commits if empty)"
required: false
type: string
replace:
description: "Replace existing release if it exists"
required: false
type: boolean
default: false

permissions:
contents: write
Expand All @@ -25,10 +30,9 @@ jobs:
with:
go-version: "1.26"

- uses: golangci/golangci-lint-action@v6
- uses: golangci/golangci-lint-action@v7
with:
version: latest
install-mode: goinstall
version: v2.10
args: --timeout=5m

build-unix:
Expand Down Expand Up @@ -60,14 +64,21 @@ jobs:
run: go test ./...

- name: Build binary
env:
VERSION: ${{ inputs.version }}
run: |
# Strip leading 'v' β€” version var should be bare semver (e.g. 0.4.0)
CLEAN_VERSION="${VERSION#v}"
CGO_ENABLED=1 go build \
-ldflags "-X main.version=${{ inputs.version }}" \
-o codebase-memory-mcp-${{ matrix.goos }}-${{ matrix.goarch }} \
-ldflags "-X main.version=$CLEAN_VERSION" \
-o codebase-memory-mcp \
./cmd/codebase-memory-mcp/

- name: Smoke test
run: bash scripts/smoke-test.sh ./codebase-memory-mcp

- name: Create archive
run: tar -czf codebase-memory-mcp-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz codebase-memory-mcp-${{ matrix.goos }}-${{ matrix.goarch }}
run: tar -czf codebase-memory-mcp-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz codebase-memory-mcp

- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -99,15 +110,23 @@ jobs:

- name: Build binary
shell: msys2 {0}
env:
VERSION: ${{ inputs.version }}
run: |
# Strip leading 'v' β€” version var should be bare semver (e.g. 0.4.0)
CLEAN_VERSION="${VERSION#v}"
CGO_ENABLED=1 CC=gcc go build \
-ldflags "-X main.version=${{ inputs.version }}" \
-o codebase-memory-mcp-windows-amd64.exe \
-ldflags "-X main.version=$CLEAN_VERSION" \
-o codebase-memory-mcp.exe \
./cmd/codebase-memory-mcp/

- name: Smoke test
shell: msys2 {0}
run: bash scripts/smoke-test.sh ./codebase-memory-mcp.exe

- name: Create archive
shell: pwsh
run: Compress-Archive -Path codebase-memory-mcp-windows-amd64.exe -DestinationPath codebase-memory-mcp-windows-amd64.zip
run: Compress-Archive -Path codebase-memory-mcp.exe -DestinationPath codebase-memory-mcp-windows-amd64.zip

- uses: actions/upload-artifact@v4
with:
Expand All @@ -129,10 +148,19 @@ jobs:
- name: Generate checksums
run: sha256sum *.tar.gz *.zip > checksums.txt

- name: Delete existing release
if: ${{ inputs.replace }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ inputs.version }}
run: gh release delete "$VERSION" --yes --cleanup-tag || true

- name: Create tag
env:
VERSION: ${{ inputs.version }}
run: |
git tag ${{ inputs.version }}
git push origin ${{ inputs.version }}
git tag -f "$VERSION"
git push origin "$VERSION" --force

- uses: softprops/action-gh-release@v2
with:
Expand Down
107 changes: 61 additions & 46 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,58 +1,73 @@
version: "2"
run:
timeout: 5m
go: "1.23"

go: "1.26"
linters:
enable:
- errcheck
- govet
- staticcheck
- bodyclose
- nilerr
- sqlclosecheck
- rowserrcheck
- durationcheck
- makezero
- noctx
- gofmt
- goimports
- misspell
- unconvert
- unparam
- unused
- ineffassign
- gosimple
- prealloc
- cyclop
- durationcheck
- funlen
- gocognit
- gocritic
- nestif
- gosec

linters-settings:
cyclop:
max-complexity: 25
funlen:
lines: 120
statements: 80
gocognit:
min-complexity: 30
nestif:
min-complexity: 6
gocritic:
enabled-tags:
- diagnostic
- style
- performance
gosec:
excludes:
- G404
errcheck:
check-type-assertions: true

- makezero
- misspell
- nestif
- nilerr
- noctx
- prealloc
- rowserrcheck
- sqlclosecheck
- unconvert
- unparam
settings:
cyclop:
max-complexity: 25
errcheck:
check-type-assertions: true
funlen:
lines: 120
statements: 80
gocognit:
min-complexity: 30
gocritic:
enabled-tags:
- diagnostic
- style
- performance
gosec:
excludes:
- G115
- G404
- G704
- G705
- G706
nestif:
min-complexity: 6
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
paths:
- vendor
- third_party$
- builtin$
- examples$
- internal/cbm
issues:
max-issues-per-linter: 0
max-same-issues: 0
exclude-dirs:
- vendor
formatters:
enable:
- gofmt
- goimports
exclusions:
generated: lax
paths:
- vendor
- third_party$
- builtin$
- examples$
8 changes: 8 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"codebase-memory-mcp": {
"command": "/Users/martinvogel/.local/bin/codebase-memory-mcp",
"args": []
}
}
}
Loading