"""Tiny command-line front end for the demo task app. Run it: python cli.py add "write the lesson" python cli.py list State is kept in tasks.json next to this file. It's intentionally minimal; the point of this app is to be a realistic-but-small thing you change with an AI, not a product. """ import json import sys from pathlib import Path from tasks import Task, TaskList STATE = Path(__file__).parent / "tasks.json" def load() -> TaskList: if not STATE.exists(): return TaskList() raw = json.loads(STATE.read_text()) return TaskList(tasks=[Task(**t) for t in raw]) def save(tlist: TaskList) -> None: STATE.write_text(json.dumps([t.__dict__ for t in tlist.tasks], indent=2)) def main(argv: list[str]) -> int: tlist = load() if not argv: print("usage: python cli.py [add