A command-line Todo application built as Phase I of Hackathon II: The Evolution of Todo.
This is a Python-based console application that provides basic task management functionality. All tasks are stored in memory and reset when the program exits.
- Add Task - Create new todo items with title and optional description
- View Task List - Display all tasks with ID, title, and completion status
- Update Task - Modify existing task title and/or description
- Delete Task - Remove tasks from the list
- Toggle Complete - Mark tasks as complete or incomplete
- Python 3.13+
- UV package manager
- Clone the repository:
git clone <repository-url>
cd Python-Console-App- Install UV (if not already installed):
pip install uv- Create a virtual environment and install dependencies:
uv venv
uv pip install -e .Run the application:
python -m todo.mainThe application presents an interactive menu:
=== Todo Console App ===
1. Add Task
2. View Tasks
3. Update Task
4. Delete Task
5. Toggle Complete
6. Exit
Select an option (1-6):
1. Add Task
Enter task title: Buy groceries
Enter task description (optional): Milk, eggs, bread
2. View Tasks
ID | Title | Description | Status
---|-----------------|------------------|--------
1 | Buy groceries | Milk, eggs, bread| Pending
2 | Walk the dog | | Complete
3. Update Task
Enter task ID to update: 1
Enter new title (press Enter to skip): Buy weekly groceries
Enter new description (optional): Milk, eggs, bread, fruits
4. Delete Task
Enter task ID to delete: 2
Task "Walk the dog" has been deleted.
5. Toggle Complete
Enter task ID to toggle: 1
Task "Buy weekly groceries" marked as complete.
/
├── constitution.md # Governing rules and constraints
├── specs/
│ └── history/ # All specification iterations
├── src/
│ └── todo/ # Python source code
│ ├── __init__.py
│ ├── models.py # Task data model
│ ├── cli.py # Console interface
│ └── main.py # Application entry point
├── README.md # This file
└── CLAUDE.md # Claude Code behavior instructions
This project follows spec-driven development using Claude Code. See constitution.md and CLAUDE.md for development rules.
- All data is in-memory - tasks are lost when the program exits
- No database or file persistence in Phase I
- No authentication - single-user application
- This is Phase I of a multi-phase evolution into a full-stack, AI-powered system
- Phase II: Full-stack web application
- Phase III: AI chatbot interface
- Phase IV: Kubernetes deployment
- Phase V: Event-driven cloud-native system
Hackathon II Project - See project documentation for details.