Maintain exercises
Starter main.go files must stay unsolved on the default branch.
Adding an exercise
- Create
N-slug/withmain.go(broken or sequential starter), support files markedDO NOT EDIT THIS PART,README.md(human), andAGENTS.md(agent). - Use
package main. Do not add a nestedgo.mod. - Prefer
check_test.gothat fails on the starter and passes on a correct solution. If the behavior is interactive, documentgo run .instead. - Append the exercise to
/exercises.json. - Add a row to the root
/AGENTS.mdlayout table. - Add a bullet under Exercises in
/llms.txtwith raw.githubusercontent.com links to the README and AGENTS.md. - Link the new directory from
/README.md.
Editing existing exercises
- Keep learner-facing rules: only
main.gois the solution file. - Do not "fix" starter races or missing concurrency unless the task itself is changing.
- If you change verify commands, update the exercise
AGENTS.md,exercises.json, and the root layout table together.
Agent discovery files
| File | Role |
|---|---|
AGENTS.md |
Operational rules for every coding agent |
CLAUDE.md |
@AGENTS.md import for Claude Code |
.github/copilot-instructions.md |
Copilot pointer at AGENTS.md |
llms.txt |
Curated index for crawlers and chat agents |
exercises.json |
Machine-readable catalog |
.agents/skills/*/SKILL.md |
On-demand workflows |
Keep these four in sync: exercises.json, root AGENTS.md, llms.txt, README.md.