Plating
Automatic documentation generation for Terraform and OpenTofu providers.
From schema to registry-ready docs — discovery, capability-first organization, and Jinja2 templates included.
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 →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.
plating adornScaffold
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.
edit bundlesCustomize
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.
plating platePublish
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.
├── docs/
│ └── my_resource.tmpl.md # doc template with {{ schema() }} and {{ example("basic") }}
└── examples/
└── basic.tf # Terraform usage example, embedded in rendered docs
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 adornScaffold .plating bundles for undocumented componentsplating plateGenerate docs and mkdocs.yml from bundlesplating validateValidate generated documentationplating infoShow registry information and component statisticsuv tool install plating
# Scaffold templates for undocumented components
plating adorn
# Edit .plating bundles, then plate
plating plate
# Validate before committing
plating validate
The framework Plating documents. Build Terraform providers in Python — Plating handles the docs side automatically.
Package your documented provider as a single executable. Write → document → ship.
Conformance testing for your provider. Validate protocol correctness alongside documentation completeness.
Source, issues, and the CHANGELOG. Pre-release — APIs may change before 1.0.
Install Plating, run plating adorn, and your provider has a documentation and example scaffold in seconds.