Changelog
Source:NEWS.md
vscode.tutorials (development version)
Antigravity moved to
misc.tutorials, shortened to a sign-in-and-try-it tutorial that sits just before R4DS 1. Its ordering slot (5) is left unused here.Aligned with codespace-starter’s 2026-10-30 consolidation: the starter writes one block to
~/.bashrcthat sources~/.config/codespace-starter/bashrc.d/*.sh, the short prompt lives in10-prompt.sh,connect-repopersists itsunset GITHUB_TOKENas30-github-token.shand prints each command it runs or skips, and the auto-cd hook is gone. Dotfiles shows that block instead of ashort-promptgrep, the by-hand sign-in recipe in GitHub Introduction, GitHub Advanced, and Dotfiles writes the same snippet file, and Workflow’s connect-repo transcript shows the new step lines. Image pins read 1.3.5.The sentence that says how to take a screenshot (
Cmd + Ctrl + Shift + 4,Win + Shift + S,Ctrl + Shift + Show windows) now appears only in Orientation, Workflow and Code. Workflow gains a screenshot question to carry it: a picture of the new, emptyworkflowrepository on GitHub. The nine later tutorials with screenshot questions just ask for the screenshot.GitHub Introduction’s “Using Git” section is rebuilt around two Codespaces. Students open a raw
codespace-starterCodespace beside their usual one and, for each thingconnect-repodoes (drop the built-in token, sign in, store the credential, create the repo, copyAGENTS.md), look at the raw machine, look at their own, and then make the raw one match by hand.connect-repo --helpis gone from the tutorial.Dotfiles is rewritten as the graduation from
connect-repoand moves to directly after GitHub Advanced (ordering 11). Thedotfilesrepo, created withconnect-repolike every other and then made private, delivers an install script that appendsbashrcandgitconfigfragments, a new section stores a GitHub token and the student’s Census API key as the Codespaces secretsGH_TOKENandCENSUS_API_KEY, thebashrcfragment definesagydasagy --dangerously-skip-permissions, and a fresh Codespace arrives signed in as the student with tidycensus ready. Its 29 exercises each ask for one paste, with a four-part map in the Introduction. Websites 1 and 2 and the four devcontainer tutorials shift down one slot each.GitHub Advanced’s sign-in recipe gains the line that writes the token into
~/.git-credentials, and its Summary points at Dotfiles.Editorial pass over every tutorial: an exercise asks the student to paste one thing (two-ask questions were split, adding a dozen exercises across Code, Devcontainers, Our Codespace Starter, The Devcontainer Dockerfile, GitHub Introduction, and Models And Money), prose has almost no semicolons, filler sentences are gone, and every question’s
textis a complete copy of its prompt. The repo line no longer says “You may need to restart this tutorial after you do so,” which was a learnr artifact.Stale image pins in GitHub Advanced and Our Codespace Starter now match codespace-starter (1.3.7).
Orientation no longer says the Explorer hides dot-folders the way plain
lsdoes. It explains thatcodespace-starterhides its own.devcontainer,.githuband.vscodeon purpose, through a setting of its own, and that a student’s repo shows everything. Devcontainers and Our Codespace Starter say the same where they open the file.Every code block now says what it is: commands carry their language (
bash,r,yaml,json,dockerfile,ini,markdown), text to type that is in no language (AI prompts, commit messages) isdefault, and transcripts and the answers shown after Continue are{.output}, which renders lighter and without a copy button. The 575 bare fences are gone, solearnr2::check_tutorial()runs clean.Questions that had the student copy text out of a web page now ask for a screenshot instead: the
ggsave()help page (Code), the first cell of the Jupyter notebook (Devcontainers), the Dotfiles setting and the Codespaces list after a deletion (Dotfiles), the key’s credit limit (Models And Money), and the Data Training settings and the Codespaces secret (OpenRouter). Every screenshot question is now image-only (allow_text = FALSE), and the first one in each tutorial says how to take a screenshot and paste it. Needs the learnr2 that shipsallow_text.Each tutorial’s place in the sequence now comes from
learnr2: ordering:in its YAML header, so the directories lost their numeric prefixes (01-orientationis noworientation, and so on). Run tutorials by the new names, e.g.learnr2::run_tutorial("workflow", package = "vscode.tutorials").The Devcontainer Dockerfile tutorial’s copy of the Dockerfile is refreshed to the image without learnr.
Rebuilt every tutorial on learnr2, which renders each one to a static Quarto page whose code runs in the browser via WebR. learnr2 is the package’s only tutorial dependency (it also supplies
show_file()), and the tests and CI render tutorials withlearnr2::check_tutorial()andlearnr2::render_tutorials(). The previous version is taggedlast-learnr-version.Renamed the Workspace tutorial to Orientation and renumbered every tutorial directory to start from 01 (
01-orientationthrough19-models). Tutorial ids changed with the directories, so stored answers for earlier ids do not carry over.Rebuilt the curriculum into nineteen tutorials, after several rounds of splitting, renaming, and renumbering: Workspace, Workflow, Code, Quarto, Antigravity, Terminal 1-3, GitHub Introduction/Advanced, Websites 1-2, the devcontainer arc (Devcontainers through Your Starter), Dotfiles, OpenRouter, and Models And Money.
Code and Quarto now practice Git throughout: Source Control UI commits at each milestone,
.gitignoreat the first render, and no bash git commands before GitHub Introduction. Quarto builds two documents instead of three and publishes the second.Dotfiles is a full tutorial (was a stub), with OpenRouter and Models And Money reworked around it — the latter now includes a real $10 credit purchase. Thanks @JacobKhay (PR #73).
Adopted a fixed vocabulary for the VS Code terminal machinery (Panel, Terminal view, terminal, bash Terminal, R Terminal), recorded in CLAUDE.md.
Synced the devcontainer tutorials with upstream PPBDS/devcontainers and PPBDS/codespace-starter: R 4.6.1, image pin 1.1.2, refreshed embedded Dockerfile.