Interactive REPL
CURD features an interactive REPL (Read-Eval-Print Loop) designed for extremely fast structural exploration, architectural mapping, and plan authoring.
The REPL connects directly to the core runtime routing layer. It bypasses the overhead of standard terminal invocations while ensuring that you remain strictly within the same safety and validation bounds (Profiles and Ceilings) as any agentic workflow.
Starting the REPL
Launch the REPL within a CURD-initialized workspace:
curd replYou will drop into the curd> prompt:
=== CURD Interactive REPL ===
Type 'help' for a list of commands.
curd> Core REPL Commands
The REPL natively aliases the primary control plane tools.
Exploring the Graph
# Query the semantic index directly (BM25/FTS)
curd> search login_handler
# Traverse the dependency graph from a specific symbol
curd> graph src/auth.rs::validate_token
# Retrieve a full structural report on the current workspace
curd> doctorMutating State
Mutating commands operate exactly as they do in the CLI or MCP, meaning they require an active shadow workspace session to apply edits.
# Start a new transaction
curd> workspace begin
# Edit a specific function
curd> edit src/lib.rs::alpha "pub fn alpha() { println!(\"updated\"); }"
# View the shadow diff
curd> diff
# Commit the changes to disk
curd> workspace commitPlan Authoring in the REPL
The REPL acts as an interactive environment for managing .curd plan artifacts. You can actively load, inspect, and tweak execution plans before running them.
# Load an existing compiled plan artifact
curd> plan load <plan_id>
# Inspect the loaded plan
curd> plan view
# Edit specific node limits interactively
curd> plan edit <node_id> {"retry_limit": 1}
# Execute the loaded plan
curd> plan executeSecurity & Concurrency
The REPL is inherently aware of external AI agent mutations.
Because both the REPL and the MCP server hit the exact same unified storage layer and context bounds, the system actively protects you against Human-Agent Race Conditions.
If an AI agent via MCP attempts to alter a symbol that you are actively exploring or tweaking in a REPL session, the engine will deterministically block the agent with:
{"error": "HUMAN_OVERRIDE_CONFLICT: This symbol is currently being edited by a human in the REPL. Agent edits are rejected to prevent state corruption."}