For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).
Update a Mojo cheat sheet
One-page reference cards for the Mojo language, rendered from HTML sources to PDF, PNG, and SVG (light + dark). Use this skill to update an existing card or add a new one.
Where things are
src/body-<topic>.html— the content of one card; this is what you edit.src/_head.html,src/_foot.html— shared CSS, palette, header.bin/build.py— assembles a card and renders all formats. It discovers cards from the body files present; there is no card list to edit.dist/— produced files. Generated; never edit by hand.
Workflow
-
Anchor to the reference. Every behavioral claim on a card must match the Mojo reference docs under
mojo/docs/reference/, or a short program you compile to confirm it. Do not rely on memory or older syntax. -
One card at a time.
-
Edit the source, never the output. Change
src/body-<topic>.html. -
A card's title and subtitle live in two comment lines at the top of its body file:
<!-- title: ... --><!-- subtitle: ... --> -
Rebuild and look:
python3 bin/build.py <topic>, then opendist/mojo-cheat-sheet-<topic>-light.png. -
Compiler-check new claims with a tiny snippet before asserting them.
-
Discuss restructuring a card or adding a new one before doing it.
Conventions
- Each card stands alone. No cross-references between cards.
- One space before a trailing
#comment; keep all trailing comments. - No em-dashes in prose.
- Keep code lines short enough not to wrap.
- Current Mojo syntax only:
def(nofn),comptime(notalias),read/mut/out/var/refconventions,t"..."template strings. - The legend on each card is generated from the colors it uses; do not maintain it by hand.
Build everything
python3 bin/build.py all rebuilds every card present and the combined PDFs.
The build shrinks SVGs with svgo so they stay under the repo's 2 MB file cap.
Required tools
See README.md.