DeepSeek Harness Plugin

m1khal3v/dsh-tool-codegraph

Stars ★ 3 Downloads (30d) 1,116 Category Tools & Capabilities Added 2026-08-30 npm @m1khal3v/dsh-tool-codegraph

Wraps colbymchenry/codegraph into agent tools - status, search, callers/callees, impact, explore, and more.

Install

# from npm (prebuilt)

dsh plugin --profile web add @m1khal3v/dsh-tool-codegraph

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:m1khal3v/dsh-tool-codegraph

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

This package is a thin wrapper. All indexing and querying is done by the codegraph CLI — install it first and make sure its binary is on PATH.


⚡️ Highlights

  • 🧭 Orientation-first workflow — usage rules (status → sync → explore → targeted lookups) are injected into the agent system prompt automatically.
  • 🧰 Ten focused tools, one per operation — no mega-tool with an action parameter.
  • ⚡ O(1) indexed lookups — light outputs for the main session, heavy explore builds routed to subagents.
  • ⚠️ Honest about soundness — callers/callees/impact can miss dynamic-dispatch edges; the prompt tells the model when to fall back to grep.

🛠 Requirements

  • Node ^22.19 || >=24
  • The codegraph CLI available on PATH (override via the executable config key)

🚀 Quick Start

1. Install the plugin

dsh plugin add --profile web @m1khal3v/dsh-tool-codegraph

2. Check the wrapped CLI

codegraph status

If the binary is missing, the tools reply with an install hint and the agent falls back to grep-based search.

3. Initialize the index — your call

There is deliberately no init tool in the set above: following the codegraph project's own recommendation, indexing should be kicked off by the user, not by an agent. When codegraph status reports a missing index, run it yourself:

codegraph init

Until you do, the tools report the missing index and the agent keeps working with other search tools.

🧰 Tools

Tool Purpose Output
codegraph_status Index health and statistics light
codegraph_sync Sync changes since the last index long
codegraph_search Find a symbol by name light
codegraph_explore Map an area with verbatim source and call paths heavy
codegraph_callers Who calls this symbol (unsound) light
codegraph_callees What this symbol calls light
codegraph_impact Blast radius of changing a symbol light
codegraph_node One symbol's details or a file view light
codegraph_files Project file structure from the index light
codegraph_affected Find test files affected by changed source files light

⚙️ Configuration

Key Default Description
executable codegraph Binary name or path of the wrapped CLI
queryTimeoutMs 10000 Timeout for regular commands
initTimeoutMs 60000 Timeout for init / sync

🧑‍💻 Development

pnpm install
pnpm run verify    # typecheck + test
pnpm run build

📄 License

MIT

Built on top of colbymchenry/codegraph.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.