Skip to content

Built-in schemas

docmeta bundles seven schemas. You reference any of them by id, with no file to write, no URL to host, and no network call at validation time. This page is the registry: what each one constrains, whether it requires anything, and which are applied when you pass no flags at all.

Run docmeta schemas to print the same list from the version you have installed.

Id Constrains Requires On by default Details
google:okf:0.1 type, title, description, resource, tags, timestamp type Yes OKF schema
passo-uno:seven-action:1.0 action nothing Yes Taxonomy schemas
diataxis:diataxis:1.0 type type No Taxonomy schemas
tgdp:templates:1.0 type type No Taxonomy schemas
docusaurus:docs:3.10 25 Docusaurus docs fields nothing No Docusaurus schemas
docusaurus:blog:3.10 20 Docusaurus blog fields nothing No Docusaurus schemas
docusaurus:pages:3.10 9 Docusaurus pages fields nothing No Docusaurus schemas

All seven use Draft 2020-12, allow additional properties, and are built-in references, so a typo in an id is reported as an unknown built-in rather than a missing file.

The Requires column above is the distinction that matters when you pick one.

Editorial schemas describe what a page is. google:okf:0.1 and the two type vocabularies demand their key, because adopting them is a claim that every page carries that classification, which makes an unclassified page a gap rather than an abstention. Turning one on for the first time reports every page that has not caught up yet.

Platform schemas describe what your site generator accepts. The three docusaurus:* schemas require nothing at all, because Docusaurus itself marks no front matter field as mandatory. They check the shape of the fields a page does carry, so switching one on cannot fail a page that was already building.

The two kinds mostly claim different keys, so they compose. One run can hold a page to your generator’s contract and to your own standard, attributing each failure to the schema that raised it:

Terminal window
docmeta validate docs/ -s docusaurus:docs:3.10 -s diataxis:diataxis:1.0

Only two of the seven are in the default set:

google:okf:0.1 + passo-uno:seven-action:1.0

Everything else is opt-in. Seven-Action is safe to carry by default precisely because it requires nothing — it rules that an action, if present, is legitimate, without insisting on one. The default set sits at the bottom of the precedence chain and applies only when no --schema flag, no in-file $schema, and no config rule matched.

Three ways, in precedence order — the first one that matches wins, and each replaces the set rather than adding to it.

Repeat -s to build a set. This overrides everything else for the whole run:

Terminal window
docmeta validate docs/ -s docusaurus:docs:3.10 -s google:okf:0.1

A built-in id is vendor:name:version. The version segment tracks the upstream standard, not docmeta’s own release number:

  • google:okf:0.1 is OKF v0.1.
  • docusaurus:docs:3.10 is the front matter contract of Docusaurus 3.10.

Ids are stable. A new upstream version arrives as a new id rather than a change to an existing one, so upgrading docmeta never silently retightens a check you already passed. Pin the id you validated against and move it deliberately.

The built-ins are a shortcut, not a ceiling. A docs set with its own field names or its own vocabulary needs its own schema — a .json file you reference by path, or a URL you host for several repos to share. Copying the closest built-in and editing it is usually faster than starting from nothing.