Skip to content

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.

PropertyValue
Idgoogle:okf:0.1
TitleOpen Knowledge Format (OKF) v0.1
DialectDraft 2020-12
Additional propertiesAllowed (additionalProperties: true)
Reference kindbuiltin
JSONschemas/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.

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:

manni.config.yaml
meta:
schemas:
- diataxis:diataxis:1.0

A config that sets defaults: false, or an override without defaults: true, replaces the default set. Name OKF there to keep it:

manni.config.yaml
meta:
defaults: false
schemas:
- google:okf:0.1
- diataxis:diataxis:1.0
FieldTypeFormatConstraintStatus
typestringn/aminLength: 1Required
titlestringn/an/aRecommended
descriptionstringn/an/aRecommended
resourcestringurin/aRecommended
tagsarray of stringn/an/aRecommended
timestampstringdate-timen/aRecommended
  • 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.

Allowed. OKF tolerates unknown keys by design, so a page may carry any metadata beside these six fields.

A minimal file that passes against google:okf:0.1:

---
type: concept
---

A fuller file using the recommended fields:

---
type: concept
title: Schema resolution
description: How manni meta picks a schema set for each file.
resource: https://example.com/docs/schema-resolution
tags: [reference, schemas]
timestamp: 2026-06-25T12:00:00Z
---

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.

google:okf:0.1 encodes the Open Knowledge Format v0.1 frontmatter contract. See the OKF specification for the full standard.