Problem: Documentation is Always Outdated
You ship features fast, but documentation lags weeks behind. Your team wastes hours explaining code that could document itself.
You'll learn:
- How to set up Cursor agents for overnight documentation runs
- Which files to target for maximum impact
- How to review and merge AI-generated docs safely
Time: 20 min setup, runs while you sleep | Level: Intermediate
Why This Works
Cursor's agent mode (released December 2025) can process entire codebases with multi-file context. Unlike chat, agents can:
- Read your entire project structure
- Follow documentation templates
- Run in the background without VS Code open
- Commit changes to branches automatically
Common use cases:
- API endpoint documentation
- Function/class JSDoc comments
- README updates after refactors
- Migration guides between versions
Solution
Step 1: Install Cursor Agent CLI
# Requires Cursor Pro subscription
npm install -g @cursor/agent-cli
# Verify installation
cursor-agent --version
Expected: Version 0.3.0 or higher
If it fails:
- Error: "Not a Pro subscriber": Upgrade at cursor.sh/pricing
- Command not found: Restart Terminal, check PATH includes npm globals
Step 2: Create Agent Configuration
Create .cursor/agent-config.json in your project root:
{
"name": "doc-writer",
"schedule": "0 2 * * *",
"task": "document-codebase",
"context": {
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["**/*.test.ts", "**/*.spec.ts"],
"maxFiles": 50
},
"prompt": "Add JSDoc comments to all exported functions and classes. Follow the template in CONTRIBUTING.md. Focus on public APIs.",
"output": {
"branch": "docs/auto-{{date}}",
"commitMessage": "docs: auto-generated documentation",
"createPR": true
}
}
Why these settings:
schedule: Runs at 2 AM daily (cron format)maxFiles: Prevents token overload on large codebasescreatePR: Lets you review before merging
Step 3: Add Documentation Template
Create CONTRIBUTING.md with your doc style:
## Documentation Style
### Functions
\```typescript
/**
* Brief description of what it does
*
* @param paramName - What this parameter does
* @returns What the function returns
* @throws {ErrorType} When this error occurs
*
* @example
* \```ts
* const result = myFunction("input");
* \```
*/
\```
### Classes
- Document constructor parameters
- Explain class purpose in one sentence
- Add @example for common usage
This gives the agent a pattern to follow instead of generic AI-style docs.
Step 4: Start the Agent
# Run immediately (test mode)
cursor-agent run .cursor/agent-config.json
# Schedule for background runs
cursor-agent schedule .cursor/agent-config.json
# Check scheduled agents
cursor-agent list
Expected: Agent runs, creates branch docs/auto-2026-02-10, opens PR
Step 5: Review the Output
# Checkout the agent's branch
git fetch origin
git checkout docs/auto-2026-02-10
# Review changes
git diff main...docs/auto-2026-02-10
Look for:
- ✅ Accurate parameter descriptions
- ✅ Realistic examples
- ✅ Consistent formatting
- ❌ Hallucinated function names
- ❌ Copy-pasted descriptions
Merge only after spot-checking - agents can miss context.
Advanced: Target Specific Files
Document Only Changed Files
{
"name": "doc-changed-files",
"trigger": "on-commit",
"context": {
"include": ["{{git.modified}}"],
"maxFiles": 10
},
"prompt": "Update documentation for changed functions only"
}
This runs after each commit, documenting only what you touched.
Generate API Docs from OpenAPI
{
"name": "api-docs",
"schedule": "0 3 * * 1",
"task": "generate-docs",
"context": {
"include": ["openapi.yaml", "docs/api-template.md"]
},
"prompt": "Generate API documentation using the template. Include curl examples for each endpoint.",
"output": {
"path": "docs/api-reference.md",
"branch": "main"
}
}
Runs weekly (Mondays at 3 AM), updates docs from your OpenAPI spec.
Verification
# Check agent ran successfully
cursor-agent logs doc-writer
# See last run status
cursor-agent status
You should see: Exit code 0, PR created, no timeout errors
If it times out:
- Reduce
maxFilesto 25 - Split into multiple agents by directory
- Exclude large generated files
What You Learned
- Cursor agents can run scheduled tasks without VS Code open
- Templates in your repo guide AI output quality
- Always review auto-generated docs before merging
- Best for: repetitive doc tasks, not architectural explanations
Limitations:
- Agents don't understand business context
- Can hallucinate if code is ambiguous
- Requires Cursor Pro ($20/month)
When NOT to use:
- Complex architecture decisions
- Security-sensitive code explanations
- User-facing product documentation
Tested on Cursor 0.43.0, macOS & Linux, with TypeScript/React projects