Contributing¶
Thanks for helping. This playbook only works if it stays accurate and easy to understand, so every fix counts, including a single clearer sentence.
Ways to help¶
- Fix something wrong or unclear: use the content fix form, or open a pull request.
- Report a broken link: use the broken link form.
- Suggest a topic: use the topic request form.
- Write a note: copy templates/note-template.md into the right module folder and follow STYLE.md.
- Improve a project: fixes, clearer READMEs, and tests are welcome. Keep the fake-LLM tests working so nobody needs an API key to run them.
New to pull requests? Click the pencil icon on any page on GitHub, make your edit, and GitHub walks you through the rest.
What we accept¶
- Original writing. Don't copy from courses, books, videos or other sites.
- Explanations aimed at beginners to intermediates. Advanced material belongs in "Go deeper" links.
- Sources that are official, primary, or reputable. See STYLE.md.
- No promotional links, referral codes or tracking parameters.
Run the checks locally¶
You need Python 3.12+, uv, and Node.js (for the markdown linter).
make check # note format, glossary, relative links, markdown lint, all project tests
make links # external link check (needs lychee: brew install lychee)
make site-serve # preview the website at http://127.0.0.1:8000
The website is built from the same markdown files, so anything that renders correctly on GitHub and passes make check will look right on the site. Only use the formatting listed in STYLE.md.
Run one project's tests:
Disclosure¶
If you work for, own, or are paid by a product you're adding or editing, say so in the pull request. You're welcome to contribute; we just need to know.
Code of Conduct¶
By taking part, you agree to follow our Code of Conduct.