diff --git a/01-the-copy-paste-problem.md b/01-the-copy-paste-problem.md index 1e247d6..a999871 100644 --- a/01-the-copy-paste-problem.md +++ b/01-the-copy-paste-problem.md @@ -1,5 +1,6 @@ > 📖 _This page is generated from [`modules/01-the-copy-paste-problem/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/01-the-copy-paste-problem/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + # 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 @@ -254,3 +255,8 @@ Be honest about the limits of this module's claims: If all three are true, you're ready for Module 2, where we install the safety net that makes the rest of the course safe to attempt. + +--- + +**Continue to: [Module 2 — Version Control as a Safety Net](02-version-control-as-a-safety-net)** ➡ + diff --git a/02-version-control-as-a-safety-net.md b/02-version-control-as-a-safety-net.md index 82b93d2..ff5ba3e 100644 --- a/02-version-control-as-a-safety-net.md +++ b/02-version-control-as-a-safety-net.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/02-version-control-as-a-safety-net/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/02-version-control-as-a-safety-net/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 1 — The Copy-Paste Problem](01-the-copy-paste-problem)** + + # Module 2 — Version Control as a Safety Net > **Version control is undo for the AI — and it's the AI's memory between sessions.** This is the one @@ -282,3 +286,8 @@ When undo feels free and starting a cold session feels like "just read the repo, safety net. Module 3 puts it to work on the lowest-risk possible target — documents, not code — before Module 4 lets the AI edit your files directly. + +--- + +**Continue to: [Module 3 — Version Control for Words, Not Just Code](03-version-control-for-words)** ➡ + diff --git a/03-version-control-for-words.md b/03-version-control-for-words.md index 1eac2a7..809cc2a 100644 --- a/03-version-control-for-words.md +++ b/03-version-control-for-words.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/03-version-control-for-words/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/03-version-control-for-words/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 2 — Version Control as a Safety Net](02-version-control-as-a-safety-net)** + + # Module 3 — Version Control for Words, Not Just Code > **The safest possible place to practice Git is on prose — and it happens to be a genuinely useful @@ -358,3 +362,8 @@ When branch/diff/commit/merge feels routine on a document, you're ready for **Mo finally comes out of the browser and starts editing your files directly — a step that's only safe because you can now branch, diff, and revert exactly what it does. + +--- + +**Continue to: [Module 4 — Getting the AI Out of the Browser](04-getting-the-ai-out-of-the-browser)** ➡ + diff --git a/04-getting-the-ai-out-of-the-browser.md b/04-getting-the-ai-out-of-the-browser.md index 646ef43..5365266 100644 --- a/04-getting-the-ai-out-of-the-browser.md +++ b/04-getting-the-ai-out-of-the-browser.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/04-getting-the-ai-out-of-the-browser/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/04-getting-the-ai-out-of-the-browser/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 3 — Version Control for Words, Not Just Code](03-version-control-for-words)** + + # Module 4 — Getting the AI Out of the Browser > **The copy-paste loop from Module 1 ends here.** You stop being the integration layer between a @@ -450,3 +454,8 @@ time: current tools; update the labels if the common terminology has moved. - [ ] `lab/verify.sh` still passes against the Module 1 `tasks-app` after an AI implements `delete`. + +--- + +**Continue to: [Module 5 — Commit the AI's Config, Not Just the Code](05-commit-the-ai-config)** ➡ + diff --git a/05-commit-the-ai-config.md b/05-commit-the-ai-config.md index 65a1474..ff72b9b 100644 --- a/05-commit-the-ai-config.md +++ b/05-commit-the-ai-config.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/05-commit-the-ai-config/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/05-commit-the-ai-config/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 4 — Getting the AI Out of the Browser](04-getting-the-ai-out-of-the-browser)** + + # Module 5 — Commit the AI's Config, Not Just the Code > **The instructions you give the model are as worth versioning as the code it writes.** Write your @@ -308,3 +312,8 @@ When the AI behaves like it already knows your project the moment you open it word this session — the file is doing its job. Module 6 takes the safety net further: branches, so the AI can try something wild in a sandbox you can throw away. + +--- + +**Continue to: [Module 6 — Branches: Sandboxes for Experiments](06-branches-sandboxes-for-experiments)** ➡ + diff --git a/06-branches-sandboxes-for-experiments.md b/06-branches-sandboxes-for-experiments.md index 42d3c15..6d3cfb1 100644 --- a/06-branches-sandboxes-for-experiments.md +++ b/06-branches-sandboxes-for-experiments.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/06-branches-sandboxes-for-experiments/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/06-branches-sandboxes-for-experiments/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 5 — Commit the AI's Config, Not Just the Code](05-commit-the-ai-config)** + + # Module 6 — Branches: Sandboxes for Experiments > **A branch is a disposable copy of your project where the AI can try anything — and `main` never @@ -503,3 +507,8 @@ When "let the agent try something wild" feels like a one-line decision instead o you've got it. Module 7 takes the next step: running several of these branches *live at the same time* in separate working directories, so multiple agents can work in parallel without colliding. + +--- + +**Continue to: [Module 7 — Worktrees: Running Agents in Parallel](07-worktrees-running-agents-in-parallel)** ➡ + diff --git a/07-worktrees-running-agents-in-parallel.md b/07-worktrees-running-agents-in-parallel.md index 79fba4b..8bc995a 100644 --- a/07-worktrees-running-agents-in-parallel.md +++ b/07-worktrees-running-agents-in-parallel.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/07-worktrees-running-agents-in-parallel/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/07-worktrees-running-agents-in-parallel/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 6 — Branches: Sandboxes for Experiments](06-branches-sandboxes-for-experiments)** + + # Module 7 — Worktrees: Running Agents in Parallel > **A branch lets one agent try something risky. A worktree lets two agents try two things at the @@ -421,3 +425,8 @@ Worktrees are sharp tools. The honest caveats: When "run two agents at once" feels like "open two folders" instead of "orchestrate a stash dance," you've got it. This is the primitive Module 26 scales up — for now, two is plenty. + +--- + +**Continue to: [Module 8 — Remotes and Hosting: GitHub, the Alternatives, and Owning Your Repo](08-remotes-and-hosting)** ➡ + diff --git a/08-remotes-and-hosting.md b/08-remotes-and-hosting.md index 900a2ce..71698e3 100644 --- a/08-remotes-and-hosting.md +++ b/08-remotes-and-hosting.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/08-remotes-and-hosting/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/08-remotes-and-hosting/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 7 — Worktrees: Running Agents in Parallel](07-worktrees-running-agents-in-parallel)** + + # Module 8 — Remotes and Hosting: GitHub, the Alternatives, and Owning Your Repo > **One repo on one laptop is one spilled coffee away from gone.** A remote gets your history @@ -494,3 +498,8 @@ tables, and update the "as of" date when you do. scope name on the default-example host before publishing. - [ ] Update the comparison's **"as of" date** to the build date. + +--- + +**Continue to: [Module 9 — Issues and the Task Layer](09-issues-and-the-task-layer)** ➡ + diff --git a/09-issues-and-the-task-layer.md b/09-issues-and-the-task-layer.md index 0fc8147..2db859a 100644 --- a/09-issues-and-the-task-layer.md +++ b/09-issues-and-the-task-layer.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/09-issues-and-the-task-layer/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/09-issues-and-the-task-layer/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 8 — Remotes and Hosting: GitHub, the Alternatives, and Owning Your Repo](08-remotes-and-hosting)** + + # Module 9 — Issues and the Task Layer > **An issue is how you hand a piece of work to someone else — and "someone else" is now a mix of @@ -355,3 +359,8 @@ moving ground: vs. custom labels) — confirm the neutral descriptions still hold across the forges named in Module 8. + +--- + +**Continue to: [Module 10 — Reviewing Code You Didn't Write](10-reviewing-code-you-didnt-write)** ➡ + diff --git a/10-reviewing-code-you-didnt-write.md b/10-reviewing-code-you-didnt-write.md index 6eacd1a..ee1c4d9 100644 --- a/10-reviewing-code-you-didnt-write.md +++ b/10-reviewing-code-you-didnt-write.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/10-reviewing-code-you-didnt-write/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/10-reviewing-code-you-didnt-write/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 9 — Issues and the Task Layer](09-issues-and-the-task-layer)** + + # Module 10 — Reviewing Code You Didn't Write > **The AI wrote a diff that reads beautifully and is wrong in one line you'll skim right past.** @@ -332,3 +336,8 @@ When "it runs" stops feeling like sufficient evidence and "I read every `-` line mandatory, you've got the skill. Module 11 takes this gate and wires it into the full collaboration loop — issues, branches, PRs, and merges — with both humans and agents as contributors. + +--- + +**Continue to: [Module 11 — Collaboration: Humans and Agents on One Repo](11-collaboration-humans-and-agents)** ➡ + diff --git a/11-collaboration-humans-and-agents.md b/11-collaboration-humans-and-agents.md index 3fb27b2..6ce0401 100644 --- a/11-collaboration-humans-and-agents.md +++ b/11-collaboration-humans-and-agents.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/11-collaboration-humans-and-agents/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/11-collaboration-humans-and-agents/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 10 — Reviewing Code You Didn't Write](10-reviewing-code-you-didnt-write)** + + # Module 11 — Collaboration: Humans and Agents on One Repo > **You now have every piece — issues, branches, PRs, review. This module wires them into one loop, @@ -468,3 +472,8 @@ branch and review its PR" feels obvious rather than novel — you're ready for M the *recovery* half of this safety net its own discipline: reverting a bad PR after it's already merged. + +--- + +**Continue to: [Module 12 — When It Goes Wrong: Revert, Reset, and Recovery](12-revert-reset-and-recovery)** ➡ + diff --git a/12-revert-reset-and-recovery.md b/12-revert-reset-and-recovery.md index ad02209..0d2ec55 100644 --- a/12-revert-reset-and-recovery.md +++ b/12-revert-reset-and-recovery.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/12-revert-reset-and-recovery/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/12-revert-reset-and-recovery/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 11 — Collaboration: Humans and Agents on One Repo](11-collaboration-humans-and-agents)** + + # Module 12 — When It Goes Wrong: Revert, Reset, and Recovery > **A bad change already shipped. Now what?** Recovery is its own skill — and knowing the *right* @@ -421,3 +425,8 @@ When `revert` vs. `reset` is automatic, the reflog feels like a safety net inste can name where Git's recovery stops, you've got the recovery half of the thread. That completes the team layer (Unit 2) — next, Unit 3 starts automating the checking and shipping, beginning with tests. + +--- + +**Continue to: [Module 13 — Testing in the AI Era](13-testing-in-the-ai-era)** ➡ + diff --git a/13-testing-in-the-ai-era.md b/13-testing-in-the-ai-era.md index f78ebed..1bd6e8d 100644 --- a/13-testing-in-the-ai-era.md +++ b/13-testing-in-the-ai-era.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/13-testing-in-the-ai-era/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/13-testing-in-the-ai-era/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 12 — When It Goes Wrong: Revert, Reset, and Recovery](12-revert-reset-and-recovery)** + + # Module 13 — Testing in the AI Era > **AI writes code that looks right and passes a human skim — that's exactly the code that needs a @@ -356,3 +360,8 @@ The honest limits, because a green suite invites overconfidence: If a test that can't possibly fail now reads to you as obviously useless, you've got the core idea — and you're ready for **Module 14**, where these tests stop depending on you remembering to run them. + +--- + +**Continue to: [Module 14 — Continuous Integration](14-continuous-integration)** ➡ + diff --git a/14-continuous-integration.md b/14-continuous-integration.md index 7353325..6ecf0a7 100644 --- a/14-continuous-integration.md +++ b/14-continuous-integration.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/14-continuous-integration/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/14-continuous-integration/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 13 — Testing in the AI Era](13-testing-in-the-ai-era)** + + # Module 14 — Continuous Integration > **The AI writes code that looks right. CI is the tireless reviewer that checks whether it actually @@ -385,3 +389,8 @@ Re-check at build time: described — or swap in the equivalent the rest of the course uses. (The test runner is Python's standard-library `unittest`, which ships with Python — no install, nothing to drift.) + +--- + +**Continue to: [Module 15 — Security Scanning for AI-Generated Code](15-security-scanning)** ➡ + diff --git a/15-security-scanning.md b/15-security-scanning.md index 628b706..5f8d60c 100644 --- a/15-security-scanning.md +++ b/15-security-scanning.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/15-security-scanning/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/15-security-scanning/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 14 — Continuous Integration](14-continuous-integration)** + + # Module 15 — Security Scanning for AI-Generated Code > **Your build is green, your tests pass, and the AI just imported a package that doesn't exist — @@ -476,3 +480,8 @@ reproducible. make the slopsquatting point for you, but breaks the lab's "resolution fails" step). Swap for a currently-nonexistent plausible name if so. + +--- + +**Continue to: [Module 16 — Containers and Reproducible Environments](16-containers-and-reproducible-environments)** ➡ + diff --git a/16-containers-and-reproducible-environments.md b/16-containers-and-reproducible-environments.md index 99813a3..750a687 100644 --- a/16-containers-and-reproducible-environments.md +++ b/16-containers-and-reproducible-environments.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/16-containers-and-reproducible-environments/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/16-containers-and-reproducible-environments/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 15 — Security Scanning for AI-Generated Code](15-security-scanning)** + + # Module 16 — Containers and Reproducible Environments > **"Works on my machine" is a confession, not a defense.** A container ships the machine with the @@ -355,3 +359,8 @@ Expansion-zone module — container tooling and base images move. Re-check at bu - [ ] **`useradd` on the base.** Confirm the Debian-slim base still ships `useradd` (it does today; a future minimal base might not), or switch to the engine's documented non-root pattern. + +--- + +**Continue to: [Module 17 — Secrets, Config, and Environments](17-secrets-config-and-environments)** ➡ + diff --git a/17-secrets-config-and-environments.md b/17-secrets-config-and-environments.md index 3eb8b2b..1027b27 100644 --- a/17-secrets-config-and-environments.md +++ b/17-secrets-config-and-environments.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/17-secrets-config-and-environments/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/17-secrets-config-and-environments/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 16 — Containers and Reproducible Environments](16-containers-and-reproducible-environments)** + + # Module 17 — Secrets, Config, and Environments > **Ask an AI to "connect to the API" and it will cheerfully paste your secret key straight into @@ -498,3 +502,8 @@ publishing: - [ ] **Confirm cross-references** to Modules 2, 5, 8, 12, 14, 15, 16, and 18 still match those modules' final numbering and titles. + +--- + +**Continue to: [Module 18 — Continuous Delivery and Deployment](18-continuous-delivery-and-deployment)** ➡ + diff --git a/18-continuous-delivery-and-deployment.md b/18-continuous-delivery-and-deployment.md index 18de844..611faa8 100644 --- a/18-continuous-delivery-and-deployment.md +++ b/18-continuous-delivery-and-deployment.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/18-continuous-delivery-and-deployment/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/18-continuous-delivery-and-deployment/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 17 — Secrets, Config, and Environments](17-secrets-config-and-environments)** + + # Module 18 — Continuous Delivery and Deployment > **Merged isn't running.** This module closes the last gap in the pipeline — getting approved code @@ -388,3 +392,8 @@ This is expansion-zone material (Module 15+); some specifics drift. Re-check at (`run`, `--health-*`, `inspect`) match current CLI behavior. - [ ] **Cross-references** to Modules 16, 17, and 19 still match those modules' final content. + +--- + +**Continue to: [Module 19 — Runners: The Compute Behind the Automation](19-runners-the-compute-behind-automation)** ➡ + diff --git a/19-runners-the-compute-behind-automation.md b/19-runners-the-compute-behind-automation.md index 1d1f687..08f4675 100644 --- a/19-runners-the-compute-behind-automation.md +++ b/19-runners-the-compute-behind-automation.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/19-runners-the-compute-behind-automation/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/19-runners-the-compute-behind-automation/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 18 — Continuous Delivery and Deployment](18-continuous-delivery-and-deployment)** + + # Module 19 — Runners: The Compute Behind the Automation > **Every green check in the last five modules ran on someone else's computer. This module is where @@ -364,3 +368,8 @@ This is an expansion-zone module and the runner ecosystem moves. Re-check at bui - [ ] **Runner-to-server version-compatibility guidance** — confirm the "keep the agent version matched to the forge" caveat still reflects current behavior. + +--- + +**Continue to: [Module 20 — MCP Servers: Giving the AI Hands](20-mcp-servers-giving-the-ai-hands)** ➡ + diff --git a/20-mcp-servers-giving-the-ai-hands.md b/20-mcp-servers-giving-the-ai-hands.md index b21feb4..3a04409 100644 --- a/20-mcp-servers-giving-the-ai-hands.md +++ b/20-mcp-servers-giving-the-ai-hands.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/20-mcp-servers-giving-the-ai-hands/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/20-mcp-servers-giving-the-ai-hands/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 19 — Runners: The Compute Behind the Automation](19-runners-the-compute-behind-automation)** + + # Module 20 — MCP Servers: Giving the AI Hands > **Until now the AI could read and write files in your repo and nothing else. MCP lets it reach @@ -482,3 +486,8 @@ MCP is moving fast; re-check these at build/publish time rather than trusting th - [ ] **Adoption framing.** Re-confirm the "open standard, adopted across vendors regardless of model" claim is still accurate and still vendor-neutral; update if the ecosystem has shifted. + +--- + +**Continue to: [Module 21 — Skills: Teaching the AI Your Playbook](21-skills-teaching-the-ai-your-playbook)** ➡ + diff --git a/21-skills-teaching-the-ai-your-playbook.md b/21-skills-teaching-the-ai-your-playbook.md index a267405..b468a17 100644 --- a/21-skills-teaching-the-ai-your-playbook.md +++ b/21-skills-teaching-the-ai-your-playbook.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/21-skills-teaching-the-ai-your-playbook/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/21-skills-teaching-the-ai-your-playbook/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 20 — MCP Servers: Giving the AI Hands](20-mcp-servers-giving-the-ai-hands)** + + # Module 21 — Skills: Teaching the AI Your Playbook > **Stop re-explaining your own procedures.** A skill is a repeatable workflow written down once, @@ -309,3 +313,8 @@ time: walkthrough still matches the starter files (`add`/`list`/`done`/`count`, `test_tasks.py`, `CHANGELOG.md`). + +--- + +**Continue to: [Module 22 — Securing Third-Party MCP Servers and Skills](22-securing-third-party-mcp-and-skills)** ➡ + diff --git a/22-securing-third-party-mcp-and-skills.md b/22-securing-third-party-mcp-and-skills.md index 4435cb9..bbfef09 100644 --- a/22-securing-third-party-mcp-and-skills.md +++ b/22-securing-third-party-mcp-and-skills.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/22-securing-third-party-mcp-and-skills/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/22-securing-third-party-mcp-and-skills/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 21 — Skills: Teaching the AI Your Playbook](21-skills-teaching-the-ai-your-playbook)** + + # Module 22 — Securing Third-Party MCP Servers and Skills > **Installing a third-party MCP server or skill is installing untrusted code that runs with access @@ -369,3 +373,8 @@ Expansion-zone module; the surface this defends moves fast. Re-check at build ti hidden-Unicode instruction, and the `tasks-app` injection lab still works against a current model. + +--- + +**Continue to: [Module 23 — Working with Existing Codebases](23-working-with-existing-codebases)** ➡ + diff --git a/23-working-with-existing-codebases.md b/23-working-with-existing-codebases.md index 6106146..9ed9c02 100644 --- a/23-working-with-existing-codebases.md +++ b/23-working-with-existing-codebases.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/23-working-with-existing-codebases/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/23-working-with-existing-codebases/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 22 — Securing Third-Party MCP Servers and Skills](22-securing-third-party-mcp-and-skills)** + + # Module 23 — Working with Existing Codebases > **Every module so far quietly assumed you started the project. Most of your real work won't be @@ -309,3 +313,8 @@ This is an expansion-zone module; the durable motion is stable, but the tooling - [ ] Sanity-check the suggested "small-to-medium repo with a fast test suite" lab guidance still lands — recommend nothing by name that could rot. + +--- + +**Continue to: [Module 24 — Assistive Agents: AI Review and Issue Triage](24-assistive-agents)** ➡ + diff --git a/24-assistive-agents.md b/24-assistive-agents.md index 1151d2e..4cc46ee 100644 --- a/24-assistive-agents.md +++ b/24-assistive-agents.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/24-assistive-agents/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/24-assistive-agents/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 23 — Working with Existing Codebases](23-working-with-existing-codebases)** + + # Module 24 — Assistive Agents: AI Review and Issue Triage > **The first safe way to put an AI *inside* your workflow instead of beside it: let it comment and @@ -335,3 +339,8 @@ This is expansion-zone material; the agent-tooling landscape moves fast. Re-chec if any modules were renumbered. - [ ] Check that nothing here pins a specific LLM vendor or a specific bot's config filename. + +--- + +**Continue to: [Module 25 — Autonomous Agents: Issue-to-PR and Self-Healing CI](25-autonomous-agents)** ➡ + diff --git a/25-autonomous-agents.md b/25-autonomous-agents.md index db963cf..6d05b55 100644 --- a/25-autonomous-agents.md +++ b/25-autonomous-agents.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/25-autonomous-agents/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/25-autonomous-agents/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 24 — Assistive Agents: AI Review and Issue Triage](24-assistive-agents)** + + # Module 25 — Autonomous Agents: Issue-to-PR and Self-Healing CI > **Now the AI acts on its own — takes an assigned issue, opens a pull request, even fixes its own @@ -379,3 +383,8 @@ This is an expansion-zone module sitting on fast-moving ground. Re-check at buil trigger events (issue-labeled, comment command) match current forge behavior, and that the GitLab / Forgejo equivalents in the comments are still accurate. + +--- + +**Continue to: [Module 26 — Orchestrating Multiple Agents](26-orchestrating-multiple-agents)** ➡ + diff --git a/26-orchestrating-multiple-agents.md b/26-orchestrating-multiple-agents.md index bd1d32f..afa6d1a 100644 --- a/26-orchestrating-multiple-agents.md +++ b/26-orchestrating-multiple-agents.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/26-orchestrating-multiple-agents/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/26-orchestrating-multiple-agents/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 25 — Autonomous Agents: Issue-to-PR and Self-Healing CI](25-autonomous-agents)** + + # Module 26 — Orchestrating Multiple Agents > **One agent on its own branch was the experiment. Several agents at once, on their own branches, @@ -482,3 +486,8 @@ Re-check at build/publish time: - [ ] **Cross-references** to Modules 24 (assistive review) and 27 (evals) still match their final titles and framing. + +--- + +**Continue to: [Module 27 — Evals: Trusting an Agent That Acts Without You](27-evals)** ➡ + diff --git a/27-evals.md b/27-evals.md index ab7fe6f..41585e9 100644 --- a/27-evals.md +++ b/27-evals.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`modules/27-evals/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/modules/27-evals/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 26 — Orchestrating Multiple Agents](26-orchestrating-multiple-agents)** + + # Module 27 — Evals: Trusting an Agent That Acts Without You > **You will swap the model. Evals are the only thing that tells you whether the swap was safe.** @@ -383,3 +387,8 @@ This is an expansion-zone module over fast-moving ground. Re-check at build/publ - [ ] **Lab still runs.** `python run_eval.py candidates/current_model` exits 0 at 100%, and `candidates/swapped_model` exits 1 below threshold, on a current Python 3.x. + +--- + +**Continue to: [Capstone — The Full Loop](capstone)** ➡ + diff --git a/capstone.md b/capstone.md index 1491cc4..47c0826 100644 --- a/capstone.md +++ b/capstone.md @@ -1,5 +1,9 @@ > 📖 _This page is generated from [`capstone/README.md`](https://git.jpaul.io/justin/ai-workflow-course/src/branch/main/capstone/README.md). **Edit the source, not the wiki** — edits here are overwritten on the next sync. Run the hands-on labs from the repo, linked inline._ + +⬅ **Previous: [Module 27 — Evals: Trusting an Agent That Acts Without You](27-evals)** + + # Capstone — The Full Loop > **One feature, taken end to end, with every module doing its job in sequence.** This is the finale: