claudecode/rust/crates/runtime/src
Yeachan-Heo b200198df7 Make local environment failures diagnosable from the CLI
Add a non-interactive doctor subcommand that checks API key reachability, OAuth credential state, config files, git, MCP servers, network access, and system metadata in one structured report. The implementation reuses existing runtime/auth plumbing and adds focused tests for parsing and report behavior.

Also update stale runtime permission-mode tests so workspace verification reflects the current enum model rather than historical Prompt/Allow variants.

Constraint: Keep diagnostics dependency-free and reuse existing runtime/auth/MCP code
Rejected: Add a REPL-only slash command | diagnostics must work before a session starts
Rejected: Split checks into multiple subcommands | higher surface area with less troubleshooting value
Confidence: medium
Scope-risk: moderate
Reversibility: clean
Directive: Keep doctor checks bounded and non-destructive; if future probes become slower or stateful, gate them explicitly
Tested: cargo fmt --all --check; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace; cargo run -p rusty-claude-cli -- doctor
Not-tested: Positive live API-key validation path against a known-good production credential
2026-04-01 00:59:57 +00:00
..
bash.rs feat: Rust port of Claude Code CLI 2026-03-31 17:43:09 +00:00
bootstrap.rs feat: Rust port of Claude Code CLI 2026-03-31 17:43:09 +00:00
compact.rs Preserve actionable state in compacted Rust sessions 2026-03-31 19:34:56 +00:00
config.rs feat: config discovery and CLAUDE.md loading (cherry-picked from rcc/runtime) 2026-04-01 00:40:34 +00:00
conversation.rs Make local environment failures diagnosable from the CLI 2026-04-01 00:59:57 +00:00
file_ops.rs Close the Claude Code tools parity gap 2026-03-31 22:53:20 +00:00
json.rs feat: Rust port of Claude Code CLI 2026-03-31 17:43:09 +00:00
lib.rs feat: config discovery and CLAUDE.md loading (cherry-picked from rcc/runtime) 2026-04-01 00:40:34 +00:00
mcp_client.rs Add first MCP client transport scaffolding 2026-03-31 20:42:49 +00:00
mcp_stdio.rs Add MCP server orchestration so configured stdio tools can be discovered and called 2026-03-31 23:31:37 +00:00
mcp.rs Add MCP normalization and config identity helpers 2026-03-31 20:23:00 +00:00
oauth.rs feat: config discovery and CLAUDE.md loading (cherry-picked from rcc/runtime) 2026-04-01 00:40:34 +00:00
permissions.rs Enforce tool permissions before execution 2026-04-01 00:06:15 +00:00
prompt.rs feat: config discovery and CLAUDE.md loading (cherry-picked from rcc/runtime) 2026-04-01 00:40:34 +00:00
remote.rs Add fail-open remote proxy runtime primitives 2026-03-31 19:54:38 +00:00
session.rs feat: merge 2nd round from all rcc/* sessions 2026-03-31 17:43:25 +00:00
sse.rs feat: Rust port of Claude Code CLI 2026-03-31 17:43:09 +00:00
usage.rs Make Rust cost reporting aware of the active model 2026-03-31 19:42:31 +00:00