De-slop: remove every em-dash + banned words across all modules + capstone (#94)
Sync course wiki / sync-wiki (push) Successful in 4s
Sync course wiki / sync-wiki (push) Successful in 4s
Co-authored-by: claude <claude@jpaul.io> Co-committed-by: claude <claude@jpaul.io>
This commit was merged in pull request #94.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Module 1 — The Copy-Paste Problem
|
||||
# Module 1: The Copy-Paste Problem
|
||||
|
||||
> **You can already get an AI to write good code. The thing that's failing you is everything around
|
||||
> the code.** This module names that gap honestly and gets your workspace ready to close it.
|
||||
@@ -8,7 +8,7 @@
|
||||
## Prerequisites
|
||||
|
||||
None. This is the orientation module. You need to be comfortable using an AI chat assistant and have
|
||||
a machine you can install software on — that's the whole entry requirement.
|
||||
a machine you can install software on. That's the whole entry requirement.
|
||||
|
||||
If you've never opened a terminal, this course will stretch you, but it won't lose you: every
|
||||
command is shown and explained.
|
||||
@@ -47,7 +47,7 @@ For a single file you're poking at for an afternoon, this is fine. The friction
|
||||
results are real. The problem isn't that this loop is *bad*. It's that the loop **doesn't scale along
|
||||
the two axes every real project grows on: more than one file, and more than one day.**
|
||||
|
||||
### Seam 1 — More than one file
|
||||
### Seam 1: More than one file
|
||||
|
||||
The moment your project is two files instead of one, the chat window loses the thread. You paste in
|
||||
`cli.py`, ask for a change, and the AI confidently edits it. But the change actually needed to touch
|
||||
@@ -59,17 +59,17 @@ You become the integration layer. Every change is a manual diff you perform in y
|
||||
what's in the chat and what's on disk. That's slow, and worse, it's *error-prone in a way you can't
|
||||
see*: there's no record of what actually changed.
|
||||
|
||||
### Seam 2 — More than one day
|
||||
### Seam 2: More than one day
|
||||
|
||||
Close the chat tab, come back tomorrow, and the AI's entire working memory is gone. It doesn't know
|
||||
what you decided yesterday, which approach you rejected, or why that one function looks weird (you
|
||||
had a reason). The context that lived in the conversation evaporated when the session ended.
|
||||
|
||||
So you re-explain. You re-paste. You reconstruct yesterday from memory — and your memory is worse
|
||||
So you re-explain. You re-paste. You reconstruct yesterday from memory, and your memory is worse
|
||||
than you think. The project's real state lives on your disk, but the chat has no way to read your
|
||||
disk, so every session starts cold.
|
||||
|
||||
### Seam 3 — No undo, no record, no safety
|
||||
### Seam 3: No undo, no record, no safety
|
||||
|
||||
This is the quiet one, and it's the most dangerous. The AI confidently makes a mess. It deletes a
|
||||
function you needed, "refactors" something into a subtly broken state, rewrites a file you'd carefully
|
||||
@@ -138,13 +138,13 @@ purpose** so you recognize it later.
|
||||
|
||||
> **One command name, the whole course through:** whichever of `python` / `python3` just printed a
|
||||
> 3.10+ version is the command to use in *every* lab from here on. The labs are written with
|
||||
> `python`; if that's "command not found" on your machine — common on current macOS and default
|
||||
> Debian/Ubuntu, where Python is installed only as `python3` — read it as `python3` (and `pip3`
|
||||
> `python`; if that's "command not found" on your machine (common on current macOS and default
|
||||
> Debian/Ubuntu, where Python is installed only as `python3`), read it as `python3` (and `pip3`
|
||||
> wherever a lab uses `pip`). This note holds course-wide; we won't repeat it.
|
||||
|
||||
### Get the course materials
|
||||
|
||||
Everything you'll run in this course lives in one repo. Grab it once, up front — no tools required
|
||||
Everything you'll run in this course lives in one repo. Grab it once, up front; no tools required
|
||||
beyond a web browser:
|
||||
|
||||
1. Open the course's home page, **`https://git.jpaul.io/justin/ai-workflow-course`**, and use its
|
||||
@@ -159,7 +159,7 @@ You now have every module's files locally, including this one's under
|
||||
> *A cleaner, **updatable** way to get the repo, `git clone`, arrives in **Module 8**, once you've
|
||||
> learned Git (Module 2). A one-time ZIP is all you need today; don't reach for `clone` yet.*
|
||||
|
||||
### Part A — Stand up the project
|
||||
### Part A: Stand up the project
|
||||
|
||||
1. Make a working directory and copy in the starter app from this module's `lab/starter/` folder:
|
||||
|
||||
@@ -170,9 +170,9 @@ You now have every module's files locally, including this one's under
|
||||
# tasks.py cli.py README.md
|
||||
```
|
||||
|
||||
(Copy them however you like — drag-and-drop in your editor's file explorer is fine.)
|
||||
(Copy them however you like; drag-and-drop in your editor's file explorer is fine.)
|
||||
|
||||
> **On Windows:** these labs' shell snippets are written for bash — run them from **Git Bash** or
|
||||
> **On Windows:** these labs' shell snippets are written for bash; run them from **Git Bash** or
|
||||
> **WSL** and they work as-is. In native PowerShell a few POSIX-only commands differ; here, `mkdir
|
||||
> -p` becomes `New-Item -ItemType Directory -Force`.
|
||||
|
||||
@@ -188,9 +188,9 @@ You now have every module's files locally, including this one's under
|
||||
You should see your task listed. **This is your "real local project, an editor, and a terminal."**
|
||||
That's the Module 1 setup goal, complete.
|
||||
|
||||
### Part B — Feel the seams
|
||||
### Part B: Feel the seams
|
||||
|
||||
Now reproduce each failure deliberately. Keep the AI strictly in the **browser chat** — no
|
||||
Now reproduce each failure deliberately. Keep the AI strictly in the **browser chat**; no
|
||||
editor-integrated tools yet (those arrive in Module 4). This is the "before" picture on purpose.
|
||||
|
||||
1. **Seam 1 (multiple files).** First mark a task done so there's something to hide. Run `python
|
||||
@@ -215,7 +215,7 @@ editor-integrated tools yet (those arrive in Module 4). This is the "before" pic
|
||||
(fragile, gone once you close the file) and the chat history (if you can find the right message).
|
||||
There is no checkpoint.
|
||||
|
||||
You just manually reproduced the three problems the rest of Unit 1 removes. Hold onto that feeling —
|
||||
You just manually reproduced the three problems the rest of Unit 1 removes. Hold onto that feeling;
|
||||
it's the motivation for everything that follows.
|
||||
|
||||
---
|
||||
@@ -239,7 +239,7 @@ Be honest about the limits of this module's claims:
|
||||
|
||||
**You're done when:**
|
||||
|
||||
- You can run `python cli.py list` in your terminal and see output — your project, editor, and
|
||||
- You can run `python cli.py list` in your terminal and see output; your project, editor, and
|
||||
terminal are working together.
|
||||
- You can name the three seams where copy-paste breaks (more than one file, more than one day, no
|
||||
undo) without looking back at the lesson.
|
||||
|
||||
Reference in New Issue
Block a user