De-slop: remove every em-dash + banned words across all modules + capstone (#94)
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:
2026-06-22 23:21:22 -04:00
committed by Claude (agent)
parent 513d7e7ac8
commit c098933f25
99 changed files with 1324 additions and 1315 deletions
@@ -1,10 +1,10 @@
# Starter CI workflow for the tasks-app forge-native, GitHub Actions flavor.
# Starter CI workflow for the tasks-app: forge-native, GitHub Actions flavor.
#
# Where this file goes: GitHub Actions reads workflow files from the .github/workflows/ directory
# at the root of your repo. Copy this file to .github/workflows/ci.yml (the name "ci.yml" is yours
# to choose; the .github/workflows/ path is not). Commit it, push, and the forge runs it.
#
# The same three checks (lint, then test) exist on every forge only the YAML shape differs. See
# The same three checks (lint, then test) exist on every forge; only the YAML shape differs. See
# gitlab-ci-starter.yml in this folder for the GitLab equivalent of this exact pipeline.
name: CI
@@ -18,7 +18,7 @@ on:
jobs:
check:
# The runner: a fresh, throwaway Linux machine the forge spins up for this job. "Works on my
# machine" can't hide here this machine has nothing of yours on it. (More on runners in
# machine" can't hide here; this machine has nothing of yours on it. (More on runners in
# Module 19, including running your own.)
runs-on: ubuntu-latest
@@ -34,7 +34,7 @@ jobs:
python-version: "3.12"
# Step 3: install the linter (ruff), the new tool this module adds. The test runner is
# Python's standard-library unittest from Module 13 nothing to install for it.
# Python's standard-library unittest from Module 13; nothing to install for it.
- name: Install tools
run: pip install ruff
@@ -1,7 +1,7 @@
# The SAME pipeline as ci-starter.yml, written for GitLab CI instead of GitHub Actions.
#
# The point of having both side by side: CI is a concept, not a product. Checkout, set up the
# language, install tools, lint, test every forge does these. Only the YAML dialect and the
# language, install tools, lint, test: every forge does these. Only the YAML dialect and the
# magic filename differ.
#
# Where this file goes: GitLab reads a single file named .gitlab-ci.yml at the repo root. Copy this
@@ -13,10 +13,10 @@ stages:
check:
stage: check
# The runner image a throwaway container with Python already installed. The GitLab equivalent
# The runner image: a throwaway container with Python already installed. The GitLab equivalent
# of "runs-on: ubuntu-latest" plus "set up Python".
image: python:3.12
script:
- pip install ruff
- ruff check . # lint
- python -m unittest # test (stdlib runner from Module 13 nothing to install)
- python -m unittest # test (stdlib runner from Module 13; nothing to install)
@@ -1,7 +1,7 @@
"""Tests for the tasks-app core logic the kind of suite Module 13 has you write.
"""Tests for the tasks-app core logic: the kind of suite Module 13 has you write.
Reproduced here so this module's lab is self-contained: if you already wrote tests in Module 13,
use those instead. Standard-library `unittest`, exactly like Module 13 nothing to install.
use those instead. Standard-library `unittest`, exactly like Module 13, nothing to install.
Run locally with `python -m unittest` from the project folder. CI runs exactly this.
"""