@wular/coder 0.1.27 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,28 +2,22 @@
2
2
 
3
3
  # Coder
4
4
 
5
- ### Delegate the coding. Keep your context.
5
+ **Delegate coding to subagents of any model from your favorite harness.**
6
6
 
7
7
  </div>
8
8
 
9
- One runtime that hands your coding tasks to the best engine available and lets you steer, inspect, or stop any task while it works.
10
-
11
- Plugs into Claude Code or Codex to enable the harness with Coder instances.
12
-
13
9
  ## Why Coder
14
10
 
15
- - **A clean main thread.** Installed in Claude Code or Codex, dispatch is a single command from your session; the actual coding runs in a Coder subagent. File dumps, test output, and retries stay there; only the outcome returns to your conversation.
16
- - **Fast dispatch.** Coder keeps a single Codex engine warm in the background and hands tasks to it directly, instead of booting the CLI for every request. A handoff starts in seconds.
17
- - **Unified permissions.** One permission model across agents, with three modes: **Read-only**, **Workspace-write**, and **Auto**. Auto is the default: safe commands run, dangerous ones are blocked, and anything in between is brought to you for a yes/no.
18
- - **Tasks you can steer.** Every dispatch is a task. Check on it, read its result, give it follow-up instructions, or stop it, all by id, while it keeps working in the background.
19
- - **Graceful fallback.** If Codex can't start (auth, usage limits, not installed), the task flows to a Claude subagent with the same instructions. You configure the chain and the default model and effort for each agent.
20
- - **Any model, anywhere.** Codex can point at local models (Ollama, LM Studio, and other OpenAI-compatible endpoints) and third-party providers, so Coder can run your tasks on those too - not just the hosted defaults. That opens up the whole scope of engines you can delegate to.
11
+ - **Cross-harness.** One runtime, every host. The same subagents and models from Claude Code, Codex and more.
12
+ - **Cross-model.** Codex, Claude, any OpenAI-compatible endpoint, or local models. Pick per task.
13
+ - **Clean context.** Your conversation stays about intent and orchestration; implementation details live in the subagents.
14
+ - **Fast dispatch.** Handoffs are instant, and light enough to spin up a large number of subagents at once.
15
+ - **Steerable tasks.** Full visibility into every task, from live progress to mid-run course corrections.
16
+ - **Unified permissions.** Three modes across all engines: _Read-only_, _Workspace-write_, and _Auto_.
21
17
 
22
18
  ## Get started
23
19
 
24
- **1. Install a host plugin.**
25
-
26
- Pick the host you use (or both):
20
+ **1. Install a host plugin** (pick your host, or both):
27
21
 
28
22
  <table>
29
23
  <tr><th>Claude Code</th><th>Codex</th></tr>
@@ -49,14 +43,22 @@ codex plugin add coder@coder-plugins
49
43
  </tr>
50
44
  </table>
51
45
 
52
- Or do it from the shell instead of slash commands - this installs the same plugin:
46
+ Or from the shell (installs the same plugin):
53
47
 
54
48
  ```bash
55
49
  npm install -g @wular/coder
56
- coder host-setup --claude # or --codex
50
+ coder setup-host claude # or codex
51
+ ```
52
+
53
+ **2. Connect at least one engine.** Either an engine CLI, logged in, to use that subscription:
54
+
55
+ ```bash
56
+ npm install -g @openai/codex && codex login
57
+ # and/or
58
+ npm install -g @anthropic-ai/claude-code && claude auth login
57
59
  ```
58
60
 
59
- **2. Install at least one engine CLI**, logged in: [codex](https://github.com/openai/codex) (`npm install -g @openai/codex && codex login`) or [Claude Code](https://github.com/anthropics/claude-code) (`npm install -g @anthropic-ai/claude-code && claude auth login`). Run `coder host-setup` any time to check which engines are ready.
61
+ Or a local/provider model of your own (see [Bring your own model](docs/custom-models.md)). `coder setup-host` checks what's ready.
60
62
 
61
63
  **3. Ask your host to use it:**
62
64
 
@@ -66,25 +68,11 @@ Or make it the default in AGENTS.md/CLAUDE.md:
66
68
 
67
69
  > Always use Coder for all implementation and system exploring tasks.
68
70
 
69
- The work happens in the engine, and your session gets the result. Codex is the primary engine when available, with a Claude subagent as fallback.
70
-
71
- _Recommended setup: Claude Code as host (fable model preferably), Codex as engine - best for performance and cost distribution._
72
-
73
- Note: with Codex as host, use "Ask for approval"/"Full Access", not "Approve for me" - the latter disables invoking CLI agents.
74
-
75
- ## Staying up to date
76
-
77
- ```bash
78
- coder upgrade
79
- ```
80
-
81
- It updates the CLI through whichever package manager installed it (npm, pnpm, yarn, or bun, auto-detected) and refreshes the host plugins to match. Narrow it with `--cli-only`, `--plugins-only`, `--codex`, `--claude`, or force a manager with `--pm <npm|pnpm|yarn|bun>`.
82
-
83
- Set `CODER_NO_UPDATE_CHECK=1` to silence the update notice.
71
+ Recommended setup: Claude Code as host (fable low/medium) and Codex (terra) as engine - best for performance and cost distribution.
84
72
 
85
73
  ## Configuration
86
74
 
87
- Machine defaults live in `~/.coder/config.json`; drop a `coder.config.json` in a repo to override per project.
75
+ Machine defaults live in `~/.coder/config.json`; a `coder.config.json` in a repo overrides per project.
88
76
 
89
77
  ```json
90
78
  {
@@ -92,26 +80,35 @@ Machine defaults live in `~/.coder/config.json`; drop a `coder.config.json` in a
92
80
  "agents": {
93
81
  "codex": { "model": "terra", "effort": "high", "permissions": "auto" },
94
82
  "claude": { "model": "opus", "effort": "medium", "permissions": "auto" }
83
+ },
84
+ "models": {
85
+ "qwen": { "baseUrl": "http://localhost:11434/v1", "model": "qwen2.5-coder:32b" }
95
86
  }
96
87
  }
97
88
  ```
98
89
 
90
+ ## Staying up to date
91
+
92
+ ```bash
93
+ coder upgrade
94
+ ```
95
+
96
+ Updates the CLI through whichever package manager installed it and refreshes the host plugins to match. See `coder upgrade --help` for narrowing flags. Set `CODER_NO_UPDATE_CHECK=1` to silence the update notice.
97
+
99
98
  ## Advanced usage
100
99
 
101
- You rarely need these - the agent drives tasks itself - but you can run them. Task commands live under `coder task <sub>`; the common ones have a top-level shortcut. Full docs: `coder --help`, `coder task <sub> --help`.
100
+ You rarely need these - the host agent drives tasks itself - but everything is scriptable:
102
101
 
103
102
  ```bash
104
- coder run "<text>" # dispatch a task (--wait to block for the answer)
105
- coder result [task-id] # status + final answer (--wait blocks until done)
106
- coder list [--all|--stopped] # list tasks (running by default)
107
- coder task steer <id> "<text>" # continue a task with new instructions
108
- coder task stop <id> # interrupt it
109
- coder task stream [id] # watch the live progress log (you/debugging)
110
- coder task archive <id> # archive a session (--all-stopped for all finished)
111
- coder task delete <id> # delete a session (--all-archived for all archived)
112
- coder task approve <id> <appr> # answer an escalated permission (--deny)
103
+ coder run "<text>" # dispatch a task (--wait to block for the answer)
104
+ coder list # list running tasks (--all for running & stopped)
105
+ coder result [task-id] # status + final answer (--wait blocks until done)
106
+ coder task steer <task-id> "<text>" # continue a task with new instructions
107
+ coder task stop <task-id> # interrupt it
108
+ coder task stream [task-id] # watch the live progress log
109
+ coder task approve <task-id> <appr-id> # answer an escalated permission (--deny)
113
110
  ```
114
111
 
115
- `run`/`list`/`result`/`stream` are shortcuts for the `task` subcommand. Any `[task-id]` defaults to the most recent task and accepts a unique prefix.
112
+ Any `[task-id]` defaults to the most recent task.
116
113
 
117
- Run flags (`run`/`steer`): `--wait` (foreground), `--agent codex|claude`, `--model spark|luna|terra|sol|opus|sonnet|fable`, `--effort low|medium|high`, `--permissions read-only|workspace-write|auto`, `--resume <task-id>`, `--json`.
114
+ Full docs: `coder --help`.