Use python3 as the canonical command name course-wide (#104) (#105)
CI / check (push) Successful in 7s
Sync course wiki / sync-wiki (push) Successful in 4s

This commit was merged in pull request #105.
This commit is contained in:
2026-06-23 20:25:05 -04:00
parent 7f439212ac
commit 95e5911957
102 changed files with 380 additions and 378 deletions
@@ -401,7 +401,7 @@ thing you're waiting on.
```bash
cd ~/ai-workflow-course/tasks-app
python cli.py list && python cli.py count && python cli.py clear # all three features live
python3 cli.py list && python3 cli.py count && python3 cli.py clear # all three features live
```
If any of those three commands fails, the resolution was wrong. That's why you verify the result
@@ -15,7 +15,7 @@ You are working in this worktree only. Do not touch any other folder.
**Acceptance criteria:**
- `python cli.py count` prints the number of pending tasks and exits 0.
- `python3 cli.py count` prints the number of pending tasks and exits 0.
- No other files change. (`README.md`, `CHANGELOG.md`, and `tasks.py` are owned by other agents;
stay out of them.)
@@ -17,8 +17,8 @@ You are working in this worktree only. Do not touch any other folder.
**Acceptance criteria:**
- `python cli.py clear` removes all tasks and prints `cleared`.
- `python cli.py list` afterward shows `(no tasks yet)`.
- `python3 cli.py clear` removes all tasks and prints `cleared`.
- `python3 cli.py list` afterward shows `(no tasks yet)`.
When done, commit your work on this branch with a message referencing #44, then push the branch. Stop
there; the human opens and reviews the PR, and should expect a conflict against `feature/42-count` at
@@ -15,11 +15,11 @@ This is the running example for **Module 1** (where you feel the copy-paste prob
## Run it
```bash
python cli.py add "read module 1"
python cli.py add "set up my editor"
python cli.py list
python cli.py done 0
python cli.py list
python3 cli.py add "read module 1"
python3 cli.py add "set up my editor"
python3 cli.py list
python3 cli.py done 0
python3 cli.py list
```
Requires Python 3.10+ (it uses `list[Task]` style type hints). No third-party packages.
@@ -1,8 +1,8 @@
"""Tiny command-line front end for the demo task app.
Run it:
python cli.py add "write the lesson"
python cli.py list
python3 cli.py add "write the lesson"
python3 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.
@@ -31,7 +31,7 @@ def save(tlist: TaskList) -> None:
def main(argv: list[str]) -> int:
tlist = load()
if not argv:
print("usage: python cli.py [add <title> | list | done <index> | count | delete <index>]")
print("usage: python3 cli.py [add <title> | list | done <index> | count | delete <index>]")
return 1
command = argv[0]