Documentation Creation Process
Read the SDK source before writing anything — documentation must reflect SDK ground truth, not assumptions.Read SDK source
Open and read the actual SDK implementation file in
praisonaiagents/ before writing a single word of documentation.Extract all parameters
Pull every parameter, type, default value, and description from the SDK source or config class.
Check existing docs
Search
docs/ for related pages before creating a new one — avoid duplication, ensure consistency.Write the page
Follow the Page Structure Template and every rule in this guide.
SDK-First Cycle
Never batch-update multiple pages without reading source for each.| Step | Action |
|---|---|
| READ | Open the actual SDK source file |
| UNDERSTAND | Comprehend the implementation, APIs, and behaviour |
| DOCUMENT | Write documentation based on SDK truth |
| REPEAT | Move to the next feature and restart |
File Locations
| Content Type | SDK Location | Docs Location |
|---|---|---|
| Feature configs | praisonaiagents/config/feature_configs.py | docs/concepts/*.mdx |
| Agent class | praisonaiagents/agent/agent.py | docs/concepts/agents.mdx |
| MCP integration | praisonaiagents/mcp/mcp.py | docs/concepts/mcp.mdx |
| Skills | praisonaiagents/skills/ | docs/concepts/skills.mdx |
| Memory | praisonaiagents/memory/ | docs/concepts/memory.mdx |
| Knowledge | praisonaiagents/knowledge/ | docs/concepts/knowledge.mdx |
Multi-SDK Reference
| SDK | Source Code Path | Documentation Path | Parity Tracker |
|---|---|---|---|
| Python | Repo root praisonaiagents/ (synced copy; upstream: praisonai-package/src/praisonai-agents/) | docs/concepts/, docs/features/ | docs/features/DOCS_PARITY.md |
| TypeScript/JS | praisonai-package/src/praisonai-ts/src/ | docs/js/ | docs/js/DOCS_PARITY.md |
| Rust | praisonai-package/src/praisonai-rust/src/ | docs/rust/ | docs/rust/DOCS_PARITY.md |
- TypeScript SDK Structure
- Rust SDK Structure
Folder Placement Rules
Where a file lives determines who can change it — AI agents have write access to most folders but neverdocs/concepts/.
| Folder | Who Can Write | Purpose |
|---|---|---|
docs/concepts/ | HUMAN ONLY | Core architecture concepts |
docs/features/ | AI agents + humans | Feature documentation, guides, integrations |
docs/tools/ | AI agents + humans | Tool-specific documentation |
docs/guides/ | AI agents + humans | How-to guides and tutorials |
docs/js/, docs/rust/ | Auto-generated ONLY | Managed by parity system |
AI Agent Behavioural Rules
Page Structure Template
Every documentation page follows this exact skeleton.Mermaid Diagram Standards
Every page starts with a hero Mermaid diagram using the standard colour scheme.Colour Scheme
| Colour | Hex | Use |
|---|---|---|
| Dark Red | #8B0000 | Agents, inputs, outputs, tasks |
| Teal | #189AB4 | Tools, processes, middleware |
| Green | #10B981 | Success, results, completion |
| Amber | #F59E0B | Warnings, planners, intermediate steps |
| Indigo | #6366F1 | Configuration, settings, options |
| White | #fff | Text — always white on coloured backgrounds |
| Grey | #7C90A0 | Stroke/border colour |
Diagram Types by Use Case
| Use Case | Diagram Type |
|---|---|
| Feature overview | graph LR — flow left-to-right |
| Process flow | graph TB — steps top-to-bottom |
| Interactions | sequenceDiagram — agent-user-system interactions |
| Options/modes | graph TB with subgraphs |
- Hero Diagram (rendered)
- Hero Diagram (source)
- Sequence Diagram (rendered)
- Sequence Diagram (source)
Mintlify Components Usage
Every page must use<Steps>, <AccordionGroup>, and <CardGroup cols={2}> — these are not optional.
Required Components
| Component | Purpose | Required In |
|---|---|---|
<Steps> | Sequential flows | Quick Start section |
<AccordionGroup> | Grouped content | Best Practices section |
<CardGroup cols={2}> | Related links | Related section |
<Tabs> | Multi-language examples | Code comparison |
<Note> / <Warning> / <Tip> | Callouts | Context-dependent |
Component Syntax
Steps:Code Example Standards
Every example must run without modification — copy-paste success is the bar.Code Quality Rules
Code Quality Rules
- Run without modification (copy-paste success)
- Include ALL necessary imports
- Use realistic but simple data
- Be the shortest way to accomplish the task
- Show the feature being documented, not unrelated features
Import Patterns
Import Patterns
Use these exact imports — no complex sub-module paths:
Simple Quick Start Example
Simple Quick Start Example
Config Class Example
Config Class Example
Configuration Table Format
Document every SDK option in this format:Writing Style
Concise, active voice, direct — after reading a page, users should think “is it really this easy?”Do / Don’t
| Principle | Do | Don’t |
|---|---|---|
| Concise | ”Planning breaks tasks into steps" | "Planning is a feature that allows agents to break down complex tasks into smaller, more manageable steps” |
| Active voice | ”Enable planning with planning=True" | "Planning can be enabled by setting the planning parameter to True” |
| Direct | ”Use gpt-4o for planning" | "It is recommended that you consider using gpt-4o for planning” |
| Specific | ”Set timeout=60 for slow servers" | "Increase the timeout if needed” |
Section Introductions
Each section starts with exactly one sentence — no multi-sentence preamble.Configuration Documentation Pattern
Features support multiple configuration levels — document each level the feature actually supports. Precedence ladder:Instance > Config > Array > Dict > String > Bool > Default
SDK Config Extraction
When readingfeature_configs.py, extract every field:
| Option | Type | Default | Description |
|---|---|---|---|
option1 | str | "default" | Description from docstring |
option2 | bool | False | Description from docstring |
option3 | int | None | Description from docstring |
Mintlify Frontmatter
All four fields are required on every page.Icon Selection
| Feature Type | Icon |
|---|---|
| Planning | list-check |
| Reflection | rotate |
| Skills | puzzle-piece |
| Hooks | webhook |
| Autonomy | robot |
| Output | display |
| Execution | play |
| Caching | database |
| Templates | file-code |
| Web | globe |
| MCP | plug |
| Memory | brain |
| Knowledge | book |
| Tools | wrench |
| Agents | user |
Quality Checklist
Run through this before submitting any documentation page.Structure
Structure
- Frontmatter complete (title, sidebarTitle, description, icon)
- Hero Mermaid diagram present
- Quick Start uses
<Steps>component - Configuration Options table complete
- Best Practices uses
<AccordionGroup> - Related section uses
<CardGroup cols={2}>
SDK Accuracy
SDK Accuracy
- All config options documented
- Types match SDK exactly
- Defaults match SDK exactly
- Import paths are correct
- No undocumented features
Code Quality
Code Quality
- All examples run without modification
- All imports included
- Examples are minimal (shortest way to accomplish the task)
- No placeholder values like
"your-key-here"
Diagrams
Diagrams
- Colour scheme matches standard (
#8B0000,#189AB4,#10B981,#F59E0B,#6366F1) - White text on coloured backgrounds (
color:#fff) -
classDefdeclarations present - Diagram explains the concept visually
Writing
Writing
- One-sentence section intros
- No forbidden phrases
- Active voice throughout
- Concise explanations
Complete Page Example
A full Caching page demonstrating every rule in this guide.Related
Contributing Guide
How to fork, clone, and submit pull requests to PraisonAI.
AGENTS.md on GitHub
The source-of-truth instructions file this guide mirrors.

