# instructkr/claude-code architecture

> Architecture diagram of the GitHub repository instructkr/claude-code, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/instructkr/claude-code
- Repository: https://github.com/instructkr/claude-code

## Overview

Claw Code is a Rust CLI agent harness; the README identifies `rust/` as its canonical runtime and `src/` as a Python reference workspace. The principal documented workflow is a user invoking `claw` with a prompt or interactive session, with provider-backed responses; health checks and agent commands are separate CLI capabilities. The graph retains major runtime, tool, plugin, protocol, and provider subsystems. Internal CLI-to-runtime wiring is not shown in the excerpts, so those links are omitted; the Python workspace is not treated as the primary product.

Main entry points: [`rust/crates/rusty-claude-cli/src/main.rs`](https://github.com/instructkr/claude-code/blob/main/rust/crates/rusty-claude-cli/src/main.rs) (claw CLI), [`rust/crates/claw-rag-service/src/ingest.rs`](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/ingest.rs) (Workspace ingestion), [`rust/crates/api/src/providers/anthropic.rs`](https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/providers/anthropic.rs) (Anthropic provider), [`rust/crates/api/src/client.rs`](https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/client.rs) (Provider dispatch)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cli["CLI experience"]
  node_cli["claw CLI<br/>[main.rs]"]
  node_doctor["Health check<br/>[doctor.rs]"]
  node_agents["Specialized agents<br/>[agents.rs]"]
  node_command_surface["CLI commands<br/>[lib.rs]"]
end

subgraph group_agent["Agent runtime"]
  node_runtime["Agent runtime<br/>[worker_boot.rs]"]
  node_policy["Policy engine<br/>[policy_engine.rs]"]
  node_lsp["Language server client<br/>[lsp_client.rs]"]
  node_tools["Tool execution<br/>[lib.rs]"]
  node_plugins["Plugin system<br/>[lib.rs]"]
  node_session_sdk["Session API<br/>[mod.rs]"]
  node_transport["Session transport<br/>[transport.rs]"]
end

subgraph group_integrations["Providers and integrations"]
  node_api_client["Provider dispatch<br/>[client.rs]"]
  node_anthropic["Anthropic provider<br/>[anthropic.rs]"]
  node_openai_compat["OpenAI-compatible provider<br/>[openai_compat.rs]"]
  node_http["HTTP client<br/>[http_client.rs]"]
  node_prompt_cache["Prompt cache<br/>[prompt_cache.rs]"]
end

subgraph group_retrieval["Workspace retrieval"]
  node_rag_ingest["Workspace ingestion<br/>[ingest.rs]"]
  node_rag_db[("SQLite storage<br/>[db.rs]")]
  node_embeddings["Embedding service<br/>[embed.rs]"]
  node_qdrant[("Qdrant index<br/>[qdrant_index.rs]")]
  node_rag_search["Retrieval search<br/>[search.rs]"]
end

node_user(("User"))

node_user -->|"invokes"| node_cli
node_cli -->|"runs health check"| node_doctor
node_cli -->|"runs agents"| node_agents
node_cli -.->|"dispatches commands"| node_command_surface
node_cli -.->|"starts session"| node_runtime
node_api_client -->|"dispatches requests"| node_anthropic
node_api_client -->|"dispatches requests"| node_openai_compat
node_anthropic -->|"uses HTTP client"| node_http
node_openai_compat -->|"uses HTTP client"| node_http
node_anthropic -->|"uses cache"| node_prompt_cache
node_rag_ingest -->|"requests vectors"| node_embeddings
node_rag_ingest -->|"writes chunks"| node_rag_db
node_rag_ingest -->|"indexes vectors"| node_qdrant

click node_cli "https://github.com/instructkr/claude-code/blob/main/rust/crates/rusty-claude-cli/src/main.rs"
click node_doctor "https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-analog/src/doctor.rs"
click node_agents "https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-analog/src/agents.rs"
click node_command_surface "https://github.com/instructkr/claude-code/blob/main/rust/crates/commands/src/lib.rs"
click node_runtime "https://github.com/instructkr/claude-code/blob/main/rust/crates/runtime/src/worker_boot.rs"
click node_policy "https://github.com/instructkr/claude-code/blob/main/rust/crates/runtime/src/policy_engine.rs"
click node_lsp "https://github.com/instructkr/claude-code/blob/main/rust/crates/runtime/src/lsp_client.rs"
click node_tools "https://github.com/instructkr/claude-code/blob/main/rust/crates/tools/src/lib.rs"
click node_plugins "https://github.com/instructkr/claude-code/blob/main/rust/crates/plugins/src/lib.rs"
click node_session_sdk "https://github.com/instructkr/claude-code/blob/main/rust/crates/sdk/src/session/mod.rs"
click node_transport "https://github.com/instructkr/claude-code/blob/main/rust/crates/sdk/src/transport.rs"
click node_api_client "https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/client.rs"
click node_anthropic "https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/providers/anthropic.rs"
click node_openai_compat "https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/providers/openai_compat.rs"
click node_http "https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/http_client.rs"
click node_prompt_cache "https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/prompt_cache.rs"
click node_rag_ingest "https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/ingest.rs"
click node_rag_db "https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/db.rs"
click node_embeddings "https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/embed.rs"
click node_qdrant "https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/qdrant_index.rs"
click node_rag_search "https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/search.rs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_doctor,node_agents,node_command_surface,node_user toneBlue
class node_runtime,node_policy,node_lsp,node_tools,node_plugins,node_session_sdk,node_transport toneAmber
class node_api_client,node_anthropic,node_openai_compat,node_http,node_prompt_cache toneMint
class node_rag_ingest,node_rag_db,node_embeddings,node_qdrant,node_rag_search toneRose
```

## Components

### CLI experience

- [claw CLI](https://github.com/instructkr/claude-code/blob/main/rust/crates/rusty-claude-cli/src/main.rs): `rust/crates/rusty-claude-cli/src/main.rs`
- [Health check](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-analog/src/doctor.rs): `rust/crates/claw-analog/src/doctor.rs`
- [Specialized agents](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-analog/src/agents.rs): `rust/crates/claw-analog/src/agents.rs`
- [CLI commands](https://github.com/instructkr/claude-code/blob/main/rust/crates/commands/src/lib.rs): `rust/crates/commands/src/lib.rs`

### Agent runtime

- [Agent runtime](https://github.com/instructkr/claude-code/blob/main/rust/crates/runtime/src/worker_boot.rs): `rust/crates/runtime/src/worker_boot.rs`
- [Policy engine](https://github.com/instructkr/claude-code/blob/main/rust/crates/runtime/src/policy_engine.rs): `rust/crates/runtime/src/policy_engine.rs`
- [Language server client](https://github.com/instructkr/claude-code/blob/main/rust/crates/runtime/src/lsp_client.rs): `rust/crates/runtime/src/lsp_client.rs`
- [Tool execution](https://github.com/instructkr/claude-code/blob/main/rust/crates/tools/src/lib.rs): `rust/crates/tools/src/lib.rs`
- [Plugin system](https://github.com/instructkr/claude-code/blob/main/rust/crates/plugins/src/lib.rs): `rust/crates/plugins/src/lib.rs`
- [Session API](https://github.com/instructkr/claude-code/blob/main/rust/crates/sdk/src/session/mod.rs): `rust/crates/sdk/src/session/mod.rs`
- [Session transport](https://github.com/instructkr/claude-code/blob/main/rust/crates/sdk/src/transport.rs): `rust/crates/sdk/src/transport.rs`

### Providers and integrations

- [Provider dispatch](https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/client.rs): `rust/crates/api/src/client.rs`
- [Anthropic provider](https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/providers/anthropic.rs): `rust/crates/api/src/providers/anthropic.rs`
- [OpenAI-compatible provider](https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/providers/openai_compat.rs): `rust/crates/api/src/providers/openai_compat.rs`
- [HTTP client](https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/http_client.rs): `rust/crates/api/src/http_client.rs`
- [Prompt cache](https://github.com/instructkr/claude-code/blob/main/rust/crates/api/src/prompt_cache.rs): `rust/crates/api/src/prompt_cache.rs`

### Workspace retrieval

- [Workspace ingestion](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/ingest.rs): `rust/crates/claw-rag-service/src/ingest.rs`
- [SQLite storage](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/db.rs): `rust/crates/claw-rag-service/src/db.rs`
- [Embedding service](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/embed.rs): `rust/crates/claw-rag-service/src/embed.rs`
- [Qdrant index](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/qdrant_index.rs): `rust/crates/claw-rag-service/src/qdrant_index.rs`
- [Retrieval search](https://github.com/instructkr/claude-code/blob/main/rust/crates/claw-rag-service/src/search.rs): `rust/crates/claw-rag-service/src/search.rs`

### Other components

- **User**

## Connections

- User → claw CLI: invokes (evidence: `README.md`)
- claw CLI → Health check: runs health check
- claw CLI → Specialized agents: runs agents
- claw CLI → CLI commands: dispatches commands
- claw CLI → Agent runtime: starts session
- Provider dispatch → Anthropic provider: dispatches requests (evidence: `rust/crates/api/src/client.rs`)
- Provider dispatch → OpenAI-compatible provider: dispatches requests (evidence: `rust/crates/api/src/client.rs`)
- Anthropic provider → HTTP client: uses HTTP client (evidence: `rust/crates/api/src/providers/anthropic.rs`)
- OpenAI-compatible provider → HTTP client: uses HTTP client (evidence: `rust/crates/api/src/providers/openai_compat.rs`)
- Anthropic provider → Prompt cache: uses cache (evidence: `rust/crates/api/src/providers/anthropic.rs`)
- Workspace ingestion → Embedding service: requests vectors (evidence: `rust/crates/claw-rag-service/src/ingest.rs`)
- Workspace ingestion → SQLite storage: writes chunks (evidence: `rust/crates/claw-rag-service/src/ingest.rs`)
- Workspace ingestion → Qdrant index: indexes vectors (evidence: `rust/crates/claw-rag-service/src/ingest.rs`)
