chutes-build 0.3.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.
Files changed (4) hide show
  1. package/PRIVACY.md +48 -13
  2. package/README.md +125 -236
  3. package/npm/README.md +4 -1
  4. package/package.json +17 -9
package/PRIVACY.md CHANGED
@@ -8,13 +8,18 @@ sessions. There is no hidden opt-in or installation identifier.
8
8
 
9
9
  The CLI may store configuration, an encrypted or OS-protected credential entry
10
10
  where supported, sessions, logs, local exports, and user memory under
11
- `~/.chutes-build` (or `CHUTES_BUILD_HOME`). Project memory is maintained in
12
- `memories.md`. Known secret formats are filtered before memory writes, but users
13
- should still avoid entering secrets into prompts.
11
+ `~/.chutes-build` (or `CHUTES_BUILD_HOME`). Plugins, user roles/personas, and
12
+ managed bundled-agent definitions use that same root; setting
13
+ `CHUTES_BUILD_HOME` does not fall back to those resources in the default home.
14
+ Project memory is maintained in `memories.md`. Known secret formats are filtered
15
+ before memory writes, but users should still avoid entering secrets into
16
+ prompts.
14
17
 
15
18
  `chutes-build trace` always creates a local archive. Remote session sharing and
16
- upstream managed configuration commands are disabled. Automatic update checks
17
- are disabled.
19
+ search, remote workspace exposure, upstream managed configuration commands, and
20
+ automatic update checks are disabled. Session storage is forced to local mode
21
+ even if inherited write-back settings are present. Updates are installed
22
+ manually.
18
23
 
19
24
  Sampling diagnostics are disabled by default. When explicitly enabled with
20
25
  `--log-sampling` or `CHUTES_BUILD_LOG_SAMPLING=1`, the local
@@ -31,25 +36,49 @@ image/video decoding uses local image codecs and FFmpeg tools when installed,
31
36
  and audio uses `ffplay` or the operating system's default player. Preview work
32
37
  is bounded, off-thread, serialized, and deferred while inference is active. No
33
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.
34
41
 
35
42
  ## Outbound connections
36
43
 
37
- Connections occur only when required by an explicit feature:
44
+ Connections occur when required by startup model/account discovery or an
45
+ explicit hosted feature:
38
46
 
39
47
  | Destination | Purpose | Data sent |
40
48
  | --- | --- | --- |
41
- | `model-router-ten.vercel.app` | default Chutes-compatible model routing | prompts, selected tool schemas, model responses, Chutes API credential |
42
- | `llm.chutes.ai` | Chutes inference and model catalog | prompts/model requests and Chutes API credential |
43
- | `api.chutes.ai` | Chutes account and media APIs | requested media parameters/assets and Chutes API credential |
49
+ | `model-router-ten.vercel.app` | default Chutes-compatible model routing | prompts, selected context/tool schemas, model inputs, Chutes API credential |
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 |
51
+ | `api.chutes.ai` | Chutes account and media APIs | account requests, media parameters and user-selected media assets; Chutes API credential |
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 |
44
53
  | `chutes.ai/docs`, `chutes.ai/news` | mandatory primary-source verification for Chutes topics | requested official page URLs; no Chutes API credential |
45
- | `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 |
46
55
  | DuckDuckGo or Brave Search | web search | search query; Brave receives only its dedicated key |
47
56
  | User-selected web pages | web fetch/browser automation | normal HTTP/browser traffic required by the requested action |
48
57
  | User-configured MCP servers/plugins | external tools | data required by the selected tool and its own configuration |
49
58
 
50
- The Chutes API credential is accepted only for allowlisted Chutes and router
51
- hosts. It is never reused for web search, Context7, arbitrary websites, MCP
52
- servers, or browser automation.
59
+ The ambient Chutes API credential and cached Chutes session token are accepted
60
+ only for allowlisted HTTPS Chutes and router hosts. They are never reused for a
61
+ custom endpoint, web search, Context7, arbitrary websites, MCP servers, or
62
+ browser automation. Custom inference models must declare a dedicated
63
+ `api_key`/`env_key`; a custom model-catalog endpoint uses
64
+ `CHUTES_MODELS_API_KEY`.
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
+
72
+ Model catalog and account usage requests may run during startup after
73
+ authentication. Prompts and repository content are not sent by those discovery
74
+ requests. They leave the machine only in a model/tool request that needs them.
75
+
76
+ Semantic memory is local at rest, but hybrid recall uses a Chutes-hosted
77
+ embedding model and therefore sends the selected memory text chunks to Chutes.
78
+ Use `--no-memory` to disable both memory recall and writes for that session.
79
+ Voice capture is manual and sends the recorded audio only after activation.
80
+ OCR, vision, video analysis, and media generation send only the inputs selected
81
+ for that operation.
53
82
 
54
83
  For Chutes research, the agent prefers direct official pages and indexes over a
55
84
  broad search query. Search and page requests must not include credentials,
@@ -67,6 +96,12 @@ Browser actions can still disclose data to websites the user asks the agent to
67
96
  visit. Review navigation, form submissions, uploads, and authenticated actions
68
97
  before approval.
69
98
 
99
+ `chutes-build mcp list --json` intentionally reports configuration structure,
100
+ not credential material: environment/header values and URL credentials, query,
101
+ and fragment components are redacted. MCP servers and plugins still receive
102
+ the data required by tools the user enables, so their own privacy policies
103
+ apply.
104
+
70
105
  ## Disabling stateful features
71
106
 
72
107
  - Start with `--no-memory` to disable agent memory for a session.
package/README.md CHANGED
@@ -1,56 +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 off by default.
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
- - [Privacy & security](#privacy--security)
28
- - [Project](#project)
29
-
30
- ## Highlights
31
-
32
- - 🔒 **Privacy by construction** — telemetry, remote error reporting, automatic
33
- update checks, remote trace upload, and upstream session sharing are all
34
- disabled by default.
35
- - ⚡ **Chutes-native inference** — live model discovery, `Auto (Chutes Router)`
36
- as the default, and automatic fallback when a model is temporarily
37
- unavailable.
38
- - 🧭 **Advisor** — an on-demand reasoning agent that reviews plans, blockers,
39
- and completion claims without ever taking over the executor loop.
40
- - 🧩 **Subagent orchestration** — concurrent fan-out with isolated worktrees
41
- for real parallel decomposition, not just sequential delegation.
42
- - 🎨 **Multimodal, natively** — image, video, music, speech, and on-demand OCR,
43
- built directly into the Rust runtime instead of a bolted-on MCP process.
44
- - 🧠 **Hybrid memory & voice** — full-text plus semantic vector recall, and
45
- hold-to-record voice dictation, both on by default.
46
-
47
- 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. |
48
29
 
49
30
  ## Quick start
50
31
 
51
- ### Install with npm
32
+ ### Install
52
33
 
53
- 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.
54
36
 
55
37
  ```powershell
56
38
  npm install -g chutes-build
@@ -63,251 +45,158 @@ For one-off use:
63
45
  npx chutes-build
64
46
  ```
65
47
 
66
- The npm launcher selects a native binary for Windows, macOS, or Linux. It does
67
- not collect telemetry and does not download executables from an install script.
68
-
69
- ### Build from source
48
+ The launcher does not download executables from a lifecycle script.
70
49
 
71
- Prerequisites:
50
+ ### Authenticate
72
51
 
73
- - Rust stable (`rustup` is recommended)
74
- - Git
75
- - a platform C/C++ build toolchain supported by Rust
76
-
77
- Protocol Buffer tooling is vendored for normal builds; a separate `protoc`
78
- 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:
79
55
 
80
56
  ```powershell
81
- git clone https://github.com/TheStreamCode/chutes-build.git
82
- cd chutes-build
83
- cargo build -p chutes-build --release
57
+ chutes-build login
58
+ chutes-build
84
59
  ```
85
60
 
86
- The Windows executable is `target\release\chutes-build.exe`; on macOS and
87
- Linux it is `target/release/chutes-build`.
88
-
89
- ### First run
90
-
91
- Run `chutes-build` with no prior setup and log in from the welcome screen:
92
- press `l` for "Login with Chutes" (opens your browser) or `k` to paste a
93
- Chutes API key directly. `/login` reopens this choice at any time and
94
- `/apikey` jumps straight to the API-key prompt.
95
-
96
- To provide a key non-interactively instead, create one in Chutes and either
97
- expose it only to the current process:
61
+ For a process-local credential:
98
62
 
99
63
  ```powershell
100
64
  $env:CHUTES_API_KEY = "your-api-key"
101
65
  chutes-build
102
66
  ```
103
67
 
104
- 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:
105
77
 
106
78
  ```powershell
107
- chutes-build login
108
- chutes-build
79
+ chutes-build models
80
+ chutes-build models --json
81
+ chutes-build --model model-router
109
82
  ```
110
83
 
111
- `Auto (Chutes Router)` is the first entry in the model picker and the default
112
- when no preference has been saved. Select a concrete model with `/model` or
113
- `chutes-build --model <model-id>`. Inspect the resolved catalog with
114
- `chutes-build models`.
115
-
116
- ## Features
117
-
118
- ### Agent & coding
119
-
120
- - **Coding agent runtime:** repository inspection, edits, shell commands,
121
- planning, goals, MCP servers, skills, sessions, worktrees, and permission
122
- controls inherited from the mature upstream runtime.
123
- - **Advisor:** a read-only, on-demand reasoning agent that reviews plans,
124
- difficult decisions, blockers, and completion claims without taking over the
125
- executor loop. Reasons at maximum effort by default. `/advisor on|off`
126
- toggles it; `/advisor <model>` pins a specific model (e.g. your largest or
127
- highest-tier available one — Chutes' catalog carries no price/size metadata
128
- to pick one automatically); `/advisor default` clears the pin.
129
- - **Subagent orchestration:** foreground and background workers, concurrent
130
- fan-out, multi-worker waits, bounded nesting, and isolated worktrees. The
131
- `chutes-build-orchestrator` preset is tuned for parallel decomposition.
132
-
133
- ### Chutes integration
134
-
135
- - **Chutes-native inference:** API-key authentication, live model discovery,
136
- `Auto (Chutes Router)` as the first model choice, configurable fallback
137
- chains, and automatic retry when a selected model is temporarily unavailable.
138
- - **Chutes account:** read-only subscription, quota, and usage access through
139
- `get_chutes_usage`, a compact plan/quota indicator in the TUI, and detailed
140
- `/usage` output. Per-model statistics remain disabled unless requested.
141
- - **Chutes media:** live discovery and invocation for image generation and
142
- editing, video, music, speech, and other supported Chutes media models through
143
- `list_media_models`, `describe_media_model`, and `generate_media`. This is the
144
- native Rust integration of the `chutes-media-mcp` workflow, so Chutes Build
145
- does not need to spawn a separate Node/MCP process for its core media tools.
146
- Generated output crosses the tool/ACP/TUI boundary as a typed artifact:
147
- images use bounded lazy previews, videos use a two-frame rolling decoder,
148
- and music/speech expose local pause/resume, seek, volume, duration, and
149
- waveform controls with native-player fallback. Media work starts only while
150
- inference is idle, never autoplays, and stays off the TUI render thread.
151
- - **Capability routing:** image inputs stay with the selected model when it
152
- supports vision and are otherwise delegated to a vision-capable Chutes route.
153
- - **On-demand OCR:** the `ocr_page` tool extracts text verbatim from a single
154
- image or PDF page via a dedicated Chutes vision model, independent of the
155
- active chat model's vision support. Returns extracted text only — the image
156
- itself is never added to the conversation.
157
-
158
- ### Research & tools
159
-
160
- - **Current coding documentation:** Context7 search and documentation tools are
161
- built in and avoid sending credentials or known secrets.
162
- - **Official Chutes research:** before answering Chutes-specific questions, the
163
- main agent and subagents consult both the official
164
- [documentation](https://chutes.ai/docs) and [news](https://chutes.ai/news),
165
- treating directly relevant official pages as primary authority.
166
- - **Research and browser tools:** native web search (DuckDuckGo by default,
167
- optionally Brave) plus agentic Chrome/Edge control through a local DevTools
168
- connection and an isolated temporary browser profile.
169
-
170
- ### Memory & voice
171
-
172
- - **Local memory:** Chutes Build maintains a secret-filtered `memories.md` file
173
- and can be launched with `--no-memory` when a stateless session is preferred.
174
- Recall is hybrid by default — full-text search combined with semantic vector
175
- search against a built-in Chutes-hosted embedding model.
176
- - **Voice input:** hold-to-record dictation transcribes speech into the prompt
177
- box. Enabled by default; activation is always manual (mic icon, `/voice`, or
178
- Ctrl+Space) — Chutes Build never records without an explicit press.
179
- - **Time awareness and wellness:** the agent receives the local date, time, and
180
- timezone and can suggest a break after long or late sessions.
181
-
182
- ### Privacy by construction
183
-
184
- Telemetry, remote error reporting, automatic update checks, remote trace
185
- upload, and upstream session sharing are disabled. See
186
- [Privacy & security](#privacy--security) below for the full data boundary.
187
-
188
- ## Configuration
189
-
190
- ### Model selection, reasoning, and routing
191
-
192
- Auto sends `model-router` requests to the Chutes router endpoint, allowing the
193
- service to select a model for the task and handle cold or unavailable capacity.
194
- A concrete model remains pinned unless a qualifying pre-stream failure advances
195
- the explicit fallback chain.
196
-
197
- Reasoning is model-specific. The model picker exposes only the controls
198
- supported by the exact deployed generation: binary `Instant`/`Thinking` modes,
199
- GLM-5.2's three modes, or no selector for fixed and non-reasoning models. Use
200
- `/effort` interactively or `--effort <option-id>` in headless invocations. The
201
- published model default is preserved unless the user explicitly changes it.
202
-
203
- See [Model reasoning compatibility](docs/model-reasoning-compatibility.md) for
204
- the current model matrix and forward-compatibility rules.
84
+ ## What is included
205
85
 
206
- ```powershell
207
- # Ordered comma-separated fallback chain. model-router is appended as the
208
- # final Chutes fallback unless strict mode is enabled.
209
- $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. |
210
94
 
211
- # Never change the selected model automatically.
212
- $env:CHUTES_STRICT_MODEL = "1"
213
- ```
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.
214
98
 
215
- Fallback happens only for transient availability/capability responses and only
216
- before response streaming begins. Chutes Build does not redirect requests or
217
- credentials to a non-Chutes inference endpoint.
99
+ ## Privacy contract
218
100
 
219
- The inference client shares pooled HTTP connections, enables TCP no-delay, and
220
- forwards parsed SSE events without an application-level streaming buffer. Cold
221
- starts and model-side generation can still dominate latency. Auto is the
222
- recommended default when a particular model is not required. The client does
223
- not apply reduced-quality generation settings; target selection and quality
224
- remain router decisions.
225
- Selecting `Instant` can reduce reasoning latency, but it intentionally changes
226
- the model's reasoning behavior and is never enabled silently.
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. |
227
108
 
228
- ### Account plan and quota
109
+ Read [Privacy](PRIVACY.md) for the complete data-flow inventory and
110
+ [Security](SECURITY.md) for the threat boundaries and reporting process.
229
111
 
230
- When authenticated, Chutes Build fetches subscription usage, plan metadata, and
231
- quota data concurrently. The TUI status bar shows the plan plus the rolling
232
- four-hour and monthly percentages when available; its color follows the most
233
- constrained active window and changes at 80% and 100%. Click the indicator or
234
- run `/usage` for every active window, percentage, and reset time. If aggregate
235
- quota usage is unavailable, the client falls back concurrently to the
236
- documented per-chute quota endpoints.
112
+ ## Common workflows
237
113
 
238
- ### Optional web and browser configuration
114
+ Start an interactive session in the current repository:
239
115
 
240
- Web search uses DuckDuckGo without a dedicated key. For Brave Search:
116
+ ```powershell
117
+ chutes-build
118
+ ```
119
+
120
+ Run one headless task:
241
121
 
242
122
  ```powershell
243
- $env:BRAVE_SEARCH_API_KEY = "your-brave-key"
244
- $env:CHUTES_WEB_SEARCH_PROVIDER = "brave"
123
+ chutes-build -p "Review this repository and report only actionable findings"
245
124
  ```
246
125
 
247
- Browser automation discovers Chrome or Edge automatically. Overrides:
126
+ Create an isolated worktree session:
248
127
 
249
128
  ```powershell
250
- $env:CHUTES_BROWSER_EXECUTABLE = "C:\Program Files\Google\Chrome\Application\chrome.exe"
251
- $env:CHUTES_BROWSER_HEADFUL = "1" # optional; default is headless
129
+ chutes-build --worktree feature-auth
252
130
  ```
253
131
 
254
- Browser screenshots may only be written inside the active workspace. The
255
- automation profile is temporary, isolated from the user's normal browser
256
- profile, and launched with sync and background-update features disabled.
132
+ Resume the latest session for the current directory:
257
133
 
258
- Video attachments are sampled locally with FFmpeg and routed as representative
259
- frames through the same Chutes vision path. Set `CHUTES_FFMPEG_EXECUTABLE` when
260
- FFmpeg is not discoverable on `PATH`; restart Chutes Build after installing or
261
- changing FFmpeg so the per-process capability cache is refreshed.
134
+ ```powershell
135
+ chutes-build --continue
136
+ ```
262
137
 
263
- Media behavior can be tuned with the compatible `chutes-media-mcp` variables
264
- `CHUTES_OUTPUT_DIR`, `CHUTES_WARMUP`, `CHUTES_COLD_START_RETRIES`,
265
- `CHUTES_ALLOW_UNKNOWN_PARAMS`, and `CHUTES_PROVENANCE`. Downloaded media is
266
- limited to 512 MiB by default (`CHUTES_MAX_MEDIA_BYTES`, hard ceiling 2 GiB),
267
- while workspace inputs are limited to 64 MiB by default
268
- (`CHUTES_MAX_INPUT_ASSET_BYTES`, hard ceiling 512 MiB).
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.
269
141
 
270
- ## Privacy & security
142
+ ## Documentation
271
143
 
272
- ### Local data
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.
273
155
 
274
- User-level state defaults to `~/.chutes-build` or the directory set in
275
- `CHUTES_BUILD_HOME`. Project memory is stored in `memories.md`. Configuration,
276
- sessions, logs, exports, and credentials remain local unless a tool action
277
- explicitly calls an external service.
156
+ The concise guides available through `/docs` are embedded from
157
+ `crates/codegen/xai-grok-pager/docs/user-guide/`.
278
158
 
279
- See [PRIVACY.md](PRIVACY.md) for the exact network and data boundaries.
159
+ ## Build from source
280
160
 
281
- ### Security model
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.
282
163
 
283
- Chutes Build is an agent capable of reading files, running commands, editing
284
- code, and controlling an isolated browser. Use it only in repositories you
285
- trust, review proposed commands, and keep the default permission checks enabled
286
- for sensitive work. Never place API keys in prompts, source files, or committed
287
- configuration. See the [security review](docs/security-review.md) for release
288
- controls, trust boundaries, and tracked dependency exceptions.
164
+ ```powershell
165
+ git clone https://github.com/TheStreamCode/chutes-build.git
166
+ cd chutes-build
167
+ cargo build -p chutes-build --release
168
+ ```
289
169
 
290
- ## Project
170
+ The executable is `target\release\chutes-build.exe` on Windows and
171
+ `target/release/chutes-build` on macOS/Linux.
291
172
 
292
- ### Provenance
173
+ ### Repository map
293
174
 
294
- Chutes Build is a substantially modified fork of
295
- [`xai-org/grok-build`](https://github.com/xai-org/grok-build). The upstream
296
- project is licensed under Apache License 2.0; this fork retains the upstream
297
- license and third-party notices.
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. |
298
183
 
299
- See [NOTICE](NOTICE), [LICENSE](LICENSE), and
300
- [THIRD-PARTY-NOTICES](THIRD-PARTY-NOTICES) for attribution.
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.
301
187
 
302
- New upstream releases and commits are detected by a read-only scheduled check
303
- and reviewed through the documented [upstream synchronization
304
- procedure](docs/upstream-sync.md); upstream changes are never merged or released
305
- automatically.
188
+ ## Project
306
189
 
307
- ### Contributing
190
+ Chutes Build is a substantially modified fork of
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).
308
194
 
309
195
  Issues and focused pull requests are welcome. Read
310
- [CONTRIBUTING.md](CONTRIBUTING.md), [SECURITY.md](SECURITY.md), and
311
- [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).
312
201
 
313
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.3.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.3.0",
38
- "chutes-build-darwin-x64": "0.3.0",
39
- "chutes-build-linux-arm64-gnu": "0.3.0",
40
- "chutes-build-linux-x64-gnu": "0.3.0",
41
- "chutes-build-win32-arm64": "0.3.0",
42
- "chutes-build-win32-x64": "0.3.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
  }