Files
claw-code/rust
Yeachan-Heo daf98cc750 Add MCP normalization and config identity helpers
Add runtime MCP helpers for name normalization, tool naming, CCR proxy URL unwrapping, config signatures, and stable scope-independent config hashing.

This is the fastest clean parity-unblocking MCP slice because it creates real reusable behavior needed by future client/transport work without forcing a transport boundary prematurely. The helpers mirror key upstream semantics around normalized tool names and dedup/config-change detection.

Constraint: Must land a real MCP foundation without pulling transport management into the same commit
Constraint: Runtime verification must pass with fmt, clippy, and tests
Rejected: Start with transport/client scaffolding first | would need more design surface and more unverified edges
Rejected: Leave normalization/signature logic implicit in later client code | would duplicate behavior and complicate testing
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Reuse these helpers for future MCP tool naming, dedup, and reconnect/change-detection work instead of re-encoding the rules ad hoc
Tested: cargo fmt --all; cargo clippy -p runtime --all-targets -- -D warnings; cargo test -p runtime
Not-tested: live MCP transport connections; plugin reload integration; full connector dedup flows
2026-03-31 20:23:00 +00:00
..
2026-03-31 17:43:09 +00:00
2026-03-31 17:43:09 +00:00

Rust port foundation

This directory contains the first compatibility-first Rust foundation for a drop-in Claude Code CLI replacement.

Current milestone

This initial milestone focuses on harness-first scaffolding, not full feature parity:

  • a Cargo workspace aligned to major upstream seams
  • a placeholder CLI crate (rusty-claude-cli)
  • runtime, command, and tool registry skeleton crates
  • a compat-harness crate that reads the upstream TypeScript sources in ../src/
  • tests that prove upstream manifests/bootstrap hints can be extracted from the leaked TypeScript codebase

Workspace layout

rust/
├── Cargo.toml
├── README.md
├── crates/
│   ├── rusty-claude-cli/
│   ├── runtime/
│   ├── commands/
│   ├── tools/
│   └── compat-harness/
└── tests/

How to use

From this directory:

cargo fmt --all
cargo check --workspace
cargo test --workspace
cargo run -p rusty-claude-cli -- --help
cargo run -p rusty-claude-cli -- dump-manifests
cargo run -p rusty-claude-cli -- bootstrap-plan

Design notes

The shape follows the PRD's harness-first recommendation:

  1. Extract observable upstream command/tool/bootstrap facts first.
  2. Keep Rust module boundaries recognizable.
  3. Grow runtime compatibility behind proof artifacts.
  4. Document explicit gaps instead of implying drop-in parity too early.

Relationship to the root README

The repository root README explains the leaked TypeScript codebase. This document tracks the Rust replacement effort that lives in rust/.