Good documentation is the difference between a project developers love and one they abandon. Yet most docs are written once and forgotten, or worse, never written at all. The problem is not that developers do not care. It is that writing docs feels slow, tedious, and disconnected from the real work.
AI can change that. With the right prompts, you can generate README files, API references, architecture decisions, and migration guides in minutes instead of hours. This guide gives you the frameworks and templates to make it happen.
Write documentation for my API.
Write API documentation for our user authentication endpoints. CONTEXT: - REST API built with Node.js and Express - Uses JWT tokens for authentication - Target audience: Frontend developers integrating with our API ENDPOINTS TO DOCUMENT: - POST /auth/register - POST /auth/login - POST /auth/refresh - POST /auth/logout FOR EACH ENDPOINT INCLUDE: 1. Description of what it does 2. Request format (headers, body schema with types) 3. Response format (success and error cases) 4. Code example using fetch 5. Common errors and how to handle them FORMAT: Markdown with proper code blocks
The DOCS Framework
Great documentation follows a pattern. Use the DOCS framework in your prompts to ensure AI generates docs that developers actually want to read.
Define the Audience
Organize with Structure
Clarify with Examples
Simplify the Language
Standardize the Format
Insight
Documentation Types
Different documentation serves different purposes. Match your prompt to what you need:
- README: First impression. Quick start, installation, basic usage. Goal: get developers running in 5 minutes.
- API Reference: Complete endpoint documentation. Every parameter, response, and error code. Goal: answer any integration question.
- Getting Started Guide: Tutorial-style walkthrough. Builds something real. Goal: teach core concepts through practice.
- Architecture Decision Record (ADR): Why we chose X over Y. Context, options, decision. Goal: future-proof decisions with rationale.
- Migration Guide: Step-by-step upgrade instructions. Breaking changes, new features, deprecations. Goal: smooth version transitions.
- Changelog: What changed and when. New features, bug fixes, breaking changes. Goal: communicate updates clearly.
README Files
Your README is your project's front door. It should answer: What is this? Why should I care? How do I start?
Write a README.md for [PROJECT NAME]. PROJECT DETAILS: - What it does: [one-sentence description] - Language/Framework: [e.g., TypeScript, React, Node.js] - Target users: [who will use this] - Key features: [3-5 main capabilities] INCLUDE THESE SECTIONS: 1. Project title with one-line description 2. Badges (build status, npm version, license) 3. Features list (bullet points) 4. Quick start (under 5 steps to run locally) 5. Installation (detailed setup instructions) 6. Usage examples (3 common use cases with code) 7. Configuration (environment variables, config files) 8. API reference (if applicable, link to full docs) 9. Contributing guidelines (brief) 10. License STYLE GUIDELINES: - Use clear, concise language - Include copy-paste-able code blocks - Add comments in code examples - Link to more detailed docs where relevant CONSTRAINTS: - Total length: 500-800 words - Code examples should actually work - No placeholder text like "lorem ipsum"
Pro Tip
API Reference Documentation
API docs need to be complete and consistent. Developers will search for specific endpoints, so structure matters.
Write API documentation for this endpoint. ENDPOINT: [METHOD] [PATH] Example: POST /api/v1/users IMPLEMENTATION CONTEXT: - Framework: [Express, FastAPI, etc.] - Authentication: [Bearer token, API key, etc.] - Request body: [paste TypeScript interface or JSON schema] - Response format: [paste example response] DOCUMENT THE FOLLOWING: 1. **Description**: What this endpoint does (1-2 sentences) 2. **Authentication**: Required auth method and headers 3. **Request**: - URL parameters (if any) - Query parameters (if any) - Request body schema with types and descriptions - Required vs optional fields 4. **Response**: - Success response (200/201) with full schema - Error responses (400, 401, 403, 404, 500) 5. **Examples**: - cURL command - JavaScript fetch example - Response example 6. **Rate Limiting**: If applicable 7. **Notes**: Edge cases, gotchas, related endpoints FORMAT: Markdown with proper headings and code blocks STYLE: Technical but readable, consistent with REST API conventions
Getting Started Guides
Tutorial-style documentation that teaches by doing. The reader should build something real by the end.
Write a Getting Started guide for [PROJECT/LIBRARY NAME].
CONTEXT:
- What it is: [brief description]
- Target reader: [skill level, background]
- End goal: [what they will build/understand]
- Time to complete: [estimated minutes]
STRUCTURE:
1. **Introduction** (2-3 sentences)
- What we are building
- What you will learn
- Prerequisites
2. **Setup** (numbered steps)
- Installation commands
- Required configuration
- Verify installation works
3. **Core Concepts** (brief explanations)
- Explain 2-3 key concepts needed
- Keep theory minimal, focus on practical
4. **Build the Example** (step-by-step)
- Start with working code
- Explain each part as you add it
- Show output after each step
- Highlight common mistakes
5. **Extend It** (optional challenges)
- Suggest next steps
- Link to advanced docs
WRITING STYLE:
- Second person ("you will create...")
- Present tense
- Short paragraphs
- Code blocks with syntax highlighting
- Callouts for tips and warnings
CONSTRAINTS:
- Every code snippet must be complete and runnable
- Include expected output for verification
- No unexplained magic - if it is in the code, explain itWarning
Architecture Decision Records (ADRs)
ADRs capture why you made a decision, not just what you decided. Six months from now, your team will thank you.
Write an Architecture Decision Record (ADR) for this decision. DECISION: [What we decided] Example: "Use PostgreSQL instead of MongoDB for user data" CONTEXT: - Project: [brief project description] - Team size: [number of developers] - Current state: [what exists now] - Problem: [what triggered this decision] ADR STRUCTURE: 1. **Title**: ADR-[NUMBER]: [Decision title] 2. **Status**: [Proposed | Accepted | Deprecated | Superseded] 3. **Context** - What is the issue we are facing? - What constraints do we have? - What requirements must we meet? 4. **Decision Drivers** - List the key factors influencing this decision - Include technical and business considerations 5. **Considered Options** - Option A: [brief description] - Option B: [brief description] - Option C: [brief description] 6. **Decision Outcome** - Chosen option and why - How it addresses the decision drivers 7. **Pros and Cons of the Chosen Option** - Good: [benefits] - Bad: [tradeoffs we are accepting] 8. **Consequences** - What will change as a result? - What new requirements does this create? - Migration steps if applicable FORMAT: Markdown TONE: Objective, factual, future-reader-friendly
Without ADRs, teams waste hours redebating old decisions. New developers ask “why did we choose X?” and nobody remembers. ADRs create a searchable history of architectural decisions with their rationale intact.
Good ADRs include what you considered and rejected, not just what you chose. This prevents future teams from revisiting options you already evaluated.
Migration Guides
Version upgrades are where documentation earns its keep. A good migration guide turns a scary upgrade into a checklist.
Write a migration guide from [VERSION X] to [VERSION Y]. CONTEXT: - Project: [name and brief description] - Breaking changes: [list them] - New features: [list key additions] - Deprecations: [what is being phased out] STRUCTURE: 1. **Overview** - What is new in [VERSION Y] - Estimated migration time - Risk level (low/medium/high) 2. **Before You Start** - Backup instructions - Prerequisites - Compatibility requirements 3. **Breaking Changes** (for each) - What changed - Why it changed - Before (old code) - After (new code) - Automated fix (if available) 4. **Step-by-Step Migration** - Numbered steps in order - Verification after each step - Rollback instructions if something fails 5. **New Features to Adopt** - Quick overview of improvements - How to enable/use them 6. **Deprecation Warnings** - What will break in future versions - How to prepare now 7. **Troubleshooting** - Common issues and solutions - Where to get help FORMAT: Markdown with clear headings INCLUDE: Before/after code snippets for every breaking change
Code Examples & Formatting
Code examples are the most-read part of any documentation. Make them count.
Complete and runnable
Every example should work if copied and pasted. Include imports, setup, and cleanup.
Show the output
Include expected console output or return values. Developers use output to verify they did it right.
Comment the why, not the what
Skip comments like “// create user”. Add comments explaining non-obvious choices.
Use syntax highlighting
Always specify the language in code blocks. Markdown renders better with proper highlighting.
// Good: Complete, runnable, with output
import { createClient } from '@example/sdk'
const client = createClient({
apiKey: process.env.API_KEY, // Use env vars, not hardcoded keys
})
const user = await client.users.create({
email: 'dev@example.com',
name: 'Test User',
})
console.log(user)
// Output:
// {
// id: 'usr_abc123',
// email: 'dev@example.com',
// name: 'Test User',
// createdAt: '2024-01-15T10:30:00Z'
// }Keeping Docs Current
Documentation that drifts from reality is worse than no documentation. Build maintenance into your workflow.
- Docs as code: Store docs in your repo. Review doc changes in PRs.
- Test your examples: Use tools like
doctestto run code examples in CI. - Link to source: Reference actual code files so readers can see current implementation.
- Version your docs: Match doc versions to software versions. Archive old versions.
- Assign ownership: Every doc should have an owner responsible for updates.
Insight
Next Steps
You have the frameworks and templates. AskSmarter.ai helps you apply them by asking the right questions about your project, audience, and goals to generate documentation tailored to your needs.
Generate your documentation now
Answer questions about your project and what you need documented. AskSmarter creates prompts that produce clear, maintainable docs your team will actually use.
Start writing docs