Plating

Automatic documentation generation for Terraform and OpenTofu providers.
From schema to registry-ready docs — discovery, capability-first organization, and Jinja2 templates included.

🍽️
Live output
This documentation was generated by Plating.

The pyvider provider docs on the OpenTofu registry are generated and maintained entirely by Plating — schema extraction, capability-first navigation, and registry format output.

search.opentofu.org/provider/provide-io/pyvider/latest →
adorn → edit → render.

Three commands take you from undocumented provider to registry-ready docs. Each step is incremental — run them as you develop, not just at release time.

01
plating adorn

Scaffold

Discovers all resources, data sources, and functions in your provider. Creates .plating bundles for each undocumented component — a Jinja2 doc template and a basic.tf usage example, ready to fill in.

02
edit bundles

Customize

Fill in the doc template and the .tf examples. Plating embeds your examples directly into the rendered documentation — what you write in basic.tf is what users see in the registry.

03
plating plate

Publish

Generates the complete documentation set — Markdown pages with examples embedded, a mkdocs.yml with capability-first navigation, and registry-compatible output. Ready to commit and ship.

Bundle structure — one per component
my_resource.plating/
├── docs/
│ └── my_resource.tmpl.md   # doc template with {{ schema() }} and {{ example("basic") }}
└── examples/
    └── basic.tf           # Terraform usage example, embedded in rendered docs
Everything your docs need.
🔍

Auto-Discovery

Finds every resource, data source, and function in your provider automatically. Nothing falls through the cracks.

🎯

Capability-First Organization

Groups documentation by what a component does (Math, Utilities, Lens) rather than just its type. Docs that match how users think.

📝

Jinja2 Templates

Fully customizable templates with custom functions and filters. Override the defaults or build your own documentation structure.

🔄

Schema Integration

Extracts provider schemas automatically. Argument types, defaults, and required/optional status pulled directly from your code.

📍

mkdocs.yml Generation

Generates the complete navigation structure automatically. No manual YAML maintenance as your provider grows.

🧱

Example Generation

plating adorn scaffolds a basic.tf alongside every doc template. Edit it once — plating plate embeds it inline into your registry documentation automatically.

📦

Registry-Ready Output

Output conforms to the OpenTofu and Terraform registry documentation format. Run plating plate, commit, done.

plating — docs from your provider.
plating
plating adornScaffold .plating bundles for undocumented components
plating plateGenerate docs and mkdocs.yml from bundles
plating validateValidate generated documentation
plating infoShow registry information and component statistics
Quick start
# Install
uv tool install plating

# Scaffold templates for undocumented components
plating adorn

# Edit .plating bundles, then plate
plating plate

# Validate before committing
plating validate
Start documenting.

Install Plating, run plating adorn, and your provider has a documentation and example scaffold in seconds.

Plating on GitHub → See it live