Repository navigation
Handouts: every step has the command or the prompt to paste, on macOS, Linux and Windows - #1
Open
alexiocassanifm wants to merge 2 commits into
Open
alexiocassanifm wants to merge 2 commits into
alexiocassanifm wants to merge 2 commits into
Conversation
Each step now says what to type in the terminal and what to paste in Claude Code, with what to expect. Where the lesson is a design choice (the loop's stop, its interval, where the review writes), a variant prompt changes that one thing. Windows runs natively: `py workshop`, Git for Windows for Claude Code's shell, no jq in any handout. `workshop` gains `events` (reads the stream-json log, UTF-16 too) and `hook` / `log-tool` (the exercise 1 hook, with no jq). A committed .claude/settings.json pre-approves the test, git and gh commands: without it, the exercise 1 headless run was denied every test it tried. Claude Code ignores that file until the folder is trusted, so README gains the step and doctor checks it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UMGFBjF5h1nKda8qUaoRVV
…3 named /goal starts working as soon as it is set, so the condition carries the task and there is no second prompt to land mid-run. The allow-list keeps the gh verbs that read or comment: pre-approving `gh pr *` also pre-approved `gh pr merge --admin`, the act exercise 5 says only a prompt forbids. Exercise 5's duplicate filing happens in the same copy, the only place its search can see. On Windows, doctor checks the `python3` the loop gate calls from Git Bash, and README says exercise 3 run 2 is untested there. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UMGFBjF5h1nKda8qUaoRVV
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes for a participant
Every step of the five handouts now says what to type in the terminal, what to paste in Claude Code and what to expect. Where the lesson is a design choice (the loop's stop, its interval, where the review writes), a Variant prompt changes that one thing so the point still lands. The merge policy in exercise 5 stays a team discussion, because the decision is the exercise.
Windows runs natively:
py workshop …, Git for Windows (Claude Code runs its shell through Git Bash), nojq,exportor\line continuation in any handout.Behaviour changes
workshop events <file>replaces the twojqpipelines of exercise 1 and also reads a UTF-16 log (a Windows PowerShell 5.1>redirect).workshop hook/log-toolreplace the hand-written hook. The hook goes into the gitignored.claude/settings.local.json, calls the interpreter by absolute path, andresetremoves it..claude/settings.json(new, committed) pre-approves the test,gitand read/commentghcommands. Measured: without it, the exercise 1 headless run had every test command it tried denied. It does not pre-approve merges, deletes or rawgh apicalls, which still ask./goalis not available until then either, so README gains a trust step anddoctorchecks it (parent folders included, since trusting a folder trusts what is inside it)./goalstarts working as soon as it is set, so exercise 3 run 1 is one paste./loopcannot stop itself, but a self-paced one can, so Loop A is self-paced. The fixed-interval version is now the "forgotten stop" variant.resetreplays the template'smain→exN-startdiff. If this merges whileex2-start,ex3-*-startandex4-startare still the old builds,reset ex2/ex3/ex4rolls this PR back on every participant's copy. After merging, run the FACILITATOR recipe (solutionsmergesmain,build_branches.py,verify.sh, force-push the four starting branches). The companion PR intosolutionsadds averify.shcheck that fails in exactly that case: rehearsed, it is green on rebuilt branches and fails on the stale ones.Tested and untested
claude -prun (0 denials, hook log matching the stream),eventson UTF-8 and UTF-16,resetremoving the hook,pytest,verify.shALL VERIFIED on rebuilt branches./loop,/goaland routines.python3from Git Bash, and a python.org or winget Python only answers topython/py.doctorchecks it on Windows, and README says so.🤖 Generated with Claude Code
https://claude.ai/code/session_01UMGFBjF5h1nKda8qUaoRVV