Files
mintlify__docs/guides/content-types.mdx
Ethan Palm 017d7c7377 Fix Vale warnings (#6378)
* fix: reduce Vale false positives via vocab and config updates

- Make English-word vocab entries case-insensitive so sentence-start
  capitalization and normal prose usage stop flagging (agents, rest,
  cursor, setup, endpoints, etc.)
- Add vocab entries for filenames and code identifiers that appear in
  frontmatter and JSX contexts (docs.json, llms.txt, CLAUDE.md, etc.)
- Ignore openapi frontmatter lines, filenames, JSX attributes, email
  addresses, and internal link targets via TokenIgnores
- Skip inline code scope and indented code fences
- Add Headings exceptions for proper nouns (Claude Code, GitHub
  Actions, Route 53, GA4, etc.)
- Disable linting for the all-code vercel-json-generator snippet

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: resolve all Vale warnings and errors across docs

Content fixes:
- Reword sentences using 'will', first person, spaced em dashes,
  'e.g.', Latin abbreviations, and hyphenated adverbs
- Sentence-case headings that started with dotted filenames
- Backtick literal API values instead of bolding them
- Move periods inside quotation marks
- Fix Oxford comma rule misfires by restructuring sentences

False-positive suppression:
- Vale toggles around example user questions, keyboard shortcut keys
  (Cmd+I), UI labels, and code samples in JSX contexts that Vale
  misparses
- Exclude vale toggle comments from the brace Token/BlockIgnores so
  in-document commands actually reach Vale (the greedy brace pattern
  was also silently swallowing large regions; now lazy)
- Vocab entries for code identifiers (internal_id, handleSubmit, etc.)
- Per-file rule disables for component docs with dotted JSX names and
  files where link-target linting ignores in-document toggles

Result: vale --minAlertLevel warning is clean repo-wide; only
suggestion-level items (Passive, Semicolons, Acronyms) remain.
mint broken-links passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: correct WordList rule instead of degrading prose

- Restore sentence-start "Email" in advanced-support; the rule now
  only flags hyphenated e-mail/E-mail forms
- Restore the idiom "above all else"; the above->preceding swap now
  exempts "above all"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: restore deliberate prose flagged by blunt rules

- Restore spatial 'above the navbar' / 'above a page title' in
  custom-scripts; the above->preceding swap now exempts 'above
  the/a/an'
- Restore the '= ...' in the react-components named-export example
  (the ellipsis is inside inline code) with an Ellipses toggle
- Restore SLA phrasing 'will use commercially reasonable efforts'
  with a Will toggle
- Restore the quoted developer question in the GEO guide intro with a
  FirstPerson toggle, matching the file's other example questions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: remove WordList swaps that flag legitimate English

- Drop tablet->device and firewalls->firewall rules; both words are
  correct in ordinary prose
- Narrow touch->tap to UI-instruction phrasing (touch the/a) so
  'keep in touch' and 'touch devices' stop flagging

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: reposition vale toggles to wrap whole blocks

Toggle comments placed between list items split the lists (restarting
ol numbering in deployments) and comments flush against tables risked
breaking GFM table parsing. Wrap entire lists/tables with blank-line
separation instead. Verified rendering with mint dev: single ol with
two items, tables intact, no comments in visible DOM.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor: prune accept.txt to load-bearing entries

Empirically removed 166 vocab entries (575 -> 409) whose removal
causes no Vale flags across all 908 English pages: dictionary words
that never needed listing (agents, setup, endpoints, webhooks, yaml),
lowercase entries the speller already accepts, and filename entries
made redundant by inline vale toggles.

Kept every case-enforcing entry (API, JSON, GitHub, ...) so casing
policy is unchanged, plus entries that double as capitalization
exceptions for headings (mcp, md, auth, cursor, txt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Update ai/mintlify-mcp.mdx

* Update api/agent/v2/create-agent-job.mdx

* chore: alphabetize Headings exceptions and accept.txt

Case-insensitive sort, ignoring the (?i) prefix; also drops a
duplicate Scala entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: re-apply OxfordComma rewrite lost in branch merge

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve Vale suggestions batch 1 (acronyms, semicolons, passive voice)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve remaining Vale suggestions (passive voice batch 2)

Rewrite ~90 passive constructions to active voice across deploy,
guides, migration-services, and organize docs. Toggle the deliberate
passive examples in the style-and-tone guide ('by zombies' test).
Add axios/lodash vocab entries for a repositioned code example.

vale . is now fully clean: 0 errors, 0 warnings, 0 suggestions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:17:56 -07:00

142 lines
9.1 KiB
Plaintext

---
title: "Documentation content types"
sidebarTitle: "Content types"
description: "Choose the right documentation type for each page using the Diátaxis framework: tutorials, how-to guides, reference, and explanation."
keywords: ["Diátaxis", "documentation types", "tutorials", "how-to guides", "reference documentation", "technical documentation types"]
---
Not all documentation serves the same purpose. A tutorial that walks a new user through their first deployment is fundamentally different from an API reference a developer consults every day. Mixing these purposes in a single page creates content that serves neither goal well.
The [Diátaxis framework](https://diataxis.fr) provides a practical system for categorizing documentation by the user's need in the moment.
## The four documentation types
<Frame>
<img src="/images/guides/best-practices/diataxis.webp" alt="A diagram of the Diátaxis framework showing four quadrants that correspond to the four content types: Tutorials, How-To Guides, Reference, and Explanation." />
</Frame>
### Tutorials (learning-oriented)
Tutorials teach through doing. The user's goal is to learn something new, and the tutorial's goal is to give them a successful experience—not to document every option or explain every detail.
A good tutorial:
- Assumes no prior knowledge of the specific task
- Takes the user through one complete, working example from start to finish
- Minimizes choices—tell users exactly what to do rather than offering alternatives
- Marks progress at meaningful milestones ("You've now configured authentication")
- Explains just enough to keep the user moving, not everything there is to know
Tutorials are the highest-investment content type to write and maintain, but they have an outsized impact on whether new users succeed with your product.
### How-to guides (task-oriented)
How-to guides help users accomplish a specific goal. Unlike tutorials, they assume the user already has some context and wants to do a particular thing, not learn a concept.
A good how-to guide:
- Addresses one specific task in the title and throughout
- Assumes prior knowledge of the prerequisites
- Provides a clear sequence of steps without unnecessary context
- Describes what to do, not how the system works underneath
The distinction from tutorials matters in practice: a tutorial on "Getting started with authentication" walks a new user through the whole process step by step. A how-to guide on "Rotate your API keys" assumes the user knows what API keys are and just needs the steps.
### Reference (information-oriented)
Reference documentation describes the system accurately and completely. Users consult it to look something up—they aren't reading sequentially, and they aren't learning.
Good reference documentation:
- Prioritizes completeness and accuracy above all else
- Is scannable: tables, consistent formatting, short descriptions
- Avoids explanatory or conceptual content
- Documents everything, including defaults, limits, and edge cases
- Stays close to the structure of what it documents (an API reference follows the API's structure)
API references, configuration option lists, and CLI command references are all reference content.
### Explanation (understanding-oriented)
Explanations deepen understanding of a concept. Users read them when they want to understand why something works the way it does, not how to do a specific task.
Good explanation content:
- Addresses the context and motivation behind a design decision
- Acknowledges tradeoffs and alternatives
- Connects concepts across the broader system
- Takes opinionated positions where appropriate
Architecture overviews, concept guides, and "how X works" pages are all explanation content. They're distinct from how-to guides in that a reader finishing an explanation article shouldn't feel instructed to do something—they should feel they understand something better.
## Choose the right type for each page
| Question | Tutorial | How-to | Reference | Explanation |
|---|---|---|---|---|
| What is the user's goal? | Learn through practice | Solve a specific problem | Find precise information | Understand a concept |
| What level of knowledge does the user have? | Beginner | Intermediate | Experienced | Any |
| Is the content task-oriented? | Yes, guided | Yes, specific | No | No |
| Is it sequential? | Yes | Usually | No | No |
When in doubt about which type fits a page, ask: "What does the user do after reading this?" If they've completed a task, it's a how-to or tutorial. If they now understand something and may go on to take action elsewhere, it's an explanation. If they've looked up a specific detail, it's reference.
## Writing for each type
### Writing tutorials
Set expectations at the start: what do users build or accomplish by the end? Use `<Steps>` components for sequential progress and celebrate completion at natural milestones. Minimize decisions—where there are multiple valid approaches, pick one and say so.
### Writing how-to guides
Lead with the task in the title: "How to configure webhooks," "How to migrate from v1 to v2." Write from the user's perspective, not the product's. Skip context that doesn't affect the steps. Link to explanation or reference content for users who want to understand more.
### Writing reference
Structure reference docs around the thing you describe, not around user journeys. Use consistent formatting across all entries. Every parameter, flag, or option should have a type, default value, and one-line description. Keep it scannable.
### Writing explanation
Start with the question you're answering: "Why does authentication work this way?" or "What's the difference between organizations and workspaces?" Acknowledge that multiple approaches exist and explain why the product makes the choices it does. Link to how-to guides for users who want to act on what they've learned.
## Tips for maintaining type consistency
- **Assign a content type before writing.** Deciding in advance shapes every other writing decision—structure, length, tone, what to include and exclude.
- **Review mixed-purpose pages.** Pages that explain a concept and include a tutorial and reference a list of options all at once are hard to maintain and hard to use. Split them or pick a primary type.
- **Adapt the framework to your product.** Diátaxis is a starting point, not a rigid rule. Products with unusual structures may need hybrid approaches. The underlying principle—match content to the user's need in the moment—applies universally.
## Frequently asked questions
<AccordionGroup>
<Accordion title="Do I need all four content types for every feature?">
No. Small features may only need a how-to guide and a reference entry. The types describe needs users might have, not a checklist you must complete. Start with what your users actually need—usually a how-to guide and reference—and add tutorials and explanations where users are consistently struggling to get started or understand something.
</Accordion>
<Accordion title="What's the difference between a tutorial and a how-to guide?">
Tutorials are learning experiences. The user starts without knowledge and ends having built or completed something, with the tutorial doing most of the pedagogical work. How-to guides are task references. The user knows what they want to do and needs the steps to do it. A tutorial on "Build your first integration" and a how-to guide on "Connect a new integration" can cover similar actions but serve entirely different users in entirely different contexts.
</Accordion>
<Accordion title="Can a single page serve multiple content types?">
In practice, pages often mix types—especially getting started content that blends tutorial and how-to. The question is whether the mixing serves users or confuses them. If a page needs to both teach a concept (explanation) and walk through setup (tutorial), a clear section structure can work. If the content is too mixed to organize cleanly, splitting into separate pages usually produces better results.
</Accordion>
<Accordion title="How detailed should reference documentation be?">
Comprehensive enough that users don't need to read source code or contact support to understand a parameter or option. Every configurable value should have a description, type, default, and example. Reference documentation that omits edge cases or limits forces users to discover those limits through trial and error—that's a documentation failure, not a user error.
</Accordion>
</AccordionGroup>
## Related pages
<CardGroup cols={2}>
<Card title="Content templates" icon="file-code" href="/guides/content-templates">
Copy and modify templates for each content type.
</Card>
<Card title="Style and tone" icon="pen" href="/guides/style-and-tone">
Write effective documentation with consistent style.
</Card>
<Card title="Understand your audience" icon="users" href="/guides/understand-your-audience">
Research and define your documentation audience.
</Card>
<Card title="Navigation" icon="compass" href="/guides/navigation">
Organize your documentation structure effectively.
</Card>
<Card title="Improve your docs" icon="chart-line" href="/guides/improving-docs">
Use data and metrics to improve documentation.
</Card>
</CardGroup>