@gaburieuru/claudio 0.25.0 → 0.26.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 +343 -346
- package/dist/cli.mjs +96 -79
- package/dist/sdk.mjs +284 -61
- package/package.json +211 -211
package/README.md
CHANGED
|
@@ -1,346 +1,343 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<
|
|
3
|
-
</
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
[ for details.
|
|
220
|
-
|
|
221
|
-
## Provider Notes
|
|
222
|
-
|
|
223
|
-
Claudio supports multiple providers, but behavior is not identical across all of them.
|
|
224
|
-
|
|
225
|
-
- Anthropic-specific features may not exist on other providers
|
|
226
|
-
- Tool quality depends heavily on the selected model
|
|
227
|
-
- Smaller local models can struggle with long multi-step tool flows
|
|
228
|
-
- Some providers impose lower output caps than the CLI defaults, and Claudio adapts where possible
|
|
229
|
-
- AI/ML API uses the OpenAI-compatible route, defaults to `gpt-4o`, and only surfaces chat-capable models from its public catalog
|
|
230
|
-
-
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
- `
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
bun
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
- `bun
|
|
293
|
-
- `bun test` —
|
|
294
|
-
- `bun test
|
|
295
|
-
- `bun run
|
|
296
|
-
- `bun run
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
- `bun run
|
|
304
|
-
- `bun run
|
|
305
|
-
- `bun
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
- `
|
|
311
|
-
- `
|
|
312
|
-
- `
|
|
313
|
-
-
|
|
314
|
-
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
## License
|
|
345
|
-
|
|
346
|
-
MIT for Claudio contributors' modifications; the derived Claude Code remains Anthropic's. [See more](LICENSE).
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>Claudio</h1>
|
|
3
|
+
<p>Coding-agent CLI for cloud and local model providers</p>
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
Claudio is an open-source coding-agent CLI for cloud and local model providers.
|
|
7
|
+
|
|
8
|
+
Use OpenAI-compatible APIs, Gemini, GitHub Models, Codex OAuth, Codex, Ollama, Atomic Chat, and other supported backends while keeping one terminal-first workflow: prompts, tools, agents, MCP, slash commands, and streaming output.
|
|
9
|
+
|
|
10
|
+
[](SECURITY.md)
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
|
|
13
|
+
[Quick Start](#quick-start) | [Setup Guides](#setup-guides) | [Providers](#supported-providers) | [Development](#development) | [VS Code Extension](#vs-code-extension) | [Community](#community)
|
|
14
|
+
|
|
15
|
+
## Why Claudio
|
|
16
|
+
|
|
17
|
+
- One CLI across cloud APIs and local model backends — no per-provider tooling
|
|
18
|
+
- Guided provider setup and saved profiles with `/provider`
|
|
19
|
+
- Coding-agent workflows in one place: bash, file tools, grep, glob, agents, tasks, MCP, and web tools
|
|
20
|
+
- A bundled VS Code extension for launch integration and theme support
|
|
21
|
+
|
|
22
|
+
## Quick Start
|
|
23
|
+
|
|
24
|
+
### Install
|
|
25
|
+
|
|
26
|
+
Claudio requires Node.js `>=22.0.0` for npm installs and runtime. Bun is
|
|
27
|
+
only needed for source builds and local development.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g @gaburieuru/claudio@latest
|
|
31
|
+
# or
|
|
32
|
+
bun install -g @gaburieuru/claudio@latest
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If the install later reports `ripgrep not found`, install ripgrep system-wide and confirm `rg --version` works in the same terminal before starting Claudio.
|
|
36
|
+
|
|
37
|
+
**Verify / troubleshoot installed version:**
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
claudio --version
|
|
41
|
+
npm view @gaburieuru/claudio dist-tags
|
|
42
|
+
npm install -g @gaburieuru/claudio@latest
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Start
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
claudio
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Inside Claudio:
|
|
52
|
+
|
|
53
|
+
- run `/provider` for guided provider setup and saved profiles
|
|
54
|
+
- run `/onboard-github` for GitHub Models onboarding
|
|
55
|
+
|
|
56
|
+
> **Note:** Claudio does not automatically load project `.env` files. We recommend using the `/provider` command for setup, which saves provider profiles and credentials for you. If you prefer environment variables, export them explicitly or run `claudio --provider-env-file .env` for provider/setup variables. Export runtime/debug knobs from your shell or launcher.
|
|
57
|
+
|
|
58
|
+
### Resume or fork a conversation
|
|
59
|
+
|
|
60
|
+
Resume an existing conversation by session ID, or continue the most recent
|
|
61
|
+
conversation in the current directory:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
claudio --resume <session-id>
|
|
65
|
+
claudio --continue
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Add `--fork-session` to branch the conversation history into a new session ID
|
|
69
|
+
instead of reusing the original transcript:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
claudio --resume <session-id> --fork-session
|
|
73
|
+
claudio --continue --fork-session
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Forking is conversation branching only. It does not create filesystem isolation,
|
|
77
|
+
copy your working tree, or create a git worktree branch.
|
|
78
|
+
|
|
79
|
+
### Background sessions
|
|
80
|
+
|
|
81
|
+
Run long non-interactive prompts detached from the current terminal:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
claudio --bg "fix failing tests"
|
|
85
|
+
claudio --bg --name auth-refactor "refactor auth middleware"
|
|
86
|
+
claudio ps
|
|
87
|
+
claudio logs auth-refactor
|
|
88
|
+
claudio logs auth-refactor -f
|
|
89
|
+
claudio kill auth-refactor
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Background sessions are local child processes. Claudio does not start a daemon
|
|
93
|
+
or network service, and permission/provider/model/settings flags are passed to
|
|
94
|
+
the child process the same way they are for a foreground `--print` run. Session
|
|
95
|
+
metadata and logs are stored under the resolved Claudio config directory
|
|
96
|
+
(bg-sessions under your Claudio home config). You can override the config
|
|
97
|
+
root with an environment variable if needed. `CLAUDE_CONFIG_DIR` is ignored for Claudio
|
|
98
|
+
background-session storage. Session names can be reused after older sessions
|
|
99
|
+
reach a terminal state; use the session ID to inspect older logs with the same
|
|
100
|
+
name.
|
|
101
|
+
|
|
102
|
+
`claudio attach <id-or-name>` currently reports the matching session and
|
|
103
|
+
points to `claudio logs <id> -f`; full terminal reattach is not implemented
|
|
104
|
+
for local background sessions yet.
|
|
105
|
+
|
|
106
|
+
### Claudio config cutover
|
|
107
|
+
|
|
108
|
+
Claudio stores its own config under a Claudio-specific home directory and
|
|
109
|
+
settings JSON by default. It does not read `~/.claude`, project `.claude/` directories, or
|
|
110
|
+
`CLAUDE_CONFIG_DIR`; new users can start with an empty Claudio config and do
|
|
111
|
+
not need Claude Code installed.
|
|
112
|
+
|
|
113
|
+
If you previously used Claudio with `.claude` paths, migrate intentionally:
|
|
114
|
+
copy only the settings, commands, agents, skills, scheduled tasks, or other files
|
|
115
|
+
you personally created for Claudio into the matching Claudio config location.
|
|
116
|
+
Do not blanket-copy `.claude`, and do not copy Claude Code credentials or auth
|
|
117
|
+
files. For provider authentication, prefer running Claudio's provider setup
|
|
118
|
+
again or exporting provider-specific environment variables.
|
|
119
|
+
|
|
120
|
+
### Fastest OpenAI setup
|
|
121
|
+
|
|
122
|
+
macOS / Linux:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
export CLAUDE_CODE_USE_OPENAI=1
|
|
126
|
+
export OPENAI_API_KEY=sk-your-key-here
|
|
127
|
+
export OPENAI_MODEL=gpt-4o
|
|
128
|
+
|
|
129
|
+
claudio
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Windows PowerShell:
|
|
133
|
+
|
|
134
|
+
```powershell
|
|
135
|
+
$env:CLAUDE_CODE_USE_OPENAI="1"
|
|
136
|
+
$env:OPENAI_API_KEY="sk-your-key-here"
|
|
137
|
+
$env:OPENAI_MODEL="gpt-4o"
|
|
138
|
+
|
|
139
|
+
claudio
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Fastest local Ollama setup
|
|
143
|
+
|
|
144
|
+
macOS / Linux:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
export CLAUDE_CODE_USE_OPENAI=1
|
|
148
|
+
export OPENAI_BASE_URL=http://localhost:11434/v1
|
|
149
|
+
export OPENAI_MODEL=qwen2.5-coder:7b
|
|
150
|
+
|
|
151
|
+
claudio
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Windows PowerShell:
|
|
155
|
+
|
|
156
|
+
```powershell
|
|
157
|
+
$env:CLAUDE_CODE_USE_OPENAI="1"
|
|
158
|
+
$env:OPENAI_BASE_URL="http://localhost:11434/v1"
|
|
159
|
+
$env:OPENAI_MODEL="qwen2.5-coder:7b"
|
|
160
|
+
|
|
161
|
+
claudio
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
For Ollama, Claudio uses Ollama's native chat API and requests a 32768-token
|
|
165
|
+
context window on each chat request so same-session history is not silently
|
|
166
|
+
truncated by Ollama's OpenAI-compatible shim. Set `OLLAMA_CONTEXT_LENGTH`
|
|
167
|
+
if you need a different request-level context size.
|
|
168
|
+
See [Advanced Setup](docs/advanced-setup.md#ollama-context-length) for
|
|
169
|
+
verification with `ollama ps`.
|
|
170
|
+
|
|
171
|
+
## Setup Guides
|
|
172
|
+
|
|
173
|
+
Beginner-friendly guides:
|
|
174
|
+
|
|
175
|
+
- [Non-Technical Setup](docs/non-technical-setup.md)
|
|
176
|
+
- [Windows Quick Start](docs/quick-start-windows.md)
|
|
177
|
+
- [macOS / Linux Quick Start](docs/quick-start-mac-linux.md)
|
|
178
|
+
|
|
179
|
+
Advanced and source-build guides:
|
|
180
|
+
|
|
181
|
+
- [Advanced Setup](docs/advanced-setup.md)
|
|
182
|
+
- [Smart Auto-Routing](docs/smart-routing.md)
|
|
183
|
+
- [Agent Routing and Step Limits](docs/agent-routing.md)
|
|
184
|
+
- [Headless gRPC Server](docs/grpc-server.md)
|
|
185
|
+
- [Repo Map (codebase intelligence)](docs/repo-map.md)
|
|
186
|
+
- [Android Install](ANDROID_INSTALL.md)
|
|
187
|
+
|
|
188
|
+
## Supported Providers
|
|
189
|
+
|
|
190
|
+
| Provider | Setup Path | Notes |
|
|
191
|
+
| --- | --- | --- |
|
|
192
|
+
| OpenAI-compatible | `/provider` or env vars | Works with OpenAI, OpenRouter, DeepSeek, Groq, Mistral, LM Studio, and other compatible `/v1` servers |
|
|
193
|
+
| Z.AI GLM Coding Plan | `/provider` or OpenAI-compatible env vars | Uses `OPENAI_API_KEY` at `https://api.z.ai/api/coding/paas/v4` and defaults to `glm-5.2` |
|
|
194
|
+
| AI/ML API | `/provider` or `AIMLAPI_API_KEY` ([setup guide](docs/aimlapi-setup.md)) | Uses `https://api.aimlapi.com/v1`, auto-detects the OpenAI-compatible route from `AIMLAPI_API_KEY`, sends Claudio attribution headers, and discovers chat-capable models from the public `/models` catalog |
|
|
195
|
+
| Hicap | `/provider` or OpenAI-compatible env vars | Uses `api-key` auth, discovers models from unauthenticated `/models`, and supports Responses mode for `gpt-` models |
|
|
196
|
+
| Fireworks AI | `/provider` or env vars | First-class provider with 276 curated models (DeepSeek, Qwen, Llama, Gemma, and more); uses `FIREWORKS_API_KEY` |
|
|
197
|
+
| ClinePass | `/provider` or env vars | AI model gateway with usage limits (5hr, weekly, monthly); uses `CLINE_API_KEY` at `https://api.cline.bot/api/v1` |
|
|
198
|
+
| Gemini | `/provider` or env vars | Supports API key only |
|
|
199
|
+
| GitHub Models | `/onboard-github` | Interactive onboarding with saved credentials |
|
|
200
|
+
| Codex OAuth | `/provider` | Opens ChatGPT sign-in in your browser and stores Codex credentials securely |
|
|
201
|
+
| Codex | `/provider` | Uses existing Codex CLI auth, Claudio secure storage, or env credentials |
|
|
202
|
+
| OpenCode Zen | `/provider` or env vars | Pay-as-you-go AI gateway (48 models); uses `OPENCODE_API_KEY` via `https://opencode.ai/zen/v1`; shared key with OpenCode Go |
|
|
203
|
+
| OpenCode Go | `/provider` or env vars | $10/mo subscription for open models (13 models); uses `OPENCODE_API_KEY` via `https://opencode.ai/zen/go/v1`; shared key with OpenCode Zen |
|
|
204
|
+
| Xiaomi MiMo | `/provider` or env vars | OpenAI-compatible API at `https://mimo.mi.com`; uses `MIMO_API_KEY` and defaults to `mimo-v2.5-pro` |
|
|
205
|
+
| NEAR AI | `/provider` or env vars | Unified gateway (Claude, GPT, Gemini + TEE open models); uses `NEARAI_API_KEY` at `https://cloud-api.near.ai/v1` |
|
|
206
|
+
| Cloudflare Workers AI | `/provider` or env vars | OpenAI-compatible API at `https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1`; uses `CLOUDFLARE_API_TOKEN`. Replace `<ACCOUNT_ID>` with your Cloudflare account id. |
|
|
207
|
+
| Ollama | `/provider` or env vars | Local inference with no API key |
|
|
208
|
+
| Atomic Chat | `/provider`, env vars, or `bun run dev:atomic-chat` | Local Model Provider; auto-detects loaded models |
|
|
209
|
+
| Bedrock / Vertex / Foundry | env vars | Anthropic-family cloud routes; Vertex is for Claude on Vertex AI, not arbitrary Model Garden models |
|
|
210
|
+
|
|
211
|
+
## What Works
|
|
212
|
+
|
|
213
|
+
- **Tool-driven coding workflows**: Bash, file read/write/edit, grep, glob, agents, tasks, MCP, and slash commands
|
|
214
|
+
- **Streaming responses**: Real-time token output and tool progress
|
|
215
|
+
- **Tool calling**: Multi-step tool loops with model calls, tool execution, and follow-up responses
|
|
216
|
+
- **Images**: URL and base64 image inputs for providers that support vision
|
|
217
|
+
- **Provider profiles**: Guided setup plus saved user-level provider profile support
|
|
218
|
+
- **Local and remote model backends**: Cloud APIs, local servers, and Apple Silicon local inference
|
|
219
|
+
- **Codebase intelligence (repo map)**: Structural map of the repository ranked by PageRank importance, auto-injected into context when the `REPO_MAP` flag is enabled or the `REPO_MAP` environment variable is set. Inspect with `/repomap` (2048-token default). See [docs/repo-map.md](docs/repo-map.md) for details.
|
|
220
|
+
|
|
221
|
+
## Provider Notes
|
|
222
|
+
|
|
223
|
+
Claudio supports multiple providers, but behavior is not identical across all of them.
|
|
224
|
+
|
|
225
|
+
- Anthropic-specific features may not exist on other providers
|
|
226
|
+
- Tool quality depends heavily on the selected model
|
|
227
|
+
- Smaller local models can struggle with long multi-step tool flows
|
|
228
|
+
- Some providers impose lower output caps than the CLI defaults, and Claudio adapts where possible
|
|
229
|
+
- AI/ML API uses the OpenAI-compatible route, defaults to `gpt-4o`, and only surfaces chat-capable models from its public catalog
|
|
230
|
+
- Z.AI GLM Coding Plan uses `https://api.z.ai/api/coding/paas/v4` with `glm-5.2` by default. Use `glm-5.2?reasoning=high` for enhanced reasoning, `glm-5.2?reasoning=xhigh` to request Z.AI `reasoning_effort=max`, or `glm-5.2?thinking=disabled` for faster direct answers.
|
|
231
|
+
- Xiaomi MiMo uses `api-key` header auth on the direct OpenAI-compatible route and currently does not support `/usage` reporting in Claudio
|
|
232
|
+
- GitHub Copilot serializes sub-agent execution by default to reduce Premium Request consumption — see [Agent Routing and Step Limits](docs/agent-routing.md#github-copilot-sub-agent-optimization) for tuning
|
|
233
|
+
|
|
234
|
+
For best results, use models with strong tool/function calling support.
|
|
235
|
+
|
|
236
|
+
## Agents
|
|
237
|
+
|
|
238
|
+
Route different agents to different models (cost optimization, splitting work
|
|
239
|
+
by model strength), cap sub-agent tool steps with `maxSteps`, and tune GitHub
|
|
240
|
+
Copilot sub-agent behavior. All settings-driven:
|
|
241
|
+
|
|
242
|
+
- per-agent provider/model overrides via `agentModels` + `agentRouting` in Claudio settings
|
|
243
|
+
- model-only routes that reuse your current provider's credentials
|
|
244
|
+
- built-in agents (`Explore`, `Plan`, `verification`) routable by type name
|
|
245
|
+
|
|
246
|
+
See [Agent Routing and Step Limits](docs/agent-routing.md) for the full guide.
|
|
247
|
+
|
|
248
|
+
## Web Search and Fetch
|
|
249
|
+
|
|
250
|
+
By default, `WebSearch` works on non-Anthropic models using DuckDuckGo. This gives GPT-4o, DeepSeek, Gemini, Ollama, and other OpenAI-compatible providers a free web search path out of the box.
|
|
251
|
+
|
|
252
|
+
> **Note:** DuckDuckGo fallback works by scraping search results and may be rate-limited, blocked, or subject to DuckDuckGo's Terms of Service. If you want a more reliable supported option, configure Firecrawl.
|
|
253
|
+
|
|
254
|
+
For Anthropic-native backends and Codex responses, Claudio keeps the native provider web search behavior.
|
|
255
|
+
|
|
256
|
+
`WebFetch` works, but its basic HTTP plus HTML-to-markdown path can still fail on JavaScript-rendered sites or sites that block plain HTTP requests.
|
|
257
|
+
|
|
258
|
+
Set a [Firecrawl](https://firecrawl.dev) API key if you want Firecrawl-powered search/fetch behavior:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
export FIRECRAWL_API_KEY=your-key-here
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
With Firecrawl enabled:
|
|
265
|
+
|
|
266
|
+
- `WebSearch` can use Firecrawl's search API while DuckDuckGo remains the default free path for non-Claude models
|
|
267
|
+
- `WebFetch` uses Firecrawl's scrape endpoint instead of raw HTTP, handling JS-rendered pages correctly
|
|
268
|
+
|
|
269
|
+
Free tier at [firecrawl.dev](https://firecrawl.dev) includes 500 credits. The key is optional.
|
|
270
|
+
|
|
271
|
+
## Headless gRPC Server
|
|
272
|
+
|
|
273
|
+
Claudio can run as a headless gRPC service with bidirectional streaming —
|
|
274
|
+
integrate its agentic capabilities into other applications, CI/CD pipelines,
|
|
275
|
+
or custom UIs. Start it with `npm run dev:grpc`; a test CLI client ships with
|
|
276
|
+
the repo. See [Headless gRPC Server](docs/grpc-server.md) for configuration
|
|
277
|
+
and client generation from the gRPC proto under `src/proto/`.
|
|
278
|
+
|
|
279
|
+
## Development
|
|
280
|
+
|
|
281
|
+
Use Node.js `>=22.0.0` and Bun `1.3.13` or newer for source builds.
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
bun install
|
|
285
|
+
bun run build
|
|
286
|
+
node dist/cli.mjs
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Day-to-day commands:
|
|
290
|
+
|
|
291
|
+
- `bun run dev` — build and launch from source
|
|
292
|
+
- `bun test` — full unit suite (Bun's built-in runner)
|
|
293
|
+
- `bun test path/to/file.test.ts` — focused runs for the areas you touch
|
|
294
|
+
- `bun run test:coverage` — coverage to `coverage/lcov.info` plus a visual report at `coverage/index.html` (`bun run test:coverage:ui` rebuilds just the UI)
|
|
295
|
+
- `bun run smoke` — smoke checks
|
|
296
|
+
- `bun run doctor:runtime`, `bun run verify:privacy`, `bun run security:pr-scan -- --base origin/main`
|
|
297
|
+
|
|
298
|
+
Focused suites: `bun run test:provider`, `bun run test:provider-recommendation`.
|
|
299
|
+
|
|
300
|
+
Recommended validation before opening a PR:
|
|
301
|
+
|
|
302
|
+
- `bun run build`
|
|
303
|
+
- `bun run smoke`
|
|
304
|
+
- `bun run test:coverage` when your change affects shared runtime or provider logic
|
|
305
|
+
- focused `bun test ...` runs for the files and flows you changed
|
|
306
|
+
|
|
307
|
+
## Repository Structure
|
|
308
|
+
|
|
309
|
+
- `src/` - core CLI/runtime
|
|
310
|
+
- `scripts/` - build, verification, and maintenance scripts
|
|
311
|
+
- `docs/` - setup, contributor, and project documentation
|
|
312
|
+
- `vscode-extension/` - VS Code extension
|
|
313
|
+
- `.github/` - repo automation, templates, and CI configuration
|
|
314
|
+
- `bin/` - CLI launcher entrypoints
|
|
315
|
+
|
|
316
|
+
## VS Code Extension
|
|
317
|
+
|
|
318
|
+
The repo includes a VS Code extension under `vscode-extension/` for Claudio launch integration, provider-aware Control Center, in-editor chat, theme support, and optional **Microsoft Foundry / Azure OpenAI** configuration (endpoint, API version, deployment, API key via Secret Storage) injected into launched terminals. See that folder's README.
|
|
319
|
+
|
|
320
|
+
## Security
|
|
321
|
+
|
|
322
|
+
If you believe you found a security issue, see [SECURITY.md](SECURITY.md).
|
|
323
|
+
|
|
324
|
+
## Community
|
|
325
|
+
|
|
326
|
+
- [GitHub Issues](https://github.com/StillHue/claudio/issues) for bugs and feature work
|
|
327
|
+
- [GitHub Discussions](https://github.com/StillHue/claudio/discussions) when enabled on this repo
|
|
328
|
+
|
|
329
|
+
## Contributing
|
|
330
|
+
|
|
331
|
+
Contributions are welcome. For larger changes, open an issue first so the
|
|
332
|
+
scope is clear before implementation. See [Development](#development) for the
|
|
333
|
+
build, test, and pre-PR validation commands.
|
|
334
|
+
|
|
335
|
+
## Disclaimer
|
|
336
|
+
|
|
337
|
+
Claudio is an independent project and is not affiliated with, endorsed by, or sponsored by Anthropic.
|
|
338
|
+
|
|
339
|
+
Claudio includes modifications of Claude Code–derived code to support multiple providers. "Claude" and "Claude Code" are trademarks of Anthropic PBC. See [LICENSE](LICENSE) for details.
|
|
340
|
+
|
|
341
|
+
## License
|
|
342
|
+
|
|
343
|
+
MIT for Claudio contributors' modifications; the derived Claude Code remains Anthropic's. [See more](LICENSE).
|