Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The CodeScribe loop

A bounded agentic loop driven by Anthropic models, packaged as a single compiled binary based on the open source research work performed with CodeScribe (https://github.com/Lab-Notebooks/CodeScribe)

Install

cargo install --git https://github.com/Lab-Notebooks/CS-Loop --tag v2026.7.1 --locked

This builds and installs the csloop binary to ~/.cargo/bin — no source checkout is left behind. Pinning --tag installs a specific, reviewable release instead of whatever happens to be on the default branch at install time; --locked makes the build use the exact dependency versions recorded in Cargo.lock instead of re-resolving to whatever's newest on crates.io at install time.

Install over SSH

Useful if the repository is private or you'd rather authenticate with your SSH key than an HTTPS credential helper:

cargo install --git ssh://git@github.com/Lab-Notebooks/CS-Loop.git --tag v2026.7.1 --locked

Cargo's built-in git support requires the full ssh:// form — the scp-like shorthand (git@github.com:Lab-Notebooks/csloop.git) is not accepted. It also needs an ssh-agent with your key loaded:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519   # or whichever key is authorized on GitHub

If you rely on ~/.ssh/config (host aliases, a custom IdentityFile, ProxyCommand, etc.), Cargo's native git client ignores it. Tell Cargo to shell out to your system git instead, which picks up your normal SSH config:

export CARGO_NET_GIT_FETCH_WITH_CLI=true

(or set git-fetch-with-cli = true under [net] in ~/.cargo/config.toml.)

Update

cargo install --git won't overwrite an existing install by default. Reinstall a given release with --force, updating --tag to the version you want:

cargo install --force --git https://github.com/Lab-Notebooks/CS-Loop --tag v2026.7.1 --locked
# or, over SSH:
cargo install --force --git ssh://git@github.com/Lab-Notebooks/CS-Loop.git --tag v2026.7.1 --locked

Check what's currently installed with:

cargo install --list | grep csloop

Usage

export ANTHROPIC_BASE_URL="http://..."
export ANTHROPIC_API_KEY="sk-ant-..."

csloop <task_file> -m <model> [OPTIONS]
Flag Description
<task_file> TOML chat-template file describing the task (see [[chat.user]]/[[chat.assistant]] format).
-m, --model Anthropic model id (e.g. claude-sonnet-4-6). Also settable via CSLOOP_MODEL.
--agent-loops Max bounded author/review loops (default 5).
--agent-iterations Max tool-call iterations per agent session (default 30).
--workdir Working directory bound for the agent (default: current directory).
-v, --verbose Print per-iteration reasoning and tool-call diagnostics to stdout.
--log Write diagnostic events to .csloop/logs/toolusage.toml.
--log-path Write diagnostic events to a custom path (implies --log).
--reason Enable extended thinking.

Artifacts (run/state/telemetry) are written under .csloop/loop/ in the working directory.

License

GPL-3.0-only — see LICENSE.

About

Rust implementation of the CodeScribe loop.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages