cc-tutorial
AGENTS.md38 starsChanged 4 months agoMITView on GitHub
This repository is a Claude Code tutorial, not a single application. Keep changes scoped to the content area you are editing: There is no repo-wide build. Use the command that matches the area you changed: Use concise Markdown, short sections, and concrete examples. For Python, follow PEP 8 with 4-space indentation. Match existing naming patterns: When adding tutorial analysis or opinionated guidance, clearly label it as author interpretation rather than fact. If it is a fact, prove it. If it…
- Reads credentials
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository4 other files it gives its agents.
- advanced/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- advancedSkill
- business-logicSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
30 rules. About 0 are common, 19 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 26
Use concise Markdown, short sections, and concrete examples.
- Distinctive: line 32
When adding tutorial analysis or opinionated guidance, clearly label it as author interpretation rather than fact.
- Distinctive: line 38
If it is a fact, prove it.
- Distinctive: line 40
Use these evidence tiers:
- Very specific: line 46
Prefer T1 for feature existence, official behavior, and product capability claims.
- Very specific: line 47
Use T1 or T2 for performance claims and any superlative or absolute wording such as best, fastest, only, always, or never.
- Very specific: line 48
If strong proof does not exist, downgrade the claim to T4, mark it explicitly, and narrow the wording.
- Very specific: line 52
Treat all predictive claims as T4 and include the reasoning behind the prediction.
- Distinctive: line 54
When experts disagree, surface the disagreement with citations before stating the tutorial's preferred view.
- Distinctive: line 58
When adding or expanding source-backed material:
- Very specific: line 60
Search existing files in research/ first before creating a new note.
- Very specific: line 61
If a new source is needed, create research/NN-descriptive-name.md.
- Very specific: line 69
Update research/00-research-summary.md whenever a new research note is added.
- Distinctive: line 74
Write like a ruthless analyst, not an assistant trying to sound helpful.
- Distinctive: line 78
Do not warm up. Do not ease in.
- Distinctive: line 80
Prefer blunt judgments over polite vagueness.
- Distinctive: line 81
Use sharp, concrete words.
- Distinctive: line 82
Use metaphors as weapons, not decorations.
- Distinctive: line 83
Use rhetorical questions to puncture bad assumptions.
- Distinctive: line 84
Do not hand out emotional reassurance.
- Distinctive: line 85
Do not perform neutrality.
- Distinctive: line 86
Keep the tone cold, controlled, unsentimental, and precise.
- Very specific: line 88
When the content is factual, keep it evidence-backed.
- Distinctive: line 92
No root test suite exists today.
- Very specific: line 98
If you add automated tests for new Python behavior, prefer pytest with test_*.py naming and keep tests close to the example they cover.
- Very specific: line 102
Follow the conventional commit style already used in history, for example feat(examples): add real-time ASR subtitle example or …
- Distinctive: line 104
When generating commit message trailers for AI-assisted commits:
- Distinctive: line 108
Do not use an Anthropic email outside Claude Code.
- Distinctive: line 109
Do not invent an OpenAI email unless the repository explicitly defines one.
- Very specific: line 115
Do not commit secrets, local API keys, or .env files.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Repository Guidelines
Project Structure & Module Organization
This repository is a Claude Code tutorial, not a single application. Keep changes scoped to the content area you are editing:
video-scripts/: the main 9-layer course scripts, named with zero-padded prefixes such aslayer-01-theory.md.docs/: published articles and images.research/: source-backed research notes. Add new entries asNN-descriptive-name.mdand updateresearch/00-research-summary.md.examples/http/: runnable.httpAPI examples for REST Client or JetBrains HTTP Client.examples/python/andexamples/asr/: Python example projects managed withuv..claude/commands/: project-specific Claude Code workflows such as/commit-push.
Build, Test, and Development Commands
There is no repo-wide build. Use the command that matches the area you changed:
cd examples/python && uv sync: install the Python example dependencies.cd examples/python && uv run python 00_basic_function_calling.py 1: run a sample Python demo.cd examples/asr && uv sync: install the ASR example dependencies.cd examples/asr && uv run python main.py: start the ASR demo locally.- Open
examples/http/*.httpin VS Code REST Client or a JetBrains IDE and send requests interactively.
Coding Style & Naming Conventions
Use concise Markdown, short sections, and concrete examples. For Python, follow PEP 8 with 4-space indentation. Match existing naming patterns:
- ordered tutorial files:
layer-02-setup.md,01-main.http - documentation and research files: kebab-case
- helper scripts: descriptive snake_case or existing local convention
When adding tutorial analysis or opinionated guidance, clearly label it as author interpretation rather than fact.
Project Writing Rules
Evidence Rules
If it is a fact, prove it. If it cannot be proved, do not present it as fact.
- Use these evidence tiers:
T1: official vendor or platform documentation, changelogs, or engineering postsT2: recognized expert practitioner material such as books, talks, blogs, or coursesT3: community consensus supported by at least two independent sourcesT4: author interpretation, tutorial framing, opinion, or prediction
- Any statement about feature existence, product behavior, pricing, limits, benchmarks, statistics, chronology, or technical capability must be traceable to a source.
- Prefer
T1for feature existence, official behavior, and product capability claims. - Use
T1orT2for performance claims and any superlative or absolute wording such asbest,fastest,only,always, ornever. - If strong proof does not exist, downgrade the claim to
T4, mark it explicitly, and narrow the wording. - Mark subjective guidance, predictions, teaching choices, and personal conclusions with one of:
**[Tutorial perspective]****[Author's analysis]**
- Treat all predictive claims as
T4and include the reasoning behind the prediction. - For
T3claims, cite at least two independent sources. - When experts disagree, surface the disagreement with citations before stating the tutorial's preferred view.
Research Workflow
When adding or expanding source-backed material:
- Search existing files in
research/first before creating a new note. - If a new source is needed, create
research/NN-descriptive-name.md. - New research files must include YAML front matter with:
titleauthordateurltiertopics
- Update
research/00-research-summary.mdwhenever a new research note is added. - Distinguish clearly between cited facts and tutorial interpretation.
Voice And Tone
Write like a ruthless analyst, not an assistant trying to sound helpful.
- Cut without mercy. If a sentence exists only to transition, soften, summarize, or sound "natural", delete it.
- Ban stock AI filler and stage-setting phrases such as
imagine,needless to say,all in all,it is undeniable,it is worth noting,in terms of,from this we can see, or any similar verbal padding. - Do not warm up. Do not ease in. Open with the point, the breakage, the mechanism, or the verdict.
- Favor short sentences. Hard stops. Clean cuts. Use long sentences only when they carry real technical weight.
- Prefer blunt judgments over polite vagueness. If something is weak, say it is weak. If it fails, say where it fails.
- Use sharp, concrete words. Avoid bloodless abstractions and consultant language.
- Use metaphors as weapons, not decorations. They must tighten the logic, raise the image, and land the consequence. Never explain them after the fact.
- Use rhetorical questions to puncture bad assumptions. Do not linger on the question. Answer it with the underlying logic.
- Do not hand out emotional reassurance. No cheerleading. No fake empathy. No empty balance.
- Do not perform neutrality. If one path is better, say so. Then justify it.
- Keep the tone cold, controlled, unsentimental, and precise.
- Final pass rule: if the piece still sounds like a polished model response, rewrite it until the edges show.
- When the content is factual, keep it evidence-backed. When it is interpretation, prediction, or judgment, mark it as
T4.
Testing Guidelines
No root test suite exists today. Verify contributions in the smallest relevant way:
- for Python examples, run the touched script with
uv run - for
.httpexamples, replay the edited request(s) - for Markdown changes, check links, headings, and code fences manually
If you add automated tests for new Python behavior, prefer pytest with test_*.py naming and keep tests close to the example they cover.
Commit & Pull Request Guidelines
Follow the conventional commit style already used in history, for example feat(examples): add real-time ASR subtitle example or docs(setup): simplify permissions config example.
When generating commit message trailers for AI-assisted commits:
- In
Claude Code, useCo-Authored-By: <Model Name> <noreply@anthropic.com>. - In
Codexor other OpenAI terminals, useCo-Authored-By: <Model Name> (Codex). - Do not use an Anthropic email outside Claude Code.
- Do not invent an OpenAI email unless the repository explicitly defines one.
PRs should include a short summary, the folders affected, verification commands or manual checks performed, and screenshots when updating image-backed docs or UI-like outputs.
Security & Configuration Tips
Do not commit secrets, local API keys, or .env files. Keep machine-specific settings in ignored local files, and avoid checking in generated binaries, logs, or temporary artifacts.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

