A lightweight terminal-based AI coding assistant
Project description
nanocode
A lightweight terminal-based AI coding assistant.
nanocode is used to help building itself, including features such as @file path completion.
Screenshots
Features
- Constrained Output: Force model replies into auditable action frames.
- Verified Edits: Reject stale range edits before they touch files.
- Autonomous Loop: Chain reading, editing, running, and verification.
- Live Telemetry: Stream tool intent, token use, cost, and status.
Tools
- File:
Read,LineCount,ListDir,Search. - Edit:
Edit,ReplaceRange,BatchReplaceRanges,ApplyPatch. - Shell:
Bash,Git. - Memory:
Blackboard.
Commands
- Info:
/help [question],/status. - Session:
/compact,/blackboard [status|clear]. - Config:
/model,/compact-at,/reason,/reason_effort,/stream,/yolo. - Exit:
/exit,/quit.
Configuration
- Required:
NANOCODE_API_URL,NANOCODE_API_KEY,NANOCODE_MODEL. - Runtime:
NANOCODE_DIR,NANOCODE_TEMPERATURE,NANOCODE_STREAM. - Reasoning:
NANOCODE_REASONING,NANOCODE_REASONING_EFFORT. - Limits:
NANOCODE_MODEL_TIMEOUT,NANOCODE_SHELL_TIMEOUT,NANOCODE_COMPACT_AT,NANOCODE_MAX_AGENT_STEPS. - Cost:
NANOCODE_PROMPT_PRICE_PER_1M_TOKENS,NANOCODE_COMPLETION_PRICE_PER_1M_TOKENS.
Status
- Status bar: model, reasoning, context, tokens/cost, blackboard, elapsed time, and active model-call time.
/status: model, reasoning, stream, yolo, conversation, tokens/cost, blackboard, goal, and verification.
Install
uv tool install nanocode-cli
Upgrade an existing install:
uv tool upgrade nanocode-cli
For local development:
uv sync --extra dev
uv run nanocode
Usage
Start nanocode:
nanocode
Show available commands:
/help
Ask a source-aware question about nanocode itself:
/help how does compact work?
Safety
nanocode does not provide sandbox protection. It can run shell commands and edit files in the environment where you start it.
If you do not fully trust the model, tools, prompts, or workspace, run nanocode inside your own sandbox, container, VM, or other isolated environment.
Use at your own risk.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nanocode_cli-0.2.9.tar.gz.
File metadata
- Download URL: nanocode_cli-0.2.9.tar.gz
- Upload date:
- Size: 39.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
122f834a583ea838c126e03ef8e0b92a4b25b9120401e4bfe7ef27c08c8d2956
|
|
| MD5 |
bf612b1e0e172bcd89874456fe876b5a
|
|
| BLAKE2b-256 |
bffa1d1bd7f7e4de20159512c3066b59eaf547749f91ba2531dc1eae5cadff0b
|
File details
Details for the file nanocode_cli-0.2.9-py3-none-any.whl.
File metadata
- Download URL: nanocode_cli-0.2.9-py3-none-any.whl
- Upload date:
- Size: 38.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7867120d6daecc03ef5800f542f000576618017c67830ec2a764f49ade656de7
|
|
| MD5 |
3478f8b235dee97dac84ae62c388c8be
|
|
| BLAKE2b-256 |
bdfcdc39399cbf532588bd276c99595ab171ba815b34d27a3846a6aebac84017
|