Skip to main content
Every PraisonAI documentation page follows the same structure, component set, and visual language — this guide is both the reference and the example.
The user copies the opening example, runs the agent, then follows the page structure below.

Documentation Creation Process

Read the SDK source before writing anything — documentation must reflect SDK ground truth, not assumptions.
1

Read SDK source

Open and read the actual SDK implementation file in praisonaiagents/ before writing a single word of documentation.
2

Extract all parameters

Pull every parameter, type, default value, and description from the SDK source or config class.
3

Check existing docs

Search docs/ for related pages before creating a new one — avoid duplication, ensure consistency.
4

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.

File Locations

Multi-SDK Reference


Folder Placement Rules

Where a file lives determines who can change it — AI agents have write access to most folders but never docs/concepts/.
Critical folder rules — violations cause PRs to be rejected:
  • docs/concepts/ is HUMAN ONLY — requires explicit human approval. Never create or modify files here.
  • docs/js/ and docs/rust/ are auto-generated by the parity system — never edit manually.
  • If an issue mentions “concepts”, still place the file in docs/features/.

AI Agent Behavioural Rules

Mandatory for all AI agents working in this repository:
  1. ALWAYS read AGENTS.md before starting work
  2. ALWAYS read the SDK source code before documenting a feature
  3. NEVER guess API signatures — read the actual code
  4. NEVER create placeholder content or stub pages
  5. NEVER modify docs.json “Concepts” group entries
  6. ALWAYS create a feature branch (never commit to main)
  7. ALWAYS create a PR with gh pr create
  8. ALWAYS verify docs.json is valid JSON after modifications
  9. ALWAYS use Mintlify components (Steps, AccordionGroup, CardGroup)
  10. ALWAYS include a hero Mermaid diagram with the standard colour scheme

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

Diagram Types by Use Case


Mintlify Components Usage

Every page must use <Steps>, <AccordionGroup>, and <CardGroup cols={2}> — these are not optional.

Required Components

Component Syntax

Steps:
AccordionGroup:
CardGroup:
Tabs:

Code Example Standards

Every example must run without modification — copy-paste success is the bar.
  1. Run without modification (copy-paste success)
  2. Include ALL necessary imports
  3. Use realistic but simple data
  4. Be the shortest way to accomplish the task
  5. Show the feature being documented, not unrelated features
Use these exact imports — no complex sub-module paths:

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

Section Introductions

Each section starts with exactly one sentence — no multi-sentence preamble.
Forbidden phrases — never use these:
  • “In this section, we will…”
  • “As you can see…”
  • “It’s important to note that…”
  • “Please note that…”
  • “Let’s take a look at…”
  • “The following example shows…”

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 reading feature_configs.py, extract every field:
Convert to documentation table:

Mintlify Frontmatter

All four fields are required on every page.

Icon Selection


Quality Checklist

Run through this before submitting any documentation page.
  • 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}>
  • All config options documented
  • Types match SDK exactly
  • Defaults match SDK exactly
  • Import paths are correct
  • No undocumented features
  • All examples run without modification
  • All imports included
  • Examples are minimal (shortest way to accomplish the task)
  • No placeholder values like "your-key-here"
  • Colour scheme matches standard (#8B0000, #189AB4, #10B981, #F59E0B, #6366F1)
  • White text on coloured backgrounds (color:#fff)
  • classDef declarations present
  • Diagram explains the concept visually
  • 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.

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.