Skip to content

Commit 11442b3

Browse files
Merge remote-tracking branch 'origin/main' into fix/581-chat-scroll-on-slash
2 parents 572169d + 4cb36ac commit 11442b3

60 files changed

Lines changed: 2179 additions & 241 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,25 @@ Nanocoder is built by the Nano Collective rather than a company, and that shapes
6161

6262
It is also bigger than one tool. The collective is assembling an open ecosystem of AI tooling — see the [other projects](https://nanocollective.org) — and contributors who show up now help shape what that becomes.
6363

64+
## Sponsors
65+
66+
Nanocoder is built not for profit, but for the community, and that work is funded by sponsors. [Become one](https://nanocollective.org/sponsor).
67+
68+
### [Atlas Cloud](https://www.atlascloud.ai/console/coding-plan)
69+
70+
<p>
71+
<a href="https://www.atlascloud.ai/console/coding-plan" title="Atlas Cloud">
72+
<picture>
73+
<source media="(prefers-color-scheme: dark)" srcset="https://nanocollective.org/sponsors/atlas-cloud-white.png">
74+
<img alt="Atlas Cloud" height="40" src="https://nanocollective.org/sponsors/atlas-cloud-black.png">
75+
</picture>
76+
</a>
77+
</p>
78+
79+
> Atlas Cloud is a full-modal AI inference platform that gives developers a single AI API to access video generation, image generation, and LLM APIs. Instead of managing multiple vendor integrations, you connect once and get unified access to 300+ curated models across all modalities.
80+
81+
Check out [Atlas Cloud's new coding plan promotion](https://www.atlascloud.ai/console/coding-plan) for more budget-friendly API access.
82+
6483
## Community
6584

6685
The Nano Collective is a community collective building AI tooling for the community, not for profit. We'd love your help.

badges/coverage.svg

Lines changed: 1 addition & 1 deletion
Loading

badges/forks.svg

Lines changed: 1 addition & 1 deletion
Loading

badges/npm-downloads-monthly.svg

Lines changed: 1 addition & 1 deletion
Loading

badges/repo-size.svg

Lines changed: 1 addition & 1 deletion
Loading

badges/stars.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/configuration/index.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Keep API keys out of version control using environment variables. Variables are
3939
| `NANOCODER_DATA_DIR` | Override the application data directory for internal data like usage statistics |
4040
| `NANOCODER_INSTALL_METHOD` | Override installation detection (`npm`, `homebrew`, `nix`, `unknown`) |
4141
| `NANOCODER_DEFAULT_SHUTDOWN_TIMEOUT` | Graceful shutdown timeout in milliseconds (default: 5000) |
42+
| `NANOCODER_MAX_TURNS` | Maximum LLM turns for headless runs (`--plain` and ACP). Overrides `nanocoder.headless.maxTurns`; default 200. See [Headless](#headless) |
4243

4344
### Provider & MCP Overrides
4445

@@ -150,6 +151,28 @@ Configure automatic session saving and retention. See [Session Management](../fe
150151
| `retentionDays` | number | `30` | Auto-delete sessions older than this (minimum 1) |
151152
| `directory` | string | (platform default) | Custom storage directory for session files |
152153

154+
### Headless
155+
156+
Limits for non-interactive runs — the `--plain` shell (used in CI and non-TTY environments) and the ACP loop. There is no human to stop a wedged model in these runs, so the conversation loop caps the number of LLM turns.
157+
158+
When the cap is reached, the loop does **not** error out and discard work. On the final turn it strips all tools and asks the model to produce its answer using only the information it already has, so the run ends with a usable result.
159+
160+
```json
161+
{
162+
"nanocoder": {
163+
"headless": {
164+
"maxTurns": 200
165+
}
166+
}
167+
}
168+
```
169+
170+
| Option | Type | Default | Description |
171+
|--------|------|---------|-------------|
172+
| `maxTurns` | number | `200` | Maximum LLM turns before the loop forces a final, tool-free answer (minimum 1). Raise it for long iterative jobs; the `NANOCODER_MAX_TURNS` env var takes precedence over this setting. |
173+
174+
One turn is a single LLM response plus its batch of tool executions. The default of 200 is high enough for long iterative jobs to finish while still bounding cost and wall-clock time for an unattended run that gets stuck.
175+
153176
### Paste Handling
154177

155178
Configure how pasted text is handled in the input. By default, single-line pastes of 800 characters or fewer are inserted directly, while longer or multi-line pastes are collapsed into a `[Paste #N: X chars]` placeholder.

0 commit comments

Comments
 (0)