Skip to content

Commit c8a58cf

Browse files
authored
Merge pull request DeusData#1318 from DeusData/docs/readme-single-binary
docs(readme): single-binary layout, Windows update flow, current test count
2 parents 61a432c + 395f6ef commit c8a58cf

1 file changed

Lines changed: 30 additions & 2 deletions

File tree

README.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![GitHub Release](https://img.shields.io/github/v/release/DeusData/codebase-memory-mcp?style=flat&color=blue)](https://github.com/DeusData/codebase-memory-mcp/releases/latest)
44
[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
55
[![CI](https://img.shields.io/github/actions/workflow/status/DeusData/codebase-memory-mcp/dry-run.yml?label=CI)](https://github.com/DeusData/codebase-memory-mcp/actions/workflows/dry-run.yml)
6-
[![Tests](https://img.shields.io/badge/tests-5604_passing-brightgreen)](https://github.com/DeusData/codebase-memory-mcp)
6+
[![Tests](https://img.shields.io/badge/tests-6768_passing-brightgreen)](https://github.com/DeusData/codebase-memory-mcp)
77
[![Languages](https://img.shields.io/badge/languages-158-orange)](https://github.com/DeusData/codebase-memory-mcp)
88
[![Hybrid LSP](https://img.shields.io/badge/Hybrid_LSP-10_languages-blue)](#hybrid-lsp)
99
[![Agents](https://img.shields.io/badge/agent_surfaces-43-purple)](https://github.com/DeusData/codebase-memory-mcp)
@@ -155,10 +155,22 @@ Watcher registration is controlled separately by `auto_watch` (default `true`).
155155

156156
### Keeping Up to Date
157157

158+
**macOS / Linux:**
159+
158160
```bash
159161
codebase-memory-mcp update
160162
```
161163

164+
**Windows** — updates run from `install.ps1`, not from the running binary, because a running executable cannot replace its own image on Windows. `codebase-memory-mcp update` prints the exact command; it is:
165+
166+
```powershell
167+
powershell -ExecutionPolicy Bypass -File "<install-dir>\install.ps1"
168+
```
169+
170+
`install.ps1` is idempotent, so re-running it *is* the update: it stops the daemon, retires the running binary, installs the new one, and cleans up. `install.ps1` sits next to the binary in your install directory. If PowerShell refuses to run it because the file came from the internet, `Unblock-File` it first.
171+
172+
Installed through **npm or pip**? Update with your package manager on every platform (`npm install -g codebase-memory-mcp@latest` / `pip install -U codebase-memory-mcp`).
173+
162174
The MCP server also checks for updates on startup and notifies on the first tool call if a newer release is available.
163175

164176
### Uninstall
@@ -359,7 +371,23 @@ git clone https://github.com/DeusData/codebase-memory-mcp.git
359371
cd codebase-memory-mcp
360372
scripts/build.sh # standard binary
361373
scripts/build.sh --with-ui # with graph visualization
362-
# Binary at: build/c/codebase-memory-mcp
374+
# Binary at: build/c/codebase-memory-mcp (codebase-memory-mcp.exe on Windows)
375+
```
376+
377+
Every platform builds **one self-contained binary** — no runtime dependencies, no companion executables to keep alongside it.
378+
379+
Run the test suite (6,768 tests across 120 suites):
380+
381+
```bash
382+
scripts/test.sh # full: clean sanitizer build + all suites + guards
383+
scripts/test.sh --suites <name> # one suite, incremental, seconds
384+
build/c/test-runner --list-suites # what is available
385+
```
386+
387+
`scripts/test.sh` is the same entry the CI gates run, so a local pass means the same thing a CI pass does. Packaging a release archive locally uses the same canonical script the release pipeline calls:
388+
389+
```bash
390+
scripts/package-release.sh <linux|darwin|windows> <amd64|arm64>
363391
```
364392

365393
### Manual MCP Configuration

0 commit comments

Comments
 (0)