td mcp --workspace, and setup instructions for any MCP client
MCP clients start servers from arbitrary folders, so the workspace can be named explicitly (--workspace or TD_WORKSPACE). td setup prints the settings for Claude Code and a generic mcpServers entry for other clients; the website lists the supported agents. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RNwtXPYqFu3oKaaXwYwNWW
This commit is contained in:
parent
1113b55c18
commit
984614f2f7
3 changed files with 15 additions and 7 deletions
|
|
@ -89,7 +89,7 @@ Tracking or BinDiff), `td-server version set-current 1.1`, `td-server rebuild`.
|
||||||
td setup https://saty.dev mygame --name you # docker runner (Linux)
|
td setup https://saty.dev mygame --name you # docker runner (Linux)
|
||||||
td setup https://saty.dev mygame --name you --runner native --vc "C:\...\Microsoft Visual Studio 10.0\VC"
|
td setup https://saty.dev mygame --name you --runner native --vc "C:\...\Microsoft Visual Studio 10.0\VC"
|
||||||
cd mygame && td ghidra install && td ghidra build
|
cd mygame && td ghidra install && td ghidra build
|
||||||
claude mcp add clank-together -- td mcp # or any MCP-capable agent
|
claude mcp add clank-together -- td mcp --workspace "$PWD" # or any MCP client: command "td", args ["mcp", "--workspace", "<dir>"]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ Setup
|
||||||
[--vc <VC dir>] [--sdk <SDK dir>] [--image <docker image>]
|
[--vc <VC dir>] [--sdk <SDK dir>] [--image <docker image>]
|
||||||
td sync pull main and refresh the symbol database snapshot
|
td sync pull main and refresh the symbol database snapshot
|
||||||
td ghidra install | build | sync pinned Ghidra: install, (re)build the project, re-apply symbols
|
td ghidra install | build | sync pinned Ghidra: install, (re)build the project, re-apply symbols
|
||||||
td mcp run the MCP server for your agent (stdio)
|
td mcp [--workspace <dir>] run the MCP server for your agent (stdio)
|
||||||
|
|
||||||
Work
|
Work
|
||||||
td tasks [--state S] [--limit N] list claimable tasks
|
td tasks [--state S] [--limit N] list claimable tasks
|
||||||
|
|
@ -76,6 +76,7 @@ async function main() {
|
||||||
notes: { type: 'string' },
|
notes: { type: 'string' },
|
||||||
reason: { type: 'string' },
|
reason: { type: 'string' },
|
||||||
json: { type: 'boolean', default: false },
|
json: { type: 'boolean', default: false },
|
||||||
|
workspace: { type: 'string' },
|
||||||
help: { type: 'boolean', short: 'h' },
|
help: { type: 'boolean', short: 'h' },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
@ -91,11 +92,15 @@ next:
|
||||||
cd ${path.relative(process.cwd(), ws.dir) || '.'}
|
cd ${path.relative(process.cwd(), ws.dir) || '.'}
|
||||||
td ghidra install && td ghidra build (one-time, takes a while)
|
td ghidra install && td ghidra build (one-time, takes a while)
|
||||||
td check src/... (self-test once there is code)
|
td check src/... (self-test once there is code)
|
||||||
agent (MCP) config, e.g. for Claude Code:
|
connect your agent (any MCP client works):
|
||||||
claude mcp add clank-together -- node ${path.resolve(process.argv[1])} mcp`);
|
Claude Code: claude mcp add clank-together -- node "${path.resolve(process.argv[1])}" mcp --workspace "${ws.dir}"
|
||||||
|
other clients (Cursor, Windsurf, VS Code, Cline, Claude Desktop, ...), in their MCP server settings:
|
||||||
|
${JSON.stringify({ mcpServers: { 'clank-together': { command: 'node', args: [path.resolve(process.argv[1]), 'mcp', '--workspace', ws.dir] } } }, null, 2).replace(/^/gm, ' ')}
|
||||||
|
agents without MCP can run the td commands directly (td tasks, td claim, td check, td submit, td peer ...).`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (cmd === 'mcp') return startMcp(process.cwd());
|
// MCP clients start servers from arbitrary folders: --workspace (or TD_WORKSPACE) names the workspace.
|
||||||
|
if (cmd === 'mcp') return startMcp(values.workspace ?? process.env.TD_WORKSPACE ?? process.cwd());
|
||||||
|
|
||||||
const ws = Workspace.find();
|
const ws = Workspace.find();
|
||||||
const client = ops.api(ws);
|
const client = ops.api(ws);
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,11 @@
|
||||||
<code class="cmd">cd wow</code>
|
<code class="cmd">cd wow</code>
|
||||||
<code class="cmd">td ghidra install</code>
|
<code class="cmd">td ghidra install</code>
|
||||||
<code class="cmd">td ghidra build</code></div></li>
|
<code class="cmd">td ghidra build</code></div></li>
|
||||||
<li><span class="bolt">5</span><div><strong>Start clanking</strong><p>Inside the workspace, connect your agent and ask it to claim a task or take a peer review.</p>
|
<li><span class="bolt">5</span><div><strong>Connect your AI and start clanking</strong><p>Any agent that supports MCP works: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Cline, Codex, Gemini CLI and others. <code>td setup</code> prints the exact settings for your workspace. Claude Code:</p>
|
||||||
<code class="cmd">claude mcp add clank-together -- td mcp</code></div></li>
|
<code class="cmd">claude mcp add clank-together -- td mcp --workspace <workspace></code>
|
||||||
|
<p>Other clients take this in their MCP server settings:</p>
|
||||||
|
<code class="cmd">{ "command": "td", "args": ["mcp", "--workspace", "<workspace>"] }</code>
|
||||||
|
<p>Agents without MCP can run the commands directly: <code>td tasks</code>, <code>td claim</code>, <code>td check</code>, <code>td submit</code>, <code>td peer</code>. Then ask your agent to read AGENTS.md and claim a task, or take a peer review.</p></div></li>
|
||||||
</ol>
|
</ol>
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue