

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# CLAUDE.md23This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.45## What This Repo Is67A content-only repository for [ElixirSchool.com](https://elixirschool.com). It contains lessons, blog posts, and translations. There is no Elixir application here — the website itself lives in the separate [school_house](https://github.com/elixirschool/school_house) repo.89## Useful Commands1011Check translation status across languages:1213```shell14elixir bin/version_report.exs15elixir bin/version_report.exs --lang ru,ja16elixir bin/version_report.exs --severity major,missing17```1819## Content Structure2021- `lessons/<lang>/<category>/<lesson>.md` — lesson files by language code (e.g., `en`, `ru`, `ja`)22- `posts/YYYY-MM-DD-name-separated-with-hyphens.md` — blog posts23- English lessons under `lessons/en/` are the source of truth; all other languages are translations2425### Lesson categories (under each language)2627`basics`, `intermediate`, `advanced`, `ecto`, `misc`, `storage`, `testing`, `data_processing`, `phoenix`2829## Front Matter Format3031All lessons require front matter in this format:3233```elixir34%{35 version: "1.0.0",36 title: "Lesson Title",37 excerpt: """38 A short description of the lesson.39 """40}41---42```4344Translations set `version` to match the English source version. The version is used programmatically to detect stale translations.4546**Version bump rules:**47- MAJOR — rewrote most of the lesson (translators will need to update)48- MINOR — added or removed sentences/paragraphs49- PATCH — spelling/typo fixes only5051Blog post front matter includes `author`, `author_link`, `tags`, `date` (`~D[YYYY-MM-DD]`), `title`, and `excerpt`.5253## Writing Style5455See `AGENTS.md` for the full style guide. Key points:5657- Use inclusive "we" — the reader is a collaborator, not a student58- Show code first, then explain — examples precede explanation59- Short paragraphs; dense info gets bullet points or code blocks60- Active voice, contractions always ("we'll", "don't", never "we will")61- No emoji, no platitudes, no filler sentences62- Oxford comma63- Headers: H2 for major sections, H3 for subsections; never H1 in body content64- Code blocks always include a language identifier6566Content structure for lessons: brief overview → motivation (2-3 sentences max) → core content with code → connections to related topics.6768## Translation Style Guides6970Language-specific translation conventions are documented alongside the lessons:7172- Russian (`ru`): [`.claude/locales/ru.md`](.claude/locales/ru.md)7374## Adding New Content7576**New lesson:** create `lessons/en/<category>/<lesson>.md` with front matter. A corresponding change in `school_house` may be needed to register it on the website.7778**New translation:** copy the English file to `lessons/<lang>/`, translate it, keep `version` matching the English source.7980**New language:** create `lessons/<iso-code>/{basics,advanced,intermediate,ecto,misc,storage,testing,data_processing,phoenix}/` and update `school_house` to register the language.81
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| elixirschool/elixirschoolAGENTS.md · 3.7k | AGENTS.md | lint-formatstylearchdo-not | 67/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| microsoft/playwrightCLAUDE.md · 94k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 7 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 7 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.4k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 14 days ago | |
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 14 days ago | |
| Adit-Jain-srm/NightmareNetCLAUDE.md · 45 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 14 days ago | |
| stacklok/toolhiveCLAUDE.md · 2.0k | CLAUDE.md | buildteststylearch+4 | 100/100 | 14 days ago | |
| tyrchen/geektime-bootcamp-aiw7/genslides/backend/CLAUDE.md · 230 | CLAUDE.md | testlint-formatstylearch+6 | 100/100 | 9 days ago | |
| livewire/livewireCLAUDE.md · 24k | CLAUDE.md | setupbuildteststyle+4 | 100/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/elixirschool-elixirschool-claude)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.