chutes-build 0.4.0 → 0.4.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/PRIVACY.md CHANGED
@@ -36,6 +36,8 @@ image/video decoding uses local image codecs and FFmpeg tools when installed,
36
36
  and audio uses `ffplay` or the operating system's default player. Preview work
37
37
  is bounded, off-thread, serialized, and deferred while inference is active. No
38
38
  remote preview, thumbnail, codec, waveform, or playback service is used.
39
+ Non-JSON media downloads stream through local temporary files and are removed
40
+ after persistence or failure; error and JSON bodies remain memory-bounded.
39
41
 
40
42
  ## Outbound connections
41
43
 
@@ -47,9 +49,9 @@ explicit hosted feature:
47
49
  | `model-router-ten.vercel.app` | default Chutes-compatible model routing | prompts, selected context/tool schemas, model inputs, Chutes API credential |
48
50
  | `llm.chutes.ai` | Chutes inference, model catalog, semantic memory, voice transcription, OCR, and vision | model requests and the selected inputs: prompts/context, memory chunks, audio, images, PDF pages, or sampled video frames; Chutes API credential |
49
51
  | `api.chutes.ai` | Chutes account and media APIs | account requests, media parameters and user-selected media assets; Chutes API credential |
50
- | `api.chutes.ai/idp` | OAuth sign-in and refresh | authorization code or refresh token, PKCE verifier, public/custom client ID, and a custom client secret only when configured |
52
+ | `api.chutes.ai/idp` | OAuth sign-in and refresh | authorization code or refresh token, PKCE verifier, registered client ID, and a client secret only when configured |
51
53
  | `chutes.ai/docs`, `chutes.ai/news` | mandatory primary-source verification for Chutes topics | requested official page URLs; no Chutes API credential |
52
- | `context7.com` | current library documentation | library names and documentation queries; credentials and known secrets are rejected |
54
+ | `context7.com` | current library documentation | library names and documentation queries; known secrets are rejected and an optional Context7 key is sent only to the official HTTPS service |
53
55
  | DuckDuckGo or Brave Search | web search | search query; Brave receives only its dedicated key |
54
56
  | User-selected web pages | web fetch/browser automation | normal HTTP/browser traffic required by the requested action |
55
57
  | User-configured MCP servers/plugins | external tools | data required by the selected tool and its own configuration |
@@ -61,6 +63,12 @@ browser automation. Custom inference models must declare a dedicated
61
63
  `api_key`/`env_key`; a custom model-catalog endpoint uses
62
64
  `CHUTES_MODELS_API_KEY`.
63
65
 
66
+ Local endpoint overrides are rejected unless they pass the official-host HTTPS
67
+ policy or the operator explicitly enables the development-only insecure
68
+ endpoint opt-in. That opt-in relaxes URL/DNS trust for a controlled local fork;
69
+ it does not attach ambient Chutes credentials to arbitrary custom models.
70
+ Likewise, a custom Context7 endpoint never receives `CONTEXT7_API_KEY`.
71
+
64
72
  Model catalog and account usage requests may run during startup after
65
73
  authentication. Prompts and repository content are not sent by those discovery
66
74
  requests. They leave the machine only in a model/tool request that needs them.
package/README.md CHANGED
@@ -1,57 +1,38 @@
1
1
  # Chutes Build
2
2
 
3
- **A privacy-first, open-source coding agent built for the [Chutes](https://chutes.ai) ecosystem.**
3
+ **A privacy-first, open-source coding agent built for the
4
+ [Chutes](https://chutes.ai) ecosystem.**
4
5
 
5
6
  [![CI](https://github.com/TheStreamCode/chutes-build/actions/workflows/ci.yml/badge.svg)](https://github.com/TheStreamCode/chutes-build/actions/workflows/ci.yml)
6
7
  [![npm version](https://img.shields.io/npm/v/chutes-build.svg)](https://www.npmjs.com/package/chutes-build)
7
8
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
8
9
 
9
- ![Chutes Build](assets/chutes/video/chutes-build-hero.gif)
10
+ Chutes Build combines a polished terminal interface, a production-grade agent
11
+ runtime, Chutes-native model routing, subagents, local memory, multimodal tools,
12
+ web research, and browser automation. Telemetry, remote trace upload, upstream
13
+ session sharing, and phone-home updates are disabled by product policy.
10
14
 
11
- One CLI, no compromises: an interactive terminal UI, a full coding agent
12
- runtime, native Chutes model routing, parallel subagents, multimodal
13
- generation, web research, browser automation, and local memory — with
14
- telemetry, remote trace upload, and phone-home update checks disabled.
15
+ ![Chutes Build terminal interface](assets/chutes/screenshot/chutes-build.png)
15
16
 
16
- ![Chutes Build terminal UI](assets/chutes/screenshot/chutes-build.png)
17
+ > **Development preview:** Chutes Build is under active development. Review
18
+ > commands and file changes before approving them, especially in unfamiliar
19
+ > repositories.
17
20
 
18
- > **Development preview:** the project is under active development. Build it
19
- > from source and review agent actions before approving changes.
21
+ ## Why Chutes Build
20
22
 
21
- ## Contents
22
-
23
- - [Highlights](#highlights)
24
- - [Quick start](#quick-start)
25
- - [Features](#features)
26
- - [Configuration](#configuration)
27
- - [CLI reference](#cli-reference)
28
- - [Privacy & security](#privacy--security)
29
- - [Project](#project)
30
-
31
- ## Highlights
32
-
33
- - 🔒 **Privacy by construction** — telemetry, remote error reporting, automatic
34
- update checks, remote trace upload, and upstream session sharing are all
35
- disabled at the product-policy level.
36
- - ⚡ **Chutes-native inference** — live model discovery, `Auto (Chutes Router)`
37
- as the default, and automatic fallback when a model is temporarily
38
- unavailable.
39
- - 🧭 **Advisor** — an on-demand reasoning agent that reviews plans, blockers,
40
- and completion claims without ever taking over the executor loop.
41
- - 🧩 **Subagent orchestration** — concurrent fan-out with isolated worktrees
42
- for real parallel decomposition, not just sequential delegation.
43
- - 🎨 **Multimodal, natively** — image, video, music, speech, and on-demand OCR,
44
- built directly into the Rust runtime instead of a bolted-on MCP process.
45
- - 🧠 **Hybrid memory & voice** — full-text plus semantic vector recall, and
46
- hold-to-record voice dictation, both on by default.
47
-
48
- See [Features](#features) below for the complete list.
23
+ | Principle | What it means |
24
+ | --- | --- |
25
+ | **Chutes-native** | Live model discovery, `Auto (Chutes Router)`, model-aware reasoning controls, account usage, OCR, voice, and media generation are integrated directly into the Rust runtime. |
26
+ | **Private by default** | Sessions, memory, traces, logs, configuration, and exports stay local. Cloud features run only when their documented provider call is needed. |
27
+ | **Built for real repositories** | Planning, permission controls, worktrees, MCP, skills, background tasks, advisor review, and parallel subagents share one coherent session model. |
28
+ | **Transparent fork** | Chutes-specific product code is separated from retained `grok-build` infrastructure, with documented upstream review and Apache-2.0 attribution. |
49
29
 
50
30
  ## Quick start
51
31
 
52
- ### Install with npm
32
+ ### Install
53
33
 
54
- Release builds install without a Rust toolchain:
34
+ The npm package selects the native binary for Windows, macOS, or Linux. A Rust
35
+ toolchain is not required.
55
36
 
56
37
  ```powershell
57
38
  npm install -g chutes-build
@@ -64,305 +45,158 @@ For one-off use:
64
45
  npx chutes-build
65
46
  ```
66
47
 
67
- The npm launcher selects a native binary for Windows, macOS, or Linux. It does
68
- not collect telemetry and does not download executables from an install script.
69
-
70
- ### Build from source
48
+ The launcher does not download executables from a lifecycle script.
71
49
 
72
- Prerequisites:
50
+ ### Authenticate
73
51
 
74
- - Rust stable (`rustup` is recommended)
75
- - Git
76
- - a platform C/C++ build toolchain supported by Rust
77
-
78
- Protocol Buffer tooling is vendored for normal builds; a separate `protoc`
79
- installation is not required.
52
+ An API key is the most reliable way to start. Create one in the Chutes
53
+ dashboard, then press `k` on the welcome screen, run `/apikey`, or store it
54
+ through the hidden-input CLI flow:
80
55
 
81
56
  ```powershell
82
- git clone https://github.com/TheStreamCode/chutes-build.git
83
- cd chutes-build
84
- cargo build -p chutes-build --release
57
+ chutes-build login
58
+ chutes-build
85
59
  ```
86
60
 
87
- The Windows executable is `target\release\chutes-build.exe`; on macOS and
88
- Linux it is `target/release/chutes-build`.
89
-
90
- ### First run
91
-
92
- Run `chutes-build` with no prior setup and log in from the welcome screen:
93
- press `l` for "Login with Chutes" (opens your browser) or `k` to paste a
94
- Chutes API key directly. `/login` reopens this choice at any time and
95
- `/apikey` jumps straight to the API-key prompt.
96
-
97
- To provide a key non-interactively instead, create one in Chutes and either
98
- expose it only to the current process:
61
+ For a process-local credential:
99
62
 
100
63
  ```powershell
101
64
  $env:CHUTES_API_KEY = "your-api-key"
102
65
  chutes-build
103
66
  ```
104
67
 
105
- or store it using the hidden-input login flow:
68
+ Browser-based OAuth with PKCE is available through `l` or `/login`. Chutes
69
+ OAuth applications may require registered client credentials; see
70
+ [Authentication](docs/getting-started.md#authentication) for the supported
71
+ fallbacks and environment variables.
72
+
73
+ ### Choose a model
74
+
75
+ `Auto (Chutes Router)` is the default when no model preference has been saved.
76
+ Use `/model` interactively or inspect the live catalog from the CLI:
106
77
 
107
78
  ```powershell
108
- chutes-build login
109
- chutes-build
79
+ chutes-build models
80
+ chutes-build models --json
81
+ chutes-build --model model-router
110
82
  ```
111
83
 
112
- `Auto (Chutes Router)` is the first entry in the model picker and the default
113
- when no preference has been saved. Select a concrete model with `/model` or
114
- `chutes-build --model <model-id>`. Inspect the resolved catalog with
115
- `chutes-build models` or machine-readable `chutes-build models --json`.
116
-
117
- ## Features
118
-
119
- ### Agent & coding
120
-
121
- - **Coding agent runtime:** repository inspection, edits, shell commands,
122
- planning, goals, MCP servers, skills, sessions, worktrees, and permission
123
- controls inherited from the mature upstream runtime.
124
- - **Local session lifecycle:** list, search, resume, fork, export, trace, and
125
- delete sessions without a remote registry. Machine-readable list/search
126
- output is available with `--json`; destructive commands require confirmation
127
- unless `--yes` is supplied.
128
- - **Advisor:** a read-only, on-demand reasoning agent that reviews plans,
129
- difficult decisions, blockers, and completion claims without taking over the
130
- executor loop. Reasons at maximum effort by default. `/advisor on|off`
131
- toggles it; `/advisor <model>` pins a specific model (e.g. your largest or
132
- highest-tier available one — Chutes' catalog carries no price/size metadata
133
- to pick one automatically); `/advisor default` clears the pin.
134
- - **Subagent orchestration:** foreground and background workers, concurrent
135
- fan-out, multi-worker waits, bounded nesting, and isolated worktrees. The
136
- `chutes-build-orchestrator` preset is tuned for parallel decomposition.
137
-
138
- ### Chutes integration
139
-
140
- - **Chutes-native inference:** API-key authentication, live model discovery,
141
- `Auto (Chutes Router)` as the first model choice, configurable fallback
142
- chains, and automatic retry when a selected model is temporarily unavailable.
143
- - **Chutes account:** read-only subscription, quota, and usage access through
144
- `get_chutes_usage`, a compact plan/quota indicator in the TUI, and detailed
145
- `/usage` output. Per-model statistics remain disabled unless requested.
146
- - **Chutes media:** live discovery and invocation for image generation and
147
- editing, video, music, speech, and other supported Chutes media models through
148
- `list_media_models`, `describe_media_model`, and `generate_media`. This is the
149
- native Rust integration of the `chutes-media-mcp` workflow, so Chutes Build
150
- does not need to spawn a separate Node/MCP process for its core media tools.
151
- Generated output crosses the tool/ACP/TUI boundary as a typed artifact:
152
- images use bounded lazy previews, videos use a two-frame rolling decoder,
153
- and music/speech expose local pause/resume, seek, volume, duration, and
154
- waveform controls with native-player fallback. Media work starts only while
155
- inference is idle, never autoplays, and stays off the TUI render thread.
156
- - **Capability routing:** image inputs stay with the selected model when it
157
- supports vision and are otherwise delegated to a vision-capable Chutes route.
158
- - **On-demand OCR:** the `ocr_page` tool extracts text verbatim from a single
159
- image or PDF page via a dedicated Chutes vision model, independent of the
160
- active chat model's vision support. Returns extracted text only — the image
161
- itself is never added to the conversation.
162
-
163
- ### Research & tools
164
-
165
- - **Current coding documentation:** Context7 search and documentation tools are
166
- built in and avoid sending credentials or known secrets.
167
- - **Official Chutes research:** before answering Chutes-specific questions, the
168
- main agent and subagents consult both the official
169
- [documentation](https://chutes.ai/docs) and [news](https://chutes.ai/news),
170
- treating directly relevant official pages as primary authority.
171
- - **Research and browser tools:** native web search (DuckDuckGo by default,
172
- optionally Brave) plus agentic Chrome/Edge control through a local DevTools
173
- connection and an isolated temporary browser profile. Browser actions accept
174
- either CSS selectors or the numeric element indices shown by snapshots.
175
-
176
- ### Memory & voice
177
-
178
- - **Local memory:** Chutes Build maintains a secret-filtered `memories.md` file
179
- and can be launched with `--no-memory` when a stateless session is preferred.
180
- Recall is hybrid by default — full-text search combined with semantic vector
181
- search against a built-in Chutes-hosted embedding model. Semantic recall
182
- sends the selected memory chunks to that Chutes embedding endpoint; use
183
- `--no-memory` when this is not appropriate.
184
- - **Voice input:** hold-to-record dictation transcribes speech into the prompt
185
- box. Enabled by default; activation is always manual (mic icon, `/voice`, or
186
- Ctrl+Space) — Chutes Build never records without an explicit press.
187
- - **Time awareness and wellness:** the agent receives the local date, time, and
188
- timezone and can suggest a break after long or late sessions.
189
-
190
- ### Privacy by construction
191
-
192
- Telemetry, remote error reporting, automatic update checks, remote trace
193
- upload, upstream session sharing, and remote workspace exposure are disabled.
194
- Updates are installed manually from npm or a release artifact. See
195
- [Privacy & security](#privacy--security) below for the full data boundary.
196
-
197
- ## Configuration
198
-
199
- ### State root
200
-
201
- User state defaults to `~/.chutes-build`. Set `CHUTES_BUILD_HOME` to relocate
202
- the complete state tree, including configuration, credentials, sessions, logs,
203
- trace exports, plugins, user roles/personas, and the managed bundled-agent
204
- cache. Chutes Build does not combine roles or bundle data from the default home
205
- with a custom state root.
206
-
207
- Project-scoped `.chutes-build` directories remain inside their repositories and
208
- continue to take precedence over user and bundled agent definitions.
209
-
210
- ### Model selection, reasoning, and routing
211
-
212
- Auto sends `model-router` requests to the Chutes router endpoint, allowing the
213
- service to select a model for the task and handle cold or unavailable capacity.
214
- A concrete model remains pinned unless a qualifying pre-stream failure advances
215
- the explicit fallback chain.
216
-
217
- Reasoning is model-specific. The model picker exposes only the controls
218
- supported by the exact deployed generation: binary `Instant`/`Thinking` modes,
219
- GLM-5.2's three modes, or no selector for fixed and non-reasoning models. Use
220
- `/effort` interactively or `--effort <option-id>` in headless invocations. The
221
- published model default is preserved unless the user explicitly changes it.
222
-
223
- See [Model reasoning compatibility](docs/model-reasoning-compatibility.md) for
224
- the current model matrix and forward-compatibility rules.
84
+ ## What is included
225
85
 
226
- ```powershell
227
- # Ordered comma-separated fallback chain. model-router is appended as the
228
- # final Chutes fallback unless strict mode is enabled.
229
- $env:CHUTES_FALLBACK_MODELS = "model-a,model-b"
86
+ | Area | Capabilities |
87
+ | --- | --- |
88
+ | **Agent runtime** | Repository inspection, edits, shell commands, plans, goals, permissions, sandbox profiles, local sessions, worktrees, and structured headless output. |
89
+ | **Model routing** | Live Chutes catalog, automatic routing, explicit fallback chains, exact-generation reasoning controls, and vision-capability delegation. |
90
+ | **Orchestration** | Read-only advisor, foreground/background subagents, concurrent fan-out, bounded nesting, grouped waits, and isolated worktrees. |
91
+ | **Knowledge** | Context7 library documentation, official Chutes source checks, web search, local full-text memory, and Chutes-hosted semantic recall. |
92
+ | **Multimodal** | Image and PDF OCR, image/video understanding, voice dictation, and typed image, video, music, and speech generation artifacts. |
93
+ | **Automation** | MCP servers, plugins, skills, background tasks, and isolated Chrome/Edge control through local DevTools. |
230
94
 
231
- # Never change the selected model automatically.
232
- $env:CHUTES_STRICT_MODEL = "1"
233
- ```
95
+ Generated media is streamed to bounded temporary storage and persisted with
96
+ create-new semantics. Inline previews remain local; unsupported terminals use
97
+ safe text cards and native-player fallbacks.
98
+
99
+ ## Privacy contract
100
+
101
+ | Boundary | Policy |
102
+ | --- | --- |
103
+ | **Local state** | Configuration, credentials, sessions, memory, logs, traces, exports, plugins, and agent definitions live under `~/.chutes-build` or `CHUTES_BUILD_HOME`. |
104
+ | **Hosted inference** | Prompts and selected context leave the machine only for the Chutes model request that needs them. Semantic memory sends selected memory chunks to the configured Chutes embedding route. |
105
+ | **Explicit tools** | OCR, voice, media, web, browser, MCP, and plugin actions send only the inputs required by the selected operation and provider. |
106
+ | **Disabled surfaces** | Product telemetry, remote error reporting, automatic trace upload, upstream session sharing/search, remote workspace exposure, and automatic updates cannot be enabled through normal configuration. |
107
+ | **Credentials** | Ambient Chutes credentials are restricted to allowlisted official HTTPS hosts. Custom endpoints require dedicated credentials and explicit trust configuration. |
108
+
109
+ Read [Privacy](PRIVACY.md) for the complete data-flow inventory and
110
+ [Security](SECURITY.md) for the threat boundaries and reporting process.
234
111
 
235
- Fallback happens only for transient availability/capability responses and only
236
- before response streaming begins. Chutes Build does not redirect requests or
237
- credentials to a non-Chutes inference endpoint.
238
-
239
- Ambient Chutes credentials are attached only to official Chutes/router
240
- endpoints. Custom inference models must declare their own `api_key` or
241
- `env_key`; a custom model-catalog endpoint uses the dedicated
242
- `CHUTES_MODELS_API_KEY`. Neither receives `CHUTES_API_KEY` or a cached Chutes
243
- session token implicitly.
244
-
245
- The inference client shares pooled HTTP connections, enables TCP no-delay, and
246
- forwards parsed SSE events without an application-level streaming buffer. Cold
247
- starts and model-side generation can still dominate latency. Auto is the
248
- recommended default when a particular model is not required. The client does
249
- not apply reduced-quality generation settings; target selection and quality
250
- remain router decisions.
251
- Selecting `Instant` can reduce reasoning latency, but it intentionally changes
252
- the model's reasoning behavior and is never enabled silently.
253
-
254
- ### Account plan and quota
255
-
256
- When authenticated, Chutes Build fetches subscription usage, plan metadata, and
257
- quota data concurrently. The TUI status bar shows the plan plus the rolling
258
- four-hour and monthly percentages when available; its color follows the most
259
- constrained active window and changes at 80% and 100%. Click the indicator or
260
- run `/usage` for every active window, percentage, and reset time. If aggregate
261
- quota usage is unavailable, the client falls back concurrently to the
262
- documented per-chute quota endpoints.
263
-
264
- ### OAuth login (Sign in with Chutes)
265
-
266
- Pressing `l` at the welcome screen (or `/login`) runs a standard OAuth 2.0 +
267
- PKCE flow against Chutes' own identity provider. The built-in app is a public
268
- client and does not bundle or require a client secret. Custom confidential
269
- clients can be configured under
270
- [Chutes' developer settings](https://chutes.ai/app/api):
112
+ ## Common workflows
113
+
114
+ Start an interactive session in the current repository:
271
115
 
272
116
  ```powershell
273
- $env:CHUTES_BUILD_OAUTH2_CLIENT_ID = "cid_..."
274
- $env:CHUTES_BUILD_OAUTH2_CLIENT_SECRET = "csc_..." # only if your app has one
275
117
  chutes-build
276
118
  ```
277
119
 
278
- Both variables are read from the environment and are never written to
279
- `config.toml` or any other file on disk. The custom secret is included in both
280
- the initial token exchange and refresh requests. `k` / `/apikey` (pasting a
281
- Chutes API key directly) needs no app registration.
120
+ Run one headless task:
282
121
 
283
- ### Optional web and browser configuration
122
+ ```powershell
123
+ chutes-build -p "Review this repository and report only actionable findings"
124
+ ```
284
125
 
285
- Web search uses DuckDuckGo without a dedicated key. For Brave Search:
126
+ Create an isolated worktree session:
286
127
 
287
128
  ```powershell
288
- $env:BRAVE_SEARCH_API_KEY = "your-brave-key"
289
- $env:CHUTES_WEB_SEARCH_PROVIDER = "brave"
129
+ chutes-build --worktree feature-auth
290
130
  ```
291
131
 
292
- Browser automation discovers Chrome or Edge automatically. Overrides:
132
+ Resume the latest session for the current directory:
293
133
 
294
134
  ```powershell
295
- $env:CHUTES_BROWSER_EXECUTABLE = "C:\Program Files\Google\Chrome\Application\chrome.exe"
296
- $env:CHUTES_BROWSER_HEADFUL = "1" # optional; default is headless
135
+ chutes-build --continue
297
136
  ```
298
137
 
299
- Browser screenshots may only be written inside the active workspace. The
300
- automation profile is temporary, isolated from the user's normal browser
301
- profile, and launched with sync and background-update features disabled.
138
+ Use `chutes-build --help` for the installed version's authoritative option
139
+ set. See the [CLI reference](docs/cli-reference.md) and
140
+ [slash-command reference](docs/slash-commands.md) for the maintained overview.
302
141
 
303
- Video attachments are sampled locally with FFmpeg and routed as representative
304
- frames through the same Chutes vision path. Set `CHUTES_FFMPEG_EXECUTABLE` when
305
- FFmpeg is not discoverable on `PATH`; restart Chutes Build after installing or
306
- changing FFmpeg so the per-process capability cache is refreshed.
142
+ ## Documentation
307
143
 
308
- Media behavior can be tuned with the compatible `chutes-media-mcp` variables
309
- `CHUTES_OUTPUT_DIR`, `CHUTES_WARMUP`, `CHUTES_COLD_START_RETRIES`,
310
- `CHUTES_ALLOW_UNKNOWN_PARAMS`, and `CHUTES_PROVENANCE`. Downloaded media is
311
- limited to 512 MiB by default (`CHUTES_MAX_MEDIA_BYTES`, hard ceiling 2 GiB),
312
- while workspace inputs are limited to 64 MiB by default
313
- (`CHUTES_MAX_INPUT_ASSET_BYTES`, hard ceiling 512 MiB).
144
+ - [Getting started](docs/getting-started.md) — installation, authentication,
145
+ first session, models, and troubleshooting.
146
+ - [Configuration](docs/configuration.md) — state paths, routing, credentials,
147
+ web/browser options, media limits, and development-only endpoint overrides.
148
+ - [CLI reference](docs/cli-reference.md) and
149
+ [slash commands](docs/slash-commands.md) — public command surfaces.
150
+ - [Architecture](docs/ARCHITECTURE.md) — runtime layers and ownership map.
151
+ - [Privacy](PRIVACY.md), [security policy](SECURITY.md), and
152
+ [security review](docs/security-review.md) — operational trust boundaries.
153
+ - [Documentation index](docs/README.md) — complete user, maintainer, and design
154
+ reference map.
314
155
 
315
- ## CLI reference
156
+ The concise guides available through `/docs` are embedded from
157
+ `crates/codegen/xai-grok-pager/docs/user-guide/`.
316
158
 
317
- The complete command and option reference is in
318
- [docs/cli-reference.md](docs/cli-reference.md). Interactive slash commands are
319
- documented in [docs/slash-commands.md](docs/slash-commands.md). Installed
320
- binaries remain authoritative for the exact version: use
321
- `chutes-build --help` and `chutes-build <command> --help`.
159
+ ## Build from source
322
160
 
323
- ## Privacy & security
161
+ Prerequisites are Rust stable, Git, and the native C/C++ toolchain required by
162
+ Rust on your platform. Protocol Buffer tooling is vendored for normal builds.
324
163
 
325
- ### Local data
164
+ ```powershell
165
+ git clone https://github.com/TheStreamCode/chutes-build.git
166
+ cd chutes-build
167
+ cargo build -p chutes-build --release
168
+ ```
326
169
 
327
- User-level state defaults to `~/.chutes-build` or the directory set in
328
- `CHUTES_BUILD_HOME`. Project memory is stored in `memories.md`. Configuration,
329
- sessions, logs, exports, credentials, plugins, user roles/personas, and bundled
330
- agent definitions remain local. Prompts, selected repository content, memory
331
- embeddings, voice recordings, OCR/media inputs, and browser traffic leave the
332
- machine only when their corresponding hosted feature is invoked.
170
+ The executable is `target\release\chutes-build.exe` on Windows and
171
+ `target/release/chutes-build` on macOS/Linux.
333
172
 
334
- See [PRIVACY.md](PRIVACY.md) for the exact network and data boundaries.
173
+ ### Repository map
335
174
 
336
- ### Security model
175
+ | Path | Ownership |
176
+ | --- | --- |
177
+ | `crates/chutes-build-core/` | Chutes routing, endpoint policy, catalog, reasoning, account, media, privacy, and product policy. |
178
+ | `crates/codegen/` | Retained and adapted upstream runtime crates. Keep crate names stable to make upstream review practical. |
179
+ | `npm/` | Native launcher, platform-package assembly, and npm verification. |
180
+ | `docs/` | Public technical references, maintainer procedures, and design records. |
181
+ | `.github/workflows/` | CI, dependency review, upstream monitoring, and release packaging. |
182
+ | `prod/` and `third_party/` | Shared protocol sources and retained attribution/material from upstream. |
337
183
 
338
- Chutes Build is an agent capable of reading files, running commands, editing
339
- code, and controlling an isolated browser. Use it only in repositories you
340
- trust, review proposed commands, and keep the default permission checks enabled
341
- for sensitive work. Never place API keys in prompts, source files, or committed
342
- configuration. See the [security review](docs/security-review.md) for release
343
- controls, trust boundaries, and tracked dependency exceptions.
184
+ The root `Cargo.toml` is generated and treated as read-only. Make dependency
185
+ changes in the owning crate manifest or generator source instead of manually
186
+ reorganizing the generated workspace.
344
187
 
345
188
  ## Project
346
189
 
347
- ### Provenance
348
-
349
190
  Chutes Build is a substantially modified fork of
350
- [`xai-org/grok-build`](https://github.com/xai-org/grok-build). The upstream
351
- project is licensed under Apache License 2.0; this fork retains the upstream
352
- license and third-party notices.
353
-
354
- See [NOTICE](NOTICE), [LICENSE](LICENSE), and
355
- [THIRD-PARTY-NOTICES](THIRD-PARTY-NOTICES) for attribution.
356
-
357
- New upstream releases and commits are detected by a read-only scheduled check
358
- and reviewed through the documented [upstream synchronization
359
- procedure](docs/upstream-sync.md); upstream changes are never merged or released
360
- automatically.
361
-
362
- ### Contributing
191
+ [`xai-org/grok-build`](https://github.com/xai-org/grok-build). Upstream changes
192
+ are reviewed and ported selectively; they are never merged or released
193
+ automatically. See [Upstream synchronization](docs/upstream-sync.md).
363
194
 
364
195
  Issues and focused pull requests are welcome. Read
365
- [CONTRIBUTING.md](CONTRIBUTING.md), [SECURITY.md](SECURITY.md), and
366
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) before contributing.
196
+ [CONTRIBUTING.md](CONTRIBUTING.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md),
197
+ and [SECURITY.md](SECURITY.md) before contributing.
198
+
199
+ Apache-2.0 licensing and attribution are documented in [LICENSE](LICENSE),
200
+ [NOTICE](NOTICE), and [THIRD-PARTY-NOTICES](THIRD-PARTY-NOTICES).
367
201
 
368
202
  Copyright 2026 Michael Gasperini (Mikesoft).
package/npm/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # npm distribution
1
+ # npm distribution and native packages
2
2
 
3
3
  The public `chutes-build` package is a dependency-free Node.js launcher. Its
4
4
  optional dependencies contain the native Rust executable for each supported
@@ -11,6 +11,9 @@ Supported release targets:
11
11
  - macOS x64 and ARM64
12
12
  - Linux glibc x64 and ARM64
13
13
 
14
+ For installation and first-run instructions, see the repository
15
+ [`README`](../README.md) and [getting-started guide](../docs/getting-started.md).
16
+
14
17
  ## Prepare a platform package
15
18
 
16
19
  Build the release executable for the target first, then stage its npm package:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "chutes-build",
3
- "version": "0.4.0",
4
- "description": "Privacy-first coding agent optimized for the Chutes ecosystem",
3
+ "version": "0.4.1",
4
+ "description": "Privacy-first, open-source coding agent for the Chutes ecosystem",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Michael Gasperini (Mikesoft)",
7
7
  "homepage": "https://github.com/TheStreamCode/chutes-build#readme",
@@ -34,17 +34,25 @@
34
34
  "verify:release": "node npm/scripts/verify-release.mjs"
35
35
  },
36
36
  "optionalDependencies": {
37
- "chutes-build-darwin-arm64": "0.4.0",
38
- "chutes-build-darwin-x64": "0.4.0",
39
- "chutes-build-linux-arm64-gnu": "0.4.0",
40
- "chutes-build-linux-x64-gnu": "0.4.0",
41
- "chutes-build-win32-arm64": "0.4.0",
42
- "chutes-build-win32-x64": "0.4.0"
37
+ "chutes-build-darwin-arm64": "0.4.1",
38
+ "chutes-build-darwin-x64": "0.4.1",
39
+ "chutes-build-linux-arm64-gnu": "0.4.1",
40
+ "chutes-build-linux-x64-gnu": "0.4.1",
41
+ "chutes-build-win32-arm64": "0.4.1",
42
+ "chutes-build-win32-x64": "0.4.1"
43
43
  },
44
44
  "keywords": [
45
45
  "ai",
46
+ "ai-agents",
46
47
  "chutes",
47
48
  "cli",
48
- "coding-agent"
49
+ "coding-agent",
50
+ "developer-tools",
51
+ "mcp",
52
+ "multimodal",
53
+ "privacy",
54
+ "rust",
55
+ "terminal",
56
+ "tui"
49
57
  ]
50
58
  }