OKF schema
Built-in id: google:okf:0.1
Published at: https://hawkeyexl.github.io/manni/schemas/okf/0.1.json
google:okf:0.1 is the Open Knowledge Format (OKF) v0.1 frontmatter schema
shipped with manni meta. It anchors the default
set, which lists it
first. When no --schema, file $schema, or config override applies, manni
meta validates against google:okf:0.1. It pairs that with
passo-uno:seven-action:1.0, which
constrains an optional action field and adds no requirements of its own.
The nine default manni vocabularies
follow. For every other schema manni meta ships, see the built-in schema
registry.
| Property | Value |
|---|---|
| Id | google:okf:0.1 |
| Title | Open Knowledge Format (OKF) v0.1 |
| Dialect | Draft 2020-12 |
| Additional properties | Allowed (additionalProperties: true) |
| Reference kind | builtin |
| JSON | schemas/okf/0.1.json |
The JSON above is the schema itself, served at a
permanent, version-pinned URL.
Read it, $ref it from a schema of your own, or hand it to a JSON Schema tool
that is not manni meta. Naming that URL inside manni meta costs no network call: it
resolves to the same bundled copy google:okf:0.1 does.
OKF requires only type. Every other field is recommended, and unknown keys are
explicitly tolerated, so a file may carry extra metadata without failing.
Use it
Section titled “Use it”A run with no -s flag, no in-file $schema and no config override already
applies it. A schemas: list in config adds to the default set, so OKF stays
beside a vocabulary of your own choosing:
meta: schemas: - diataxis:diataxis:1.0A config that sets defaults: false, or an override without
defaults: true, replaces the default set. Name OKF there to keep it:
meta: defaults: false schemas: - google:okf:0.1 - diataxis:diataxis:1.0Fields
Section titled “Fields”| Field | Type | Format | Constraint | Status |
|---|---|---|---|---|
type | string | n/a | minLength: 1 | Required |
title | string | n/a | n/a | Recommended |
description | string | n/a | n/a | Recommended |
resource | string | uri | n/a | Recommended |
tags | array of string | n/a | n/a | Recommended |
timestamp | string | date-time | n/a | Recommended |
type: a short string identifying the kind of concept; used for routing, filtering, and presentation. Must be a non-empty string.title: human-readable display name. When omitted, consumers may derive a title from the filename.description: single-sentence summary used for indexing and previews.resource: a URI uniquely identifying the underlying asset. Absent for abstract concepts.tags: short strings for categorization.timestamp: ISO 8601 date-time of the last meaningful change.
Additional properties
Section titled “Additional properties”Allowed. OKF tolerates unknown keys by design, so a page may carry any metadata beside these six fields.
Example
Section titled “Example”A minimal file that passes against google:okf:0.1:
---type: concept---A fuller file using the recommended fields:
---type: concepttitle: Schema resolutiondescription: How manni meta picks a schema set for each file.resource: https://example.com/docs/schema-resolutiontags: [reference, schemas]timestamp: 2026-06-25T12:00:00Z---A common mistake
Section titled “A common mistake”A page with no type is the only thing OKF fails by default:
✗ docs/overview.md (root) must have required property 'type' (line 1) [google:okf:0.1]OKF accepts any non-empty type. To hold it to a fixed list, pair it with a
taxonomy schema.
Specification
Section titled “Specification”google:okf:0.1 encodes the Open Knowledge Format v0.1 frontmatter contract.
See the
OKF specification
for the full standard.