mirror of
https://github.com/harivansh-afk/clanker-agent.git
synced 2026-04-16 12:03:23 +00:00
chore: rebrand companion-os to clanker-agent
- Rename all package names from companion-* to clanker-* - Update npm scopes from @mariozechner to @harivansh-afk - Rename config directories .companion -> .clanker - Rename environment variables COMPANION_* -> CLANKER_* - Update all documentation, README files, and install scripts - Rename package directories (companion-channels, companion-grind, companion-teams) - Update GitHub URLs to harivansh-afk/clanker-agent - Preserve full git history from companion-cloud monorepo
This commit is contained in:
parent
f93fe7d1a0
commit
67168d8289
356 changed files with 2249 additions and 10223 deletions
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
RPC mode enables headless operation of the coding agent via a JSON protocol over stdin/stdout. This is useful for embedding the agent in other applications, IDEs, or custom UIs.
|
||||
|
||||
**Note for Node.js/TypeScript users**: If you're building a Node.js application, consider using `AgentSession` directly from `@mariozechner/companion-coding-agent` instead of spawning a subprocess. See [`src/core/agent-session.ts`](../src/core/agent-session.ts) for the API. For a subprocess-based TypeScript client, see [`src/modes/rpc/rpc-client.ts`](../src/modes/rpc/rpc-client.ts).
|
||||
**Note for Node.js/TypeScript users**: If you're building a Node.js application, consider using `AgentSession` directly from `@mariozechner/clanker-coding-agent` instead of spawning a subprocess. See [`src/core/agent-session.ts`](../src/core/agent-session.ts) for the API. For a subprocess-based TypeScript client, see [`src/modes/rpc/rpc-client.ts`](../src/modes/rpc/rpc-client.ts).
|
||||
|
||||
## Starting RPC Mode
|
||||
|
||||
```bash
|
||||
companion --mode rpc [options]
|
||||
clanker --mode rpc [options]
|
||||
```
|
||||
|
||||
Common options:
|
||||
|
|
@ -60,7 +60,7 @@ With images:
|
|||
|
||||
If the agent is streaming and no `streamingBehavior` is specified, the command returns an error.
|
||||
|
||||
**Extension commands**: If the message is an extension command (e.g., `/mycommand`), it executes immediately even during streaming. Extension commands manage their own LLM interaction via `companion.sendMessage()`.
|
||||
**Extension commands**: If the message is an extension command (e.g., `/mycommand`), it executes immediately even during streaming. Extension commands manage their own LLM interaction via `clanker.sendMessage()`.
|
||||
|
||||
**Input expansion**: Skill commands (`/skill:name`) and prompt templates (`/template`) are expanded before sending/queueing.
|
||||
|
||||
|
|
@ -503,7 +503,7 @@ If output was truncated, includes `fullOutputPath`:
|
|||
"exitCode": 0,
|
||||
"cancelled": false,
|
||||
"truncated": true,
|
||||
"fullOutputPath": "/tmp/companion-bash-abc123.log"
|
||||
"fullOutputPath": "/tmp/clanker-bash-abc123.log"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -752,21 +752,21 @@ Response:
|
|||
"name": "session-name",
|
||||
"description": "Set or clear session name",
|
||||
"source": "extension",
|
||||
"path": "/home/user/.companion/agent/extensions/session.ts"
|
||||
"path": "/home/user/.clanker/agent/extensions/session.ts"
|
||||
},
|
||||
{
|
||||
"name": "fix-tests",
|
||||
"description": "Fix failing tests",
|
||||
"source": "prompt",
|
||||
"location": "project",
|
||||
"path": "/home/user/myproject/.companion/agent/prompts/fix-tests.md"
|
||||
"path": "/home/user/myproject/.clanker/agent/prompts/fix-tests.md"
|
||||
},
|
||||
{
|
||||
"name": "skill:brave-search",
|
||||
"description": "Web search via Brave API",
|
||||
"source": "skill",
|
||||
"location": "user",
|
||||
"path": "/home/user/.companion/agent/skills/brave-search/SKILL.md"
|
||||
"path": "/home/user/.clanker/agent/skills/brave-search/SKILL.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -778,12 +778,12 @@ Each command has:
|
|||
- `name`: Command name (invoke with `/name`)
|
||||
- `description`: Human-readable description (optional for extension commands)
|
||||
- `source`: What kind of command:
|
||||
- `"extension"`: Registered via `companion.registerCommand()` in an extension
|
||||
- `"extension"`: Registered via `clanker.registerCommand()` in an extension
|
||||
- `"prompt"`: Loaded from a prompt template `.md` file
|
||||
- `"skill"`: Loaded from a skill directory (name is prefixed with `skill:`)
|
||||
- `location`: Where it was loaded from (optional, not present for extensions):
|
||||
- `"user"`: User-level (`~/.companion/agent/`)
|
||||
- `"project"`: Project-level (`./.companion/agent/`)
|
||||
- `"user"`: User-level (`~/.clanker/agent/`)
|
||||
- `"project"`: Project-level (`./.clanker/agent/`)
|
||||
- `"path"`: Explicit path via CLI or settings
|
||||
- `path`: Absolute file path to the command source (optional)
|
||||
|
||||
|
|
@ -1173,7 +1173,7 @@ Set the terminal window/tab title. Fire-and-forget.
|
|||
"type": "extension_ui_request",
|
||||
"id": "uuid-8",
|
||||
"method": "setTitle",
|
||||
"title": "companion - my project"
|
||||
"title": "clanker - my project"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -1372,7 +1372,7 @@ import subprocess
|
|||
import json
|
||||
|
||||
proc = subprocess.Popen(
|
||||
["companion", "--mode", "rpc", "--no-session"],
|
||||
["clanker", "--mode", "rpc", "--no-session"],
|
||||
stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE,
|
||||
text=True
|
||||
|
|
@ -1411,7 +1411,7 @@ For a complete example of handling the extension UI protocol, see [`examples/rpc
|
|||
const { spawn } = require("child_process");
|
||||
const readline = require("readline");
|
||||
|
||||
const agent = spawn("companion", ["--mode", "rpc", "--no-session"]);
|
||||
const agent = spawn("clanker", ["--mode", "rpc", "--no-session"]);
|
||||
|
||||
readline.createInterface({ input: agent.stdout }).on("line", (line) => {
|
||||
const event = JSON.parse(line);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue