--- epic: 11 story: 11.4 title: "Interactive REPL" status: draft --- ## Epic 11 — CLI Tool **Goal:** Command-line tool for scripting and automation, same Rust engine. ### Story 11.4: Interactive REPL As a power user, I want an interactive CalcPad session in my terminal, So that I can iteratively build up calculations with persistent variables. **Acceptance Criteria:** **Given** the user runs `calcpad --repl` **When** the REPL starts **Then** a prompt is displayed (e.g., `> `) indicating readiness for input **And** the REPL session begins with a clean variable scope **Given** the user is in the REPL **When** they type `x = 10` and press Enter, then type `x * 5` and press Enter **Then** the first line outputs `10` and the second line outputs `50` **And** variables persist for the duration of the session **Given** the user is in the REPL **When** they press the Up arrow key **Then** the previous expression is recalled into the input line **And** history navigation (up/down) works via rustyline or equivalent library **Given** the user is in the REPL **When** they type `exit`, `quit`, or press `Ctrl+D` **Then** the REPL session ends cleanly **And** the process exits with code 0 **Given** the user enters an invalid expression in the REPL **When** they press Enter **Then** an error message is displayed inline **And** the REPL continues to accept input (does not crash or exit)