# TODO List

You have probably wanted to learn how to program so that you could optimize your life, right? After all, programming is about automation. TODO lists are a great way to ensure that you are getting things done. This assignment will have you implement a simple TODO list.

{% embed url="<https://youtu.be/hIDxjcP25to>" %}

## Setup

Fork the following repository and clone your copy.

[***TODO Lists***](https://github.com/pg-programming/todo-list)

Open `todo.py` in your text editor.

I have provided a module, `todo_helper` that will give you the list of TODOs from a file and save them again to a file when you are done. The methods are `get()` and `save()`. There is also a function `get_ch()` that will read the user's input after a single character has been entered. This will be nice to use in the menu part of the program.

## Requirements

### General

* ask the user if they want to:

  ```
  (a)dd
  (l)ist
  (e)dit
  (d)elete
  (q)uit
  ```
* implement each of the above menu items using list operations (e.g. `append()`,

  `pop()`, general indexing `my_list[index]`)

### Loops

* use a while loop to continue to show the menu after each command until `q` has

  been pressed (Hint: this should wrap just about all of your code)
* use a `for` loop with the `enumerate()` function to print out all of the

  TODOs in the following format:

  ```
  0) play with glue
  1) sweep the windows
  2) run with scissors
  ```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://programming.reedcwilson.com/lesson-3/todo-list.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
