DEV Community

Ninad Pathak
Ninad Pathak

Posted on • Originally published at ninadpathak.com

Types of Technical Documentation: 8 Essential Types, Plus Agent Instructions

Originally published at https://ninadpathak.com/articles/types-of-technical-documentation/.

Technical documentation is not one thing. It is the set of documents that help someone use a product, understand a system, operate it safely, or change it without losing important context.

The three audiences for technical documentation

The most useful classification separates technical documentation by the person who needs it. ClickHelp makes a similar distinction between process documents and user documents, while Squarespace Engineering frames documentation around reader behavior, patience, experience, and goal.

That gives you three useful groups. User-facing documents help customers or developers adopt a product.

Process documents help the people building and operating it. Agent instructions give coding agents repository-specific context that would be distracting or irrelevant in a human-facing guide.

User-facing documentation helps someone use the product

These are the documents a customer, developer, administrator, or new user opens when they want to get started, complete a task, find a precise answer, or fix a failure.

1. Getting-started guides and quickstarts

A getting-started guide takes someone from no working setup to a first result. It should name prerequisites, show the smallest supported path, and make success visible.

React’s Learn section moves from an introduction to concepts and hands-on learning without treating a new reader as if they already know the framework. A quickstart is not a full manual.

Its job is to establish confidence and give the reader a sensible next page.

2. Tutorials

A tutorial teaches a capability through a guided sequence. It can combine several tasks because the reader is learning a skill, not only changing one setting.

Squarespace Engineering distinguishes tutorials from how-to guides on that point. A tutorial demonstrates a use case or concept, while a how-to guide completes one bounded task.

Keep checkpoints in the path so the reader can see whether they are still on track.

3. How-to guides

A how-to guide answers a specific operational question such as “rotate an API key,” “configure single sign-on,” or “add a webhook endpoint.” The reader already understands enough of the product to name the job.

A strong guide states the starting condition, required access, procedure, success state, and recovery boundary. It does not repeat the product introduction or explain every adjacent feature.

4. Reference documentation

Reference is where exact details live. API endpoints, request fields, SDK methods, configuration values, defaults, limits, return types, and error conditions belong here because readers need information they can scan and depend on.

Stripe’s API reference shows the central contract clearly. A reader can move from an object to its endpoints and fields without reading a tutorial first.

Reference can include examples, but the examples should clarify the contract rather than turn the page into a learning path.

5. Troubleshooting guides

Troubleshooting starts with a symptom, not a feature. The reader has already hit a failure and needs a way to identify the cause, recover safely, or know when to escalate.

Kubernetes’ troubleshooting documentation organizes debugging work around the problem a user must diagnose. Good troubleshooting pages include the observable symptom, a diagnostic check, likely causes, a safe fix, and the point where guessing becomes risky.

6. Release notes and migration guides

Release notes tell people what changed. Migration guides tell them what they need to do about that change.

Treat those as related but different documents. A release note can announce a deprecated API version or a changed permission model.

A migration guide should provide the affected starting state, replacement path, compatibility boundary, and a way to confirm completion.

Process documentation helps a team build and operate the system

Product documentation is only one part of technical documentation. Teams also need durable records that explain why a system exists in its current form and how to maintain it.

Use the internal vs. external documentation decision to keep private operating context separate from the public task or contract.

7. Architecture and design documents

Architecture documents describe the system’s components, boundaries, data flows, dependencies, and important decisions. A design document is often narrower, explaining a proposed change before implementation begins.

These documents should answer questions that source code cannot answer quickly. They should make system boundaries and important decisions inspectable.

For example, explain why a queue was selected over a synchronous call, which service owns a data set, and what assumptions make a deployment safe. A diagram can help, but it does not replace those decisions and constraints.

8. Runbooks, onboarding guides, test plans, and standards

Some process documents exist because somebody must perform the same work safely more than once. Runbooks describe routine or incident procedures.

Onboarding guides give a new teammate the systems, access, and conventions they need. Test plans name the scope, method, risks, and expected outcome of verification work.

Style guides and contribution guides belong here too. They turn unwritten conventions into something a contributor can inspect before they create avoidable review work.

Tango’s collection of technical document types is useful for this broader view. It includes product manuals, quick-reference guides, requirements, project plans, roadmaps, test plans, release notes, and style guides rather than reducing technical documentation to API pages and tutorials.

The newer type: instructions for coding agents

A repository can now have another reader that needs documentation: a coding agent.

AGENTS.md is an open Markdown convention for repository instructions aimed at coding agents. Its purpose is not to replace a README.

A README still helps people understand a project, install it, contribute to it, and find the public interface. An AGENTS.md file can hold the build commands, test commands, code conventions, security concerns, deployment details, and local rules that an agent needs when changing the repository.

This is a useful addition because human contributors and coding agents need overlapping but different context. A human may need a project overview and contribution path.

An agent may need the exact command sequence, test scope, nearest-file instruction rule, and prohibited changes before it edits code.

Keep the boundary visible. Do not hide human onboarding inside an agent file, and do not expect a long README to provide the focused instruction an agent needs during an edit.

If both audiences work in the repository, maintain both documents and link between them where the information overlaps.

Build documentation from the work people need to finish

You do not need every document type on launch day. Start by listing the moments where users and operators need an answer that cannot safely remain in chat history, a ticket, or one person’s memory.

For a public API, that first package may include a quickstart, API reference, authentication guide, error guide, and release notes. For an internal service, it may start with an architecture document, onboarding guide, deployment runbook, and incident procedure.

For an agent-enabled repository, add AGENTS.md when the agent needs instructions that should remain close to the code.

Then give each document a clear owner and update trigger. An API schema change should trigger reference review.

A revised deployment flow should trigger runbook review. A recurring support issue should trigger troubleshooting work.

A changed build command should trigger README and agent-instruction review.

I reviewed the ranking pages for this query, including ClickHelp, Tango, and Squarespace Engineering, alongside the AGENTS.md guidance. The useful conclusion is not that every team needs the same list.

Documentation becomes easier to maintain when each type has a named audience, a distinct job, and a change that tells its owner when to revisit it.

Use the technical documentation template to turn that inventory into a working plan. Then use the technical documentation best practices to test whether each page helps someone complete the job it promises.

Top comments (0)