# Add a `delete ` command to the CLI **Type:** feature · **Priority:** p2 · **Labels:** `cli`, `ready`, `agent` ## Context `tasks-app` can `add`, `list`, and mark a task `done`, but there's no way to remove a task. Once a task is added by mistake it stays forever. The `done` command already takes an index and mutates the list through a method on `TaskList`, so a `delete` command should follow the exact same shape. This is a patterned change, not a design problem. ## Acceptance criteria - `python cli.py delete ` removes the task at that 0-based index and saves the list. - After deleting, the remaining tasks keep their relative order. - `delete` with an out-of-range or non-integer index prints a clear error (e.g. `no task at index 99`) and exits non-zero, instead of dumping a traceback. - The logic lives on `TaskList` (a `remove(index)` method or equivalent), mirroring how `complete` works; `cli.py` only parses arguments and calls it. - A test covers: a successful delete removes the right task, and an out-of-range delete is handled. ## Out of scope - Changing how tasks are stored or numbered. - Bulk delete, undo, or a confirmation prompt. - Reworking the existing `add` / `list` / `done` commands.