Back to Markdown Style Guide — Read the style guide first for formatting, citation, and emoji rules.
Use this template for: Step-by-step tutorials, how-to guides, onboarding walkthroughs, runbooks, setup instructions, or any document whose primary job is teaching someone to do something. Designed so the reader succeeds on the first attempt.
Key features: Prerequisites with verification commands, numbered steps with expected output at each stage, "verify it works" checkpoints, troubleshooting section for common failures, and "what's next" pathways.
Philosophy: A how-to guide fails if the reader gets stuck. Every step should be verifiable — the reader should be able to confirm they did it right before moving to the next one. Anticipate the exact moment they'll wonder "did that work?" and put a checkpoint there. Include the error messages they'll actually see, not just the happy path.
[bracketed placeholders] with your contentEverything below the line is the template. Copy from here:
[Estimated time: N minutes] · [Difficulty: Beginner / Intermediate / Advanced] · [Last verified: Date]
[One paragraph: what the reader will have built, configured, or achieved by the end of this guide. Be concrete.]
flowchart LR
accTitle: Tutorial Process Overview
accDescr: High-level steps from prerequisites through setup, configuration, and verification
prereqs([📋 Prerequisites]) --> setup[🔧 Setup]
setup --> configure[⚙️ Configure]
configure --> build[📦 Build]
build --> verify[✅ Verify]
classDef done fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d
class verify done
Before starting, ensure you have:
| Requirement | Version | Verify with | Install link |
|---|---|---|---|
| [Tool/Runtime] | ≥ [version] | [command] --version |
Install guide |
| [Dependency] | ≥ [version] | [command] --version |
Install guide |
| [Account/Access] | — | [How to verify] | Sign up |
Verify all prerequisites:
# Run each command — all should succeed before proceeding
[command1] --version # Expected: [version] or higher
[command2] --version # Expected: [version] or higher
⚠️ Don't skip this. Step 3 will fail if [specific prerequisite] isn't installed correctly.
[Brief context: why this step is necessary — one sentence.]
[command to run]
Expected output:
[What the terminal should show — include actual output, trimmed if long]
💡 Tip: [Helpful context about this step — common variation, what to do if on a different OS, etc.]
[Brief context.]
[command to run]
Expected output:
[What you should see]
If you see an error here, check:
[Brief context.]
[If this step involves editing a file, show the exact content:]
# config/[filename]
[key]: [value]
[key]: [value]
# [Comment explaining what this section does]
[key]:
[nested_key]: [value]
[nested_key]: [value]
📌 Important: [Critical detail about this configuration — what breaks if you get it wrong]
[Brief context.]
[command to run]
Expected output:
[What you should see]
[Brief context.]
[final command]
Run through these checks to confirm everything is working:
| Check | Command | Expected result |
|---|---|---|
| [Check 1] | [command] |
[What success looks like] |
| [Check 2] | [command] |
[What success looks like] |
| [Check 3] | [command] |
[What success looks like] |
All checks pass? You're done. Jump to What's next.
Something failed? See Troubleshooting below.
Cause: [What triggers this error — be specific]
Fix:
[exact commands to resolve]
Verify the fix:
[command to confirm the error is resolved]
Cause: [What triggers this]
Fix:
Cause: [What causes this behavior]
Fix:
[Solution with commands]
Now that you've completed this guide:
Last verified: [Date] on [OS/Platform version] · Maintained by [Team/Author]