@studio-foundation/cli 0.3.0-beta.6 → 0.5.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 +146 -79
- package/dist/commands/config.d.ts +5 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +47 -6
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +21 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/replay.d.ts.map +1 -1
- package/dist/commands/replay.js +10 -1
- package/dist/commands/replay.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +64 -4
- package/dist/commands/run.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/output/map-progress.d.ts +33 -0
- package/dist/output/map-progress.d.ts.map +1 -0
- package/dist/output/map-progress.js +138 -0
- package/dist/output/map-progress.js.map +1 -0
- package/dist/output/progress.d.ts +2 -0
- package/dist/output/progress.d.ts.map +1 -1
- package/dist/output/progress.js +53 -0
- package/dist/output/progress.js.map +1 -1
- package/dist/provider-validator.d.ts.map +1 -1
- package/dist/provider-validator.js +15 -0
- package/dist/provider-validator.js.map +1 -1
- package/dist/registry/resolver.d.ts.map +1 -1
- package/dist/registry/resolver.js +12 -5
- package/dist/registry/resolver.js.map +1 -1
- package/dist/registry/types.d.ts +3 -3
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/types.js +1 -1
- package/dist/registry/types.js.map +1 -1
- package/package.json +6 -6
- package/templates/.studiorc.yaml +1 -1
package/README.md
CHANGED
|
@@ -1,13 +1,113 @@
|
|
|
1
1
|
# @studio-foundation/cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Studio** is a declarative YAML runtime for AI agents. It orchestrates multi-stage agent workflows with structured output validation and automatic retry. Pipelines are defined in YAML, every stage output is validated against a contract, and failures are retried with escalated feedback — no stage advances until its output is structurally proven correct.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This package is the **CLI**: the `studio` binary. It reads your config, wires up providers and tools, delegates execution to the engine, and renders progress to your terminal.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- Homepage: https://github.com/studio-foundation/studio
|
|
8
|
+
- Full docs: [README](https://github.com/studio-foundation/studio#readme) · [CONCEPTS](https://github.com/studio-foundation/studio/blob/main/CONCEPTS.md) · [PHILOSOPHY](https://github.com/studio-foundation/studio/blob/main/PHILOSOPHY.md)
|
|
8
9
|
|
|
10
|
+
## Why Studio
|
|
11
|
+
|
|
12
|
+
If you've ever wrapped the Anthropic or OpenAI API in a script and watched it claim success while silently skipping steps, Studio is for you. You get:
|
|
13
|
+
|
|
14
|
+
- **Structured output validation**: every stage output is checked against a JSON-schema contract. Binary pass/fail.
|
|
15
|
+
- **Automatic retry with feedback**: failures are re-run with the validation error injected into the prompt, up to `max_attempts`.
|
|
16
|
+
- **Tool-call verification (anti-theatre)**: if an agent claims to have written a file but made zero tool calls, it fails. Tool calls are tracked by the runner, not self-reported.
|
|
17
|
+
- **Observability out of the box**: stream every tool call, retry, and rejection in real time with `--live`.
|
|
18
|
+
- **Deterministic config**: pipelines, contracts, agents and tools are YAML. The engine is domain-agnostic; the behavior lives in the files.
|
|
19
|
+
- **TypeScript and YAML, no Python**: declarative configs, no decorators or graph builders. A LangGraph or CrewAI alternative for teams that prefer their orchestration in config files.
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install -g @studio-foundation/cli
|
|
25
|
+
# or
|
|
26
|
+
pnpm add -g @studio-foundation/cli
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This installs a `studio` binary on your `PATH`.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
studio --version
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Quick start
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# 1. Scaffold a project (interactive wizard: template, provider, tools)
|
|
39
|
+
studio init
|
|
40
|
+
|
|
41
|
+
# 2. Run a pipeline with live output
|
|
42
|
+
studio run feature-builder --input "Add a FAQ section to the About page" --live
|
|
43
|
+
|
|
44
|
+
# 3. Inspect the result
|
|
45
|
+
studio status
|
|
46
|
+
studio logs
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
No API key yet? Try the mock provider, no network calls, no cost:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
studio run feature-builder --input "..." --provider mock
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## What you'll see
|
|
56
|
+
|
|
57
|
+
`studio run --live` streams each stage, every tool call, and every retry:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
[1/4] Analyzing brief...
|
|
61
|
+
✔ 🔍 repo_manager-list_files(src/pages) → 3 files
|
|
62
|
+
✔ 📖 repo_manager-read_file(src/pages/about.tsx) → 247 lines
|
|
63
|
+
✓ (1 attempt, 8s)
|
|
64
|
+
|
|
65
|
+
[2/4] Creating implementation plan...
|
|
66
|
+
✓ (1 attempt, 12s)
|
|
67
|
+
|
|
68
|
+
[3/4] Generating code...
|
|
69
|
+
✔ 📖 repo_manager-read_file(src/pages/about.tsx) → 247 lines
|
|
70
|
+
✔ ✏️ repo_manager-write_file(src/pages/about.tsx) → written
|
|
71
|
+
↺ Retry 2/5 — TypeScript error: Property 'items' does not exist
|
|
72
|
+
✔ ✏️ repo_manager-write_file(src/pages/about.tsx) → written
|
|
73
|
+
✓ (2 attempts, 38s)
|
|
74
|
+
|
|
75
|
+
[4/4] QA review...
|
|
76
|
+
✓ approved (1 attempt, 15s)
|
|
77
|
+
|
|
78
|
+
Pipeline completed in 1m13s
|
|
9
79
|
```
|
|
10
|
-
|
|
80
|
+
|
|
81
|
+
The `studio init` wizard:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
$ studio init
|
|
85
|
+
|
|
86
|
+
What type of app are you building?
|
|
87
|
+
❯ software — Code generation, git operations
|
|
88
|
+
finance — Transaction analysis, budget management
|
|
89
|
+
analysis — Content extraction, entity recognition
|
|
90
|
+
data — Validation, transformation, compliance
|
|
91
|
+
conversation — Dialogue management, memory systems
|
|
92
|
+
|
|
93
|
+
Project name? my-code-builder
|
|
94
|
+
|
|
95
|
+
Which LLM provider?
|
|
96
|
+
❯ Anthropic (Claude)
|
|
97
|
+
OpenAI (GPT)
|
|
98
|
+
|
|
99
|
+
Anthropic API Key: sk-ant-... ✓ Valid
|
|
100
|
+
|
|
101
|
+
Install default tools for this template?
|
|
102
|
+
❯ ☑ repo-manager (file operations)
|
|
103
|
+
☑ shell (run commands)
|
|
104
|
+
☑ git (version control)
|
|
105
|
+
☑ search (codebase search)
|
|
106
|
+
|
|
107
|
+
✓ Created my-code-builder/.studio/
|
|
108
|
+
✓ Copied software template
|
|
109
|
+
✓ Installed 4 tools
|
|
110
|
+
✓ Configured Anthropic provider
|
|
11
111
|
```
|
|
12
112
|
|
|
13
113
|
## Commands
|
|
@@ -15,19 +115,19 @@ user → studio run feature-builder --input "..." → cli → engine → ...
|
|
|
15
115
|
```bash
|
|
16
116
|
# Daily use
|
|
17
117
|
studio run <pipeline> --input "..." # Run a pipeline
|
|
18
|
-
studio run <pipeline> --input-file input.yaml # Run with YAML input file
|
|
19
|
-
studio run <pipeline> --live # Stream tool calls in real
|
|
20
|
-
studio run <pipeline> --provider mock # Run with mock provider (no API calls)
|
|
118
|
+
studio run <pipeline> --input-file input.yaml # Run with a YAML input file
|
|
119
|
+
studio run <pipeline> --live # Stream tool calls in real time
|
|
120
|
+
studio run <pipeline> --provider mock # Run with the mock provider (no API calls)
|
|
21
121
|
studio run <pipeline> --anonymize # Anonymize PII before sending to LLM
|
|
22
|
-
studio status [run-id] # Check run status (latest
|
|
122
|
+
studio status [run-id] # Check run status (latest if no ID)
|
|
23
123
|
studio logs [run-id] # View JSONL logs for a run
|
|
24
124
|
studio replay [run-id] # Replay a completed run
|
|
25
125
|
studio list projects # List available projects
|
|
26
126
|
studio list pipelines # List available pipelines
|
|
27
127
|
|
|
28
128
|
# Init (interactive wizard)
|
|
29
|
-
studio init # Full interactive wizard
|
|
30
|
-
studio init --template software --name my-app
|
|
129
|
+
studio init # Full interactive wizard
|
|
130
|
+
studio init --template software --name my-app # Direct mode (CI/CD-friendly)
|
|
31
131
|
studio init --force # Re-initialize (backup + recreate)
|
|
32
132
|
|
|
33
133
|
# Config
|
|
@@ -39,14 +139,14 @@ studio config list # Show config (API keys masked)
|
|
|
39
139
|
# Tools
|
|
40
140
|
studio tools list # List tools in current project
|
|
41
141
|
studio tools add # Add tools (interactive wizard)
|
|
42
|
-
studio tools add git # Add specific tool
|
|
43
|
-
studio tools remove
|
|
44
|
-
studio tools info
|
|
142
|
+
studio tools add git # Add a specific tool
|
|
143
|
+
studio tools remove <name> # Remove a tool
|
|
144
|
+
studio tools info <name> # Show tool details
|
|
45
145
|
|
|
46
146
|
# Registry
|
|
47
147
|
studio registry install <name> # Install a tool from the registry
|
|
48
148
|
studio registry remove <name> # Remove a registry-installed tool
|
|
49
|
-
studio registry search <query> # Search available tools
|
|
149
|
+
studio registry search <query> # Search available tools
|
|
50
150
|
studio registry publish <path> # Publish a tool to the registry
|
|
51
151
|
studio registry audit # Audit installed tools for updates/issues
|
|
52
152
|
studio registry sync # Sync registry.lock.json with installed tools
|
|
@@ -54,7 +154,7 @@ studio registry update [name] # Update installed tools (all or
|
|
|
54
154
|
|
|
55
155
|
# Templates
|
|
56
156
|
studio templates # List available templates
|
|
57
|
-
studio template validate <path>
|
|
157
|
+
studio template validate <path> # Validate a template structure
|
|
58
158
|
|
|
59
159
|
# Integrations
|
|
60
160
|
studio integrations # Manage integrations (Linear, etc.)
|
|
@@ -66,19 +166,18 @@ studio project # Project management
|
|
|
66
166
|
studio api start # Start the HTTP REST API server
|
|
67
167
|
|
|
68
168
|
# Validation
|
|
69
|
-
studio validate <contract> <output.json> # Validate output against contract
|
|
169
|
+
studio validate <contract> <output.json> # Validate output against a contract (no LLM)
|
|
70
170
|
```
|
|
71
171
|
|
|
72
|
-
## Config
|
|
172
|
+
## Config
|
|
73
173
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
Format of `.studio/config.yaml`:
|
|
174
|
+
`studio` looks for `.studio/config.yaml` by walking up the directory tree from the current working directory, same mechanism as `git` finding `.git/`. Run `studio` from anywhere inside your project and it'll find the config.
|
|
77
175
|
|
|
78
176
|
```yaml
|
|
177
|
+
# .studio/config.yaml
|
|
79
178
|
providers:
|
|
80
179
|
anthropic:
|
|
81
|
-
apiKey: ${ANTHROPIC_API_KEY}
|
|
180
|
+
apiKey: ${ANTHROPIC_API_KEY} # Env var substitution supported
|
|
82
181
|
openai:
|
|
83
182
|
apiKey: ${OPENAI_API_KEY}
|
|
84
183
|
|
|
@@ -87,79 +186,47 @@ defaults:
|
|
|
87
186
|
model: claude-sonnet-4-20250514
|
|
88
187
|
```
|
|
89
188
|
|
|
90
|
-
This file is gitignored
|
|
189
|
+
This file is gitignored by the scaffold. Never commit API keys.
|
|
91
190
|
|
|
92
|
-
##
|
|
191
|
+
## Architecture
|
|
93
192
|
|
|
94
193
|
```
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
What type of app are you building?
|
|
98
|
-
❯ software — Code generation, git operations
|
|
99
|
-
finance — Transaction analysis, budget management
|
|
100
|
-
analysis — Content extraction, entity recognition
|
|
101
|
-
data — Validation, transformation, compliance
|
|
102
|
-
conversation — Dialogue management, memory systems
|
|
103
|
-
|
|
104
|
-
Project name? my-code-builder
|
|
105
|
-
|
|
106
|
-
Which LLM provider?
|
|
107
|
-
❯ Anthropic (Claude)
|
|
108
|
-
OpenAI (GPT)
|
|
109
|
-
|
|
110
|
-
Anthropic API Key: sk-ant-... ✓ Valid
|
|
111
|
-
|
|
112
|
-
Install default tools for this template?
|
|
113
|
-
❯ ☑ repo-manager (file operations)
|
|
114
|
-
☑ shell (run commands)
|
|
115
|
-
☑ git (version control)
|
|
116
|
-
☑ search (codebase search)
|
|
117
|
-
|
|
118
|
-
✓ Created my-code-builder/.studio/
|
|
119
|
-
✓ Copied software template
|
|
120
|
-
✓ Installed 4 tools
|
|
121
|
-
✓ Configured Anthropic provider
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## `studio run --live` output
|
|
125
|
-
|
|
194
|
+
user → studio run feature-builder --input "..." → cli → engine → ralph / runner
|
|
126
195
|
```
|
|
127
|
-
[1/4] Analyzing brief...
|
|
128
|
-
✔ 🔍 repo_manager-list_files(src/pages) → 3 files
|
|
129
|
-
✔ 📖 repo_manager-read_file(src/pages/about.tsx) → 247 lines
|
|
130
|
-
✓ (1 attempt, 8s)
|
|
131
196
|
|
|
132
|
-
[
|
|
133
|
-
✓ (1 attempt, 12s)
|
|
197
|
+
`cli` is the human-facing layer. It reads input, resolves `.studio/config.yaml`, wires up the provider and tool registries, delegates to `engine`, and renders progress to the terminal. It's part of a 7-package monorepo, see the [main README](https://github.com/studio-foundation/studio#readme) for the full picture.
|
|
134
198
|
|
|
135
|
-
|
|
136
|
-
✔ 📖 repo_manager-read_file(src/pages/about.tsx) → 247 lines
|
|
137
|
-
✔ ✏️ repo_manager-write_file(src/pages/about.tsx) → written
|
|
138
|
-
↺ Retry 2/5 — TypeScript error: Property 'items' does not exist
|
|
139
|
-
✔ ✏️ repo_manager-write_file(src/pages/about.tsx) → written
|
|
140
|
-
✓ (2 attempts, 38s)
|
|
199
|
+
Sister packages:
|
|
141
200
|
|
|
142
|
-
[
|
|
143
|
-
|
|
201
|
+
- [`@studio-foundation/engine`](https://www.npmjs.com/package/@studio-foundation/engine) — pipeline orchestration
|
|
202
|
+
- [`@studio-foundation/ralph`](https://www.npmjs.com/package/@studio-foundation/ralph) — retry loop + validation
|
|
203
|
+
- [`@studio-foundation/runner`](https://www.npmjs.com/package/@studio-foundation/runner) — tool plugin runtime, LLM providers
|
|
204
|
+
- [`@studio-foundation/anonymizer`](https://www.npmjs.com/package/@studio-foundation/anonymizer) — PII anonymization middleware
|
|
205
|
+
- [`@studio-foundation/api`](https://www.npmjs.com/package/@studio-foundation/api) — HTTP REST API
|
|
206
|
+
- [`@studio-foundation/contracts`](https://www.npmjs.com/package/@studio-foundation/contracts) — shared types
|
|
144
207
|
|
|
145
|
-
|
|
146
|
-
```
|
|
208
|
+
## For contributors
|
|
147
209
|
|
|
148
|
-
|
|
210
|
+
Working on the CLI itself, not just using it:
|
|
149
211
|
|
|
150
212
|
```bash
|
|
151
|
-
# From Studio monorepo root
|
|
152
|
-
pnpm
|
|
153
|
-
|
|
213
|
+
# From the Studio monorepo root
|
|
214
|
+
pnpm install
|
|
215
|
+
pnpm build # Builds all packages, including cli
|
|
216
|
+
node cli/dist/index.js run ... # Run directly without linking
|
|
154
217
|
|
|
155
218
|
# Or link globally
|
|
156
219
|
cd cli && npm link
|
|
157
220
|
studio --version
|
|
158
221
|
```
|
|
159
222
|
|
|
160
|
-
|
|
223
|
+
Internal rules:
|
|
224
|
+
|
|
225
|
+
- `cli` is the composition root, it imports from `engine`, `runner` (ToolRegistry, ProviderRegistry, MCPClient), and `api` (for `studio api start`). This is a documented exception to the package DAG (see [INVARIANTS.md](https://github.com/studio-foundation/studio/blob/main/INVARIANTS.md)).
|
|
226
|
+
- `cli` never contains business logic, it wires dependencies and delegates.
|
|
227
|
+
- All output rendering is in `output/`, display logic stays separate from command logic.
|
|
228
|
+
- `findStudioDir()` walks up the directory tree, tests must use `/tmp` as base, never a subdirectory of the Studio repo (the repo itself has a `.studio/` at its root).
|
|
229
|
+
|
|
230
|
+
## License
|
|
161
231
|
|
|
162
|
-
-
|
|
163
|
-
- cli never contains business logic — it wires up dependencies and delegates.
|
|
164
|
-
- All output rendering is in `output/` — keep display logic separate from command logic.
|
|
165
|
-
- `findStudioDir()` walks up the directory tree — tests must use `/tmp` as base, never a subdirectory of the Studio repo (the repo itself has `.studio/` at its root).
|
|
232
|
+
AGPL-3.0-only
|
|
@@ -14,8 +14,13 @@ export declare const PROVIDERS: readonly [{
|
|
|
14
14
|
readonly id: "ollama";
|
|
15
15
|
readonly label: "Ollama (local)";
|
|
16
16
|
readonly defaultModel: "llama3.2";
|
|
17
|
+
}, {
|
|
18
|
+
readonly id: "claude-code";
|
|
19
|
+
readonly label: "Claude Code (subscription)";
|
|
20
|
+
readonly defaultModel: "claude-sonnet-4-5";
|
|
17
21
|
}];
|
|
18
22
|
export type ProviderId = (typeof PROVIDERS)[number]['id'];
|
|
23
|
+
export declare function isClaudeCodeInstalled(): boolean;
|
|
19
24
|
export declare function validateApiKeyForProvider(provider: string, key: string): true | string;
|
|
20
25
|
export declare function addProviderConfig(configFile: string, provider: string, apiKey: string, setDefault: boolean, model?: string): Promise<void>;
|
|
21
26
|
export declare function isProviderConfigured(configFile: string, provider: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;EAMZ,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAE1D,wBAAgB,qBAAqB,IAAI,OAAO,CAG/C;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAWtF;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAIjG;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQrF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAWjG;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAcjD;AA0BD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6HD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAgMf"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readFile, writeFile, mkdir } from 'node:fs/promises';
|
|
2
2
|
import { resolve, join, dirname } from 'node:path';
|
|
3
|
+
import { spawnSync } from 'node:child_process';
|
|
3
4
|
import * as yaml from 'js-yaml';
|
|
4
5
|
import chalk from 'chalk';
|
|
5
6
|
import ora from 'ora';
|
|
@@ -13,7 +14,12 @@ export const PROVIDERS = [
|
|
|
13
14
|
{ id: 'openai', label: 'OpenAI (GPT)', defaultModel: 'gpt-4o' },
|
|
14
15
|
{ id: 'google', label: 'Google (Gemini)', defaultModel: 'gemini-1.5-pro' },
|
|
15
16
|
{ id: 'ollama', label: 'Ollama (local)', defaultModel: 'llama3.2' },
|
|
17
|
+
{ id: 'claude-code', label: 'Claude Code (subscription)', defaultModel: 'claude-sonnet-4-5' },
|
|
16
18
|
];
|
|
19
|
+
export function isClaudeCodeInstalled() {
|
|
20
|
+
const result = spawnSync('which', ['claude'], { encoding: 'utf-8' });
|
|
21
|
+
return result.status === 0;
|
|
22
|
+
}
|
|
17
23
|
export function validateApiKeyForProvider(provider, key) {
|
|
18
24
|
if (provider === 'anthropic') {
|
|
19
25
|
if (!key.startsWith('sk-ant-'))
|
|
@@ -38,6 +44,9 @@ export async function addProviderConfig(configFile, provider, apiKey, setDefault
|
|
|
38
44
|
if (provider === 'ollama') {
|
|
39
45
|
config.providers[provider] = { baseUrl: apiKey };
|
|
40
46
|
}
|
|
47
|
+
else if (provider === 'claude-code') {
|
|
48
|
+
config.providers[provider] = {};
|
|
49
|
+
}
|
|
41
50
|
else {
|
|
42
51
|
config.providers[provider] = { apiKey };
|
|
43
52
|
}
|
|
@@ -121,9 +130,16 @@ async function configAddProviderWizard(configFile) {
|
|
|
121
130
|
? Object.keys(config.providers)
|
|
122
131
|
: [];
|
|
123
132
|
// Step 1: Select provider
|
|
133
|
+
const claudeCodeInstalled = isClaudeCodeInstalled();
|
|
124
134
|
const providerId = await select({
|
|
125
135
|
message: 'Which provider would you like to add?',
|
|
126
|
-
choices: PROVIDERS.map((p) => ({
|
|
136
|
+
choices: PROVIDERS.map((p) => ({
|
|
137
|
+
value: p.id,
|
|
138
|
+
name: p.id === 'claude-code' && !claudeCodeInstalled
|
|
139
|
+
? `${p.label} (not installed)`
|
|
140
|
+
: p.label,
|
|
141
|
+
disabled: p.id === 'claude-code' && !claudeCodeInstalled,
|
|
142
|
+
})),
|
|
127
143
|
});
|
|
128
144
|
// Step 2: Handle already-configured case
|
|
129
145
|
if (existingProviders.includes(providerId)) {
|
|
@@ -137,9 +153,20 @@ async function configAddProviderWizard(configFile) {
|
|
|
137
153
|
return;
|
|
138
154
|
}
|
|
139
155
|
}
|
|
140
|
-
// Step 3: Ask for API key (or base URL for ollama)
|
|
156
|
+
// Step 3: Ask for API key (or base URL for ollama, skip for claude-code)
|
|
141
157
|
let apiKey = '';
|
|
142
|
-
if (providerId === '
|
|
158
|
+
if (providerId === 'claude-code') {
|
|
159
|
+
const spinner = ora('Checking Claude Code session...').start();
|
|
160
|
+
const result = await validateApiKeyLive('claude-code', '');
|
|
161
|
+
if (result.status === 'valid')
|
|
162
|
+
spinner.succeed('Claude Code session active');
|
|
163
|
+
else if (result.status === 'warning')
|
|
164
|
+
spinner.warn('message' in result ? result.message : '');
|
|
165
|
+
else {
|
|
166
|
+
spinner.fail('error' in result ? result.error : '');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else if (providerId === 'ollama') {
|
|
143
170
|
apiKey = await input({
|
|
144
171
|
message: 'Ollama base URL:',
|
|
145
172
|
default: 'http://localhost:11434',
|
|
@@ -186,7 +213,7 @@ async function configAddProviderWizard(configFile) {
|
|
|
186
213
|
}));
|
|
187
214
|
// Step 4b: Choose default model (if setting as default and models are available)
|
|
188
215
|
let defaultModel;
|
|
189
|
-
if (setDefault && providerId !== 'ollama') {
|
|
216
|
+
if (setDefault && providerId !== 'ollama' && providerId !== 'claude-code') {
|
|
190
217
|
const models = await getAvailableModels(providerId, apiKey);
|
|
191
218
|
const meta = PROVIDERS.find((p) => p.id === providerId);
|
|
192
219
|
const fallbackModel = meta?.defaultModel ?? 'claude-sonnet-4-20250514';
|
|
@@ -316,12 +343,26 @@ export async function configCommand(action, args, options) {
|
|
|
316
343
|
break;
|
|
317
344
|
}
|
|
318
345
|
// Direct mode
|
|
319
|
-
if (provider !== 'ollama' && !options.apiKey) {
|
|
346
|
+
if (provider !== 'ollama' && provider !== 'claude-code' && !options.apiKey) {
|
|
320
347
|
console.error(`Error: --api-key is required for provider '${provider}'`);
|
|
321
348
|
process.exit(1);
|
|
322
349
|
}
|
|
323
350
|
const apiKey = options.apiKey ?? '';
|
|
324
|
-
if (provider
|
|
351
|
+
if (provider === 'claude-code') {
|
|
352
|
+
process.stdout.write('Checking Claude Code session...');
|
|
353
|
+
const result = await validateApiKeyLive('claude-code', '');
|
|
354
|
+
if (result.status === 'valid') {
|
|
355
|
+
console.log(chalk.green(' ✓ Session active'));
|
|
356
|
+
}
|
|
357
|
+
else if (result.status === 'warning') {
|
|
358
|
+
console.log(chalk.yellow(` ⚠ ${'message' in result ? result.message : ''}`));
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
console.error(chalk.red(` ✗ ${'error' in result ? result.error : ''}`));
|
|
362
|
+
process.exit(1);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
else if (provider !== 'ollama') {
|
|
325
366
|
const validation = validateApiKeyForProvider(provider, apiKey);
|
|
326
367
|
if (validation !== true) {
|
|
327
368
|
console.error(`Error: ${validation}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA4BA;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlE;AA6CD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,UAAO,GACf,OAAO,CAAC,IAAI,CAAC,CA2Df;AAyBD,wBAAgB,qBAAqB,IAAI,OAAO,CAK/C;AAID,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,UAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAWjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAM/D;AAKD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB;AAsCD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW/D;AAED,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuBhE;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,cAAc,IAAI,YAAY,CAU7C;AAiCD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA4BA;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlE;AA6CD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,UAAO,GACf,OAAO,CAAC,IAAI,CAAC,CA2Df;AAyBD,wBAAgB,qBAAqB,IAAI,OAAO,CAK/C;AAID,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,UAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAWjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAM/D;AAKD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB;AAsCD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW/D;AAED,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuBhE;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,cAAc,IAAI,YAAY,CAU7C;AAiCD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwZ5F"}
|
package/dist/commands/init.js
CHANGED
|
@@ -30,7 +30,7 @@ export async function backupStudioDir(cwd) {
|
|
|
30
30
|
await rename(studioDir, backupDir);
|
|
31
31
|
return backupDir;
|
|
32
32
|
}
|
|
33
|
-
const GITIGNORE_ENTRIES = ['.studio/config.yaml', '.studio/runs/', '*.keymap.json'];
|
|
33
|
+
const GITIGNORE_ENTRIES = ['node_modules/', '.studio/config.yaml', '.studio/runs/', '*.keymap.json'];
|
|
34
34
|
const STUDIO_SUBDIRS = ['pipelines', 'agents', 'contracts', 'tools', 'inputs'];
|
|
35
35
|
/**
|
|
36
36
|
* Create or populate .studio/ with subdirs.
|
|
@@ -424,22 +424,34 @@ export async function initCommand(nameArg, options = {}) {
|
|
|
424
424
|
console.log(chalk.green(` ✓ Backed up to ${backupName}/`));
|
|
425
425
|
console.log('');
|
|
426
426
|
}
|
|
427
|
+
// ── Auto-detect provider when --yes is given without --provider ───
|
|
428
|
+
// Allows: studio init --template blank --yes (picks ollama if available)
|
|
429
|
+
let resolvedProvider = options.provider;
|
|
430
|
+
if (!resolvedProvider && options.yes && options.template) {
|
|
431
|
+
if (detectOllamaInstalled()) {
|
|
432
|
+
resolvedProvider = 'ollama';
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
console.error('Error: --provider is required (or install Ollama for auto-detection with --yes)');
|
|
436
|
+
process.exit(1);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
427
439
|
// ── Direct mode (all flags provided) vs Wizard ────────────────────
|
|
428
|
-
const isDirectMode = !!(options.template &&
|
|
440
|
+
const isDirectMode = !!(options.template && resolvedProvider);
|
|
429
441
|
if (isDirectMode) {
|
|
430
442
|
// Validate required flags
|
|
431
|
-
if (
|
|
443
|
+
if (resolvedProvider !== 'later' && resolvedProvider !== 'ollama' && !options.apiKey) {
|
|
432
444
|
console.error('Error: --api-key is required when --provider is not "later" or "ollama"');
|
|
433
445
|
process.exit(1);
|
|
434
446
|
}
|
|
435
|
-
if (
|
|
436
|
-
const validation = validateApiKeyFormat(
|
|
447
|
+
if (resolvedProvider !== 'later' && resolvedProvider !== 'ollama' && options.apiKey) {
|
|
448
|
+
const validation = validateApiKeyFormat(resolvedProvider, options.apiKey);
|
|
437
449
|
if (validation !== true) {
|
|
438
450
|
console.error(`Error: ${validation}`);
|
|
439
451
|
process.exit(1);
|
|
440
452
|
}
|
|
441
453
|
process.stdout.write('Validating API key...');
|
|
442
|
-
const result = await validateApiKeyLive(
|
|
454
|
+
const result = await validateApiKeyLive(resolvedProvider, options.apiKey);
|
|
443
455
|
if (result.status === 'valid') {
|
|
444
456
|
console.log(chalk.green(' ✓'));
|
|
445
457
|
}
|
|
@@ -459,10 +471,9 @@ export async function initCommand(nameArg, options = {}) {
|
|
|
459
471
|
({ gitInitialized, generatedFiles } = await generateFullApp(cwd, projectName, options.template, {
|
|
460
472
|
noTools: options.tools === false,
|
|
461
473
|
}));
|
|
462
|
-
if (
|
|
474
|
+
if (resolvedProvider !== 'later') {
|
|
463
475
|
const studioDir = resolve(cwd, '.studio');
|
|
464
|
-
|
|
465
|
-
await writeProviderToConfig(studioDir, options.provider, { apiKey: options.apiKey || undefined });
|
|
476
|
+
await writeProviderToConfig(studioDir, resolvedProvider, { apiKey: options.apiKey || undefined }, options.model);
|
|
466
477
|
}
|
|
467
478
|
spinner.stop();
|
|
468
479
|
}
|
|
@@ -486,7 +497,7 @@ export async function initCommand(nameArg, options = {}) {
|
|
|
486
497
|
console.log(chalk.bold('Done! Next steps:'));
|
|
487
498
|
console.log(` ${chalk.cyan('npm install')}`);
|
|
488
499
|
console.log(` ${chalk.cyan(`studio run ${firstPipeline} --input "..."`)}`);
|
|
489
|
-
if (
|
|
500
|
+
if (resolvedProvider === 'later') {
|
|
490
501
|
console.log('');
|
|
491
502
|
console.log('Set your provider first:');
|
|
492
503
|
console.log(` ${chalk.cyan('studio config set provider ollama')} # local, no API key`);
|