initial commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
---
|
||||
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)
|
||||
Reference in New Issue
Block a user