Cinto
Cinto brings the local Cinto coding-agent loop into VS Code. It runs the
cinto CLI as a subprocess, streams the kernel stages into a sidebar, and asks
for approval before applying generated patches.
The extension is intentionally thin. Model calls, prompt formatting, context
packing, patch generation, and safety checks stay in the Rust CLI.
Requirements
- VS Code 1.85.0 or newer.
- The
cinto CLI installed and available on PATH, or configured through
cinto.binaryPath.
- A local OpenAI-compatible model server, such as LM Studio, Ollama, vLLM, or a
compatible remote endpoint you control.
Install the CLI from source:
cargo install --git https://github.com/Jshebb/cinto
Then run first-time setup:
cinto setup
Quick Start
- Open a workspace in VS Code.
- Start your model server.
- Open the Cinto activity bar view.
- Choose a preset or confirm your endpoint/model settings.
- Type a focused coding task and run it.
- Review proposed patches before approving them.
The default run mode is kernel, which streams the staged pipeline:
interpret, locate, hypothesize, patch, and report.
Commands
Cinto: Run Task - prompt for a task and run it in the current workspace.
Cinto: Focus Input - open the sidebar and focus the task input.
Cinto: Stop Current Task - stop the active Cinto subprocess.
Cinto: Show Output - open the Cinto output channel.
Settings
cinto.binaryPath - path to the cinto binary. Defaults to cinto.
cinto.endpoint - runtime endpoint override.
cinto.model - runtime model override.
cinto.runMode - kernel for the sidebar pipeline, free for the TUI in a
VS Code terminal.
cinto.reasoningProtocol - use saved config, force CRP, or force plain text.
cinto.configPath - custom Cinto config path.
cinto.tracesDir - optional directory for stage traces.
Safety
Cinto is local-first, but it is not a sandbox. The configured model endpoint can
receive workspace context that Cinto reads. Patches are shown for review before
approval, and the Rust CLI protects .git and .cinto internals from model
tool access.
Avoid running Cinto against repositories with secrets unless you trust the model
server and understand what it can read.
Troubleshooting
If the sidebar cannot start Cinto, set cinto.binaryPath to the absolute path
of the CLI binary.
If model calls fail, run cinto setup in a terminal and verify the same
endpoint/model there first.
For logs, run Cinto: Show Output.
Development
From this directory:
npm install
npm run lint
npm run package:vsix
Publishing requires a Visual Studio Marketplace publisher and Azure DevOps PAT:
npm run publish:marketplace