mirror of
https://github.com/lWolvesl/claw-code.git
synced 2026-04-02 15:51:51 +08:00
The branch already carries the new local slash commands and flag behavior, so this follow-up captures how to use them from the Rust README. That keeps the documented REPL and resume workflows aligned with the verified binary surface after the implementation and green verification pass. Constraint: Keep scope narrow and avoid touching ignored .omx planning artifacts Constraint: Documentation must reflect the active handwritten parser in main.rs Rejected: Re-open parser refactors in args.rs | outside the requested bounded change Confidence: high Scope-risk: narrow Reversibility: clean Directive: Keep README command examples aligned with main.rs help output when CLI flags or slash commands change Tested: cargo run -p rusty-claude-cli -- --version; cargo run -p rusty-claude-cli -- --help; cargo fmt; cargo clippy --workspace --all-targets -- -D warnings; cargo test Not-tested: Interactive REPL manual slash-command session in a live API-backed conversation
Rusty Claude CLI
rust/ contains the Rust workspace for the integrated rusty-claude-cli deliverable.
It is intended to be something you can clone, build, and run directly.
Workspace layout
rust/
├── Cargo.toml
├── Cargo.lock
├── README.md
└── crates/
├── api/ # Anthropic API client + SSE streaming support
├── commands/ # Shared slash-command metadata/help surfaces
├── compat-harness/ # Upstream TS manifest extraction harness
├── runtime/ # Session/runtime/config/prompt orchestration
├── rusty-claude-cli/ # Main CLI binary
└── tools/ # Built-in tool implementations
Prerequisites
- Rust toolchain installed (
rustup, stable toolchain) - Network access and Anthropic credentials for live prompt/REPL usage
Build
From the repository root:
cd rust
cargo build --release -p rusty-claude-cli
The optimized binary will be written to:
./target/release/rusty-claude-cli
Test
Run the verified workspace test suite used for release-readiness:
cd rust
cargo test --workspace --exclude compat-harness
Quick start
Show help
cd rust
cargo run -p rusty-claude-cli -- --help
Print version
cd rust
cargo run -p rusty-claude-cli -- --version
Usage examples
1) Prompt mode
Send one prompt, stream the answer, then exit:
cd rust
cargo run -p rusty-claude-cli -- prompt "Summarize the architecture of this repository"
Use a specific model:
cd rust
cargo run -p rusty-claude-cli -- --model claude-sonnet-4-20250514 prompt "List the key crates in this workspace"
Restrict enabled tools in an interactive session:
cd rust
cargo run -p rusty-claude-cli -- --allowedTools read,glob
2) REPL mode
Start the interactive shell:
cd rust
cargo run -p rusty-claude-cli --
Inside the REPL, useful commands include:
/help
/status
/model claude-sonnet-4-20250514
/permissions workspace-write
/cost
/compact
/memory
/config
/init
/diff
/version
/export notes.txt
/session list
/exit
3) Resume an existing session
Inspect or maintain a saved session file without entering the REPL:
cd rust
cargo run -p rusty-claude-cli -- --resume session.json /status /compact /cost
You can also inspect memory/config state for a restored session:
cd rust
cargo run -p rusty-claude-cli -- --resume session.json /memory /config
Available commands
Top-level CLI commands
prompt <text...>— run one prompt non-interactively--resume <session.json> [/commands...]— inspect or maintain a saved sessiondump-manifests— print extracted upstream manifest countsbootstrap-plan— print the current bootstrap skeletonsystem-prompt [--cwd PATH] [--date YYYY-MM-DD]— render the synthesized system prompt--help/-h— show CLI help--version/-V— print the CLI version and build info locally (no API call)--output-format text|json— choose non-interactive prompt output rendering--allowedTools <tool[,tool...]>— restrict enabled tools for interactive sessions and prompt-mode tool use
Interactive slash commands
/help— show command help/status— show current session status/compact— compact local session history/model [model]— inspect or switch the active model/permissions [read-only|workspace-write|danger-full-access]— inspect or switch permissions/clear [--confirm]— clear the current local session/cost— show token usage totals/resume <session-path>— load a saved session into the REPL/config [env|hooks|model]— inspect discovered Claude config/memory— inspect loaded instruction memory files/init— create a starterCLAUDE.md/diff— show the current git diff for the workspace/version— print version and build metadata locally/export [file]— export the current conversation transcript/session [list|switch <session-id>]— inspect or switch managed local sessions/exit— leave the REPL
Environment variables
Anthropic/API
ANTHROPIC_AUTH_TOKEN— preferred bearer token for API authANTHROPIC_API_KEY— legacy API key fallback if auth token is unsetANTHROPIC_BASE_URL— override the Anthropic API base URLANTHROPIC_MODEL— default model used by selected live integration tests
CLI/runtime
RUSTY_CLAUDE_PERMISSION_MODE— default REPL permission mode (read-only,workspace-write, ordanger-full-access)CLAUDE_CONFIG_HOME— override Claude config discovery rootCLAUDE_CODE_REMOTE— enable remote-session bootstrap handling when supportedCLAUDE_CODE_REMOTE_SESSION_ID— remote session identifier when using remote modeCLAUDE_CODE_UPSTREAM— override the upstream TS source path for compat-harness extractionCLAWD_WEB_SEARCH_BASE_URL— override the built-in web search service endpoint used by tooling
Notes
compat-harnessexists to compare the Rust port against the upstream TypeScript codebase and is intentionally excluded from the requested release test run.- The CLI currently focuses on a practical integrated workflow: prompt execution, REPL operation, session inspection/resume, config discovery, and tool/runtime plumbing.