Skip to content
dsh.fish
Bundle

@staavanothanh/dsh-cbm

DSH adapter for codebase-memory-mcp

Source
staavanothanh
License
MIT
Updated
Updated 14 days ago

Readme

# @staavanothanh/dsh-cbm

DSH adapter plugin cho [codebase-memory-mcp](https://github.com/DeusData/codebase-memory-mcp).

Plugin dùng MCP client native của DSH để kết nối executable `codebase-memory-mcp` qua stdio. Các tool được expose với tên dạng:

```text
mcp__codebase-memory__search_graph
mcp__codebase-memory__trace_path
mcp__codebase-memory__get_code_snippet
```

Ngoài MCP bridge, plugin chỉ đăng ký một lifecycle hook `agent/session-start` để inject hướng dẫn khám phá code tương đương Codex `SessionStart`. Không có Claude-specific `PreToolUse`, `PostToolUse` hoặc `SubagentStart` hook.

## Cấu hình

Plugin tự tìm executable theo thứ tự:

1. `CBM_COMMAND` nếu được đặt.
2. `codebase-memory-mcp` trong `PATH`.
3. `~/.local/bin/codebase-memory-mcp` hoặc `.exe` trên Windows.

Có thể đặt đường dẫn tuyệt đối khi cần:

```powershell
$env:CBM_COMMAND = 'C:\path\to\codebase-memory-mcp.exe'
```

`CBM_ALLOWED_ROOT` là tùy chọn. Khi được đặt, CBM chỉ cho phép `index_repository` truy cập path nằm trong root đó. Plugin không tự đặt root mặc định, nên agent vẫn có thể index path ngoài workspace như Codex.

`failOnStartupError: false` giữ lỗi MCP ở mức non-fatal sau lần kết nối đầu tiên. DSH MCP client vẫn có thể chờ timeout của lần handshake `initialize/tools/list` trước khi hoàn tất activation. Cài executable và đặt nó trong `PATH` để tránh độ trễ này.

## Phát triển

```powershell
pnpm install
pnpm test
pnpm typecheck
pnpm build
npm pack --dry-run
```

Xem thêm: [docs/README.md](docs/README.md).

Install

dsh plugin --profile web add github:staavanothanh/dsh-cbm

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source