s-app-scoder-agent 0.8.21 → 0.9.2
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 +31 -5
- package/dist/agent.js +662 -65
- package/dist/agents-guide.js +201 -0
- package/dist/agents.js +76 -3
- package/dist/compaction.js +12 -4
- package/dist/config.js +16 -2
- package/dist/context.js +15 -3
- package/dist/diagnostics.js +188 -0
- package/dist/index.js +277 -6
- package/dist/mcp-import.js +204 -0
- package/dist/mcp.js +553 -54
- package/dist/memory.js +140 -0
- package/dist/permissions.js +18 -3
- package/dist/prompt.js +204 -84
- package/dist/repo-map.js +177 -0
- package/dist/sandbox.js +6 -5
- package/dist/session.js +29 -8
- package/dist/skills.js +211 -62
- package/dist/snapshot.js +5 -0
- package/dist/steering.js +4 -0
- package/dist/tools.js +374 -57
- package/dist/tui/app.js +79 -28
- package/dist/tui/ask-user-modal.js +25 -0
- package/dist/tui/chat-views.js +15 -8
- package/dist/tui/command-registry.js +284 -9
- package/dist/tui/commands.js +224 -37
- package/dist/tui/markdown.js +170 -12
- package/dist/tui/sidebar.js +36 -13
- package/dist/tui/state.js +101 -2
- package/dist/tui/theme.js +4 -0
- package/dist/tui/transcript.js +145 -0
- package/dist/watch.js +8 -0
- package/dist/webfetch.js +5 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
# scoder — Autonomous Coding Agent CLI
|
|
1
|
+
# scoder — Autonomous Coding Agent CLI
|
|
2
|
+
|
|
3
|
+
**Current version: 0.9.2**
|
|
2
4
|
|
|
3
5
|
[](https://github.com/nbhson/app-scoder-agent/actions/workflows/ci.yml)
|
|
4
6
|
[](LICENSE)
|
|
@@ -50,8 +52,11 @@ export OPENAI_BASE_URL=https://api.openai.com/v1 # optional, for custom endpoin
|
|
|
50
52
|
# Run a task
|
|
51
53
|
scoder "add a ping function to src/network.ts"
|
|
52
54
|
|
|
53
|
-
# Interactive REPL (supports /help, /clear, /compact, /cost, /model, /skills, /skill, /mcp, /review, /permission)
|
|
54
|
-
scoder
|
|
55
|
+
# Interactive REPL (supports /help, /clear, /compact, /cost, /model, /skills, /skill, /mcp, /review, /permission)
|
|
56
|
+
scoder
|
|
57
|
+
|
|
58
|
+
# Full-screen TUI with rich agent display
|
|
59
|
+
scoder tui
|
|
55
60
|
```
|
|
56
61
|
|
|
57
62
|
## How It Works
|
|
@@ -105,7 +110,6 @@ Safety defaults:
|
|
|
105
110
|
| `SCODER_MAX_STEPS` | `40` | Max loop iterations before giving up |
|
|
106
111
|
| `SCODER_PERMISSION` | `auto` | Permission mode: `auto` \| `ask` \| `readonly` |
|
|
107
112
|
| `SCODER_STREAM` | `1` | `0` to disable streaming LLM output |
|
|
108
|
-
| `SCODER_STREAM` | `1` | `0` to disable streaming LLM output |
|
|
109
113
|
| `SCODER_SERVER_TOKEN` | — | `scoder serve` only: require `Authorization: Bearer <token>` |
|
|
110
114
|
| `SCODER_WEB_ALLOW_PRIVATE` | — | Set to `1` to let `web_fetch` reach localhost/private addresses (local dev) |
|
|
111
115
|
| `SCODER_NO_APIKEY_WARNING` | — | Set to `1` to suppress the apiKey-in-rc warning |
|
|
@@ -233,6 +237,12 @@ Read the current diff. Check for: null derefs, injection risks, ...
|
|
|
233
237
|
| Command | Description |
|
|
234
238
|
|---|---|
|
|
235
239
|
| `/help` | command list |
|
|
240
|
+
| `/plan` | show the current plan; `/plan done\|start <id\|n>` to mark steps |
|
|
241
|
+
| `/agent` | list/select primary agents (build/plan/review/custom) |
|
|
242
|
+
| `/init` | create an AGENTS.md template in this project |
|
|
243
|
+
| `/sessions` | list saved sessions; `/sessions resume <id\|last>` |
|
|
244
|
+
| `/diff` | show diffs: `/diff turn\|session\|branch` (TUI) |
|
|
245
|
+
| `/theme` | switch palette (TUI) |
|
|
236
246
|
| `/clear` | reset conversation + agent context |
|
|
237
247
|
| `/compact` | summarize older history now (manual compaction) |
|
|
238
248
|
| `/cost` | session token usage |
|
|
@@ -241,7 +251,11 @@ Read the current diff. Check for: null derefs, injection risks, ...
|
|
|
241
251
|
| `/skill <name>` | stage a skill for the next task |
|
|
242
252
|
| `/mcp` | MCP servers + tools; exec one directly: `/mcp <server> <tool> [json\|text]` or `/mcp mcp__server__tool [json\|text]` — non-JSON text binds to the tool's first string parameter |
|
|
243
253
|
| `/review <prompt>` | Prompt gate (prompt-gate MCP): LLM rewrites your prompt, you pick original/rewritten/update/cancel — only the approved prompt is used |
|
|
244
|
-
| `/permission <auto\|readonly>` | switch permission mode at runtime |
|
|
254
|
+
| `/permission <auto\|ask\|readonly>` | switch permission mode at runtime |
|
|
255
|
+
| `/undo` | revert files (and optionally trim the turn) (TUI) |
|
|
256
|
+
| `/commands` | list all commands (builtin + custom) |
|
|
257
|
+
| `/export [md\|json]` | export session transcript |
|
|
258
|
+
| `/search <query>` | search the transcript |
|
|
245
259
|
| `/exit` | quit |
|
|
246
260
|
|
|
247
261
|
In the TUI, **Tab** completes commands (and `/skill` names, `/mcp <server> <tool>` arguments), **↑/↓** recall sent-message history.
|
|
@@ -340,6 +354,13 @@ scoder can use tools from [MCP](https://modelcontextprotocol.io) servers configu
|
|
|
340
354
|
- Built-in tools always take priority over MCP tools with colliding names
|
|
341
355
|
- ⚠️ **MCP tools bypass the built-in permission system** (no command classification, no diff preview). In `readonly` mode they are therefore disabled entirely; in `auto`/`ask` mode they run unsandboxed — only add MCP servers you trust.
|
|
342
356
|
|
|
357
|
+
### MCP governance
|
|
358
|
+
|
|
359
|
+
Each server supports `enabled`, `trust` (`auto`/`ask`/`readonly`/`deny`), `tools.include`/`exclude`
|
|
360
|
+
(globs), and `timeoutMs`. `readonly` servers are never spawned. Import existing configs with
|
|
361
|
+
`scoder mcp import`. MCP tool output is flagged `untrusted` and wrapped with an `[UNTRUSTED]`
|
|
362
|
+
marker; audit entries are written to the JSONL log.
|
|
363
|
+
|
|
343
364
|
### Prompt gate (`/review`)
|
|
344
365
|
|
|
345
366
|
If the [`prompt-gate`](https://github.com/nbhson/s-universal-prompt-gate-mcp) MCP server is configured (`~/.scoder/config.json`), `/review <prompt>` runs the gated rewrite flow — like OpenCode's `review-and-select-prompt`:
|
|
@@ -487,7 +508,12 @@ scoder --help | --version Help and version
|
|
|
487
508
|
| `--permission <mode>` | `auto` \| `ask` \| `readonly` shell-command policy (default `auto`) |
|
|
488
509
|
| `-y` | Non-interactive mode (denies commands needing confirmation) |
|
|
489
510
|
| `--provider <name>` | `openai` \| `anthropic` (env SCODER_PROVIDER; auto-detected) |
|
|
511
|
+
| `--agent <name>` | Primary agent to run (build/plan/review/custom) |
|
|
490
512
|
| `--no-save` | Disable session auto-save to `.scoder/sessions/` |
|
|
513
|
+
| `--no-color` | Disable colored output |
|
|
514
|
+
| `--no-motion` | Disable animations |
|
|
515
|
+
| `--plain` | Plain (monochrome) output |
|
|
516
|
+
| `--high-contrast` | High-contrast theme |
|
|
491
517
|
| `--log-file` | Write a structured JSONL event log to `.scoder/logs/` |
|
|
492
518
|
| `--port <n>` | (`serve`) TCP port, `0` = random free port |
|
|
493
519
|
| `--host <addr>` | (`serve`) Bind address (default `127.0.0.1`) |
|