@corbat-tech/coco 2.24.2 → 2.25.1
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 +92 -8
- package/dist/cli/index.js +2054 -798
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +63 -8
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -96,6 +96,10 @@ Quality mode is configurable and can be turned on/off per session.
|
|
|
96
96
|
- Tool-call handling is normalized across OpenAI/Codex-style streaming events to reduce malformed argument regressions.
|
|
97
97
|
- Agent turns include quality telemetry (`score`, iteration usage, tool success/failure, repeated-output suppression).
|
|
98
98
|
- Repeated identical tool outputs are suppressed in context to reduce token waste in multi-iteration loops.
|
|
99
|
+
- Agent loop now recovers from common "silent stop" cases (e.g. `tool_use` without reconstructed tool calls, empty `max_tokens` turns, short planning-only replies) before giving control back.
|
|
100
|
+
- Recovery replay also covers multimodal prompts (image + text / image-only) by rebuilding a retryable task prompt when possible.
|
|
101
|
+
- Iteration budget can auto-extend when the task is still making real progress to reduce manual `continue` prompts.
|
|
102
|
+
- Automatic provider switching is **opt-in** via `agent.enableAutoSwitchProvider` (default: `false`).
|
|
99
103
|
- Release readiness can be gated with `pnpm check:release` (typecheck + lint + stable provider/agent suites).
|
|
100
104
|
|
|
101
105
|
## Commands (REPL)
|
|
@@ -145,18 +149,98 @@ For setup details and model matrix:
|
|
|
145
149
|
|
|
146
150
|
- [Provider Guide](docs/guides/PROVIDERS.md)
|
|
147
151
|
|
|
148
|
-
## Skills
|
|
152
|
+
## Skills
|
|
149
153
|
|
|
150
|
-
Coco
|
|
154
|
+
Skills are instruction files (SKILL.md) that Coco injects into its context to follow project-specific conventions or workflows. They activate automatically by context or manually via `/skill-name`.
|
|
151
155
|
|
|
152
|
-
|
|
153
|
-
- Project/user skills loaded from skill files.
|
|
154
|
-
- MCP servers for external tools and systems.
|
|
156
|
+
**Where to place skills:**
|
|
155
157
|
|
|
156
|
-
|
|
158
|
+
| Location | Scope |
|
|
159
|
+
|----------|-------|
|
|
160
|
+
| `.agents/skills/<skill-name>/SKILL.md` | Project — native, highest priority |
|
|
161
|
+
| `~/.coco/skills/<skill-name>/SKILL.md` | Global — personal, all projects |
|
|
157
162
|
|
|
158
|
-
|
|
159
|
-
|
|
163
|
+
By default, Coco also scans compatible global directories from other agents:
|
|
164
|
+
`~/.agents/skills/`, `~/.claude/skills/`, `~/.gemini/skills/`, `~/.codex/skills/`, and `~/.opencode/skills/`.
|
|
165
|
+
|
|
166
|
+
Coco also reads skills from other agents automatically, so you can bring skills you already have:
|
|
167
|
+
|
|
168
|
+
| Directory | Agent |
|
|
169
|
+
|-----------|-------|
|
|
170
|
+
| `.agents/skills/` | Native (Coco, shared standard) |
|
|
171
|
+
| `.claude/skills/` | Claude Code |
|
|
172
|
+
| `.codex/skills/` | Codex CLI |
|
|
173
|
+
| `.gemini/skills/` | Gemini CLI |
|
|
174
|
+
| `.opencode/skills/` | OpenCode |
|
|
175
|
+
|
|
176
|
+
**Create your first skill:**
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
coco skills create my-conventions
|
|
180
|
+
# → creates .agents/skills/my-conventions/SKILL.md
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**List all skills (including imported from other agents):**
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
coco skills list
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
See [Skills Guide](docs/guides/SKILLS.md) for full documentation.
|
|
190
|
+
|
|
191
|
+
## MCP Servers
|
|
192
|
+
|
|
193
|
+
MCP (Model Context Protocol) lets Coco use external tools: GitHub, databases, APIs, web search, and more.
|
|
194
|
+
|
|
195
|
+
**Quick setup — create `.mcp.json` in your project root:**
|
|
196
|
+
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"mcpServers": {
|
|
200
|
+
"github": {
|
|
201
|
+
"command": "npx",
|
|
202
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
203
|
+
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token" }
|
|
204
|
+
},
|
|
205
|
+
"filesystem": {
|
|
206
|
+
"command": "npx",
|
|
207
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/your/path"]
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
This format is compatible with Claude Code, Cursor, and Windsurf — if you already have a `.mcp.json`, Coco reads it automatically.
|
|
214
|
+
|
|
215
|
+
**Check MCP status inside the REPL:**
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
/mcp list — show configured servers
|
|
219
|
+
/mcp status — show connected servers and available tools
|
|
220
|
+
/mcp health — run health check on all servers
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Authenticate with environment variables** (recommended — never hardcode tokens):
|
|
224
|
+
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"mcpServers": {
|
|
228
|
+
"github": {
|
|
229
|
+
"command": "npx",
|
|
230
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
231
|
+
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" }
|
|
232
|
+
},
|
|
233
|
+
"my-api": {
|
|
234
|
+
"url": "https://api.example.com/mcp",
|
|
235
|
+
"headers": { "Authorization": "Bearer ${MY_API_TOKEN}" }
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Set the variables in your shell environment (or in `~/.coco/.env` for Coco-managed global secrets).
|
|
242
|
+
|
|
243
|
+
See [MCP Guide](docs/MCP.md) for full documentation, authentication options, and troubleshooting.
|
|
160
244
|
|
|
161
245
|
## Configuration
|
|
162
246
|
|