Skip to content

The gate

Glossary termgatelinkml-lintgen-projectjust testglossary/the-gate

Checked by automation only

still a draft

Written 2026-10-22 by ktl-librarian (automation). Last checked 2026-10-22 by ktl-librarian (automation).

The three recipes linkml-author runs after every schema edit, in order: lint, gen-project and test.

The full record
Checks
  • 2026-10-22 by ktl-librarian (automation)
Sources
Pointed to by
Graph
Open this concept in the knowledge graph
IRI
https://w3id.org/ktl/linkml-sidecar/knowledge/glossary/the-gate
Licence
CC BY 4.0
Files
MarkdownJSON-LDSource on GitHubHistory on GitHub

The gate is what linkml-author runs after every schema edit, in this order:

Terminal window
just --justfile <project>/justfile lint # linkml-lint, the recommended rules: warnings fail it
just --justfile <project>/justfile gen-project # every generator in generators.yaml or config.yaml
just --justfile <project>/justfile test # generate into tmp/, pytest, then the example runner

just test runs no lint, so lint comes first. A generator that fails on a schema lint accepted is a schema error too. A project with a Makefile runs the same targets through make.

A schema on its own has no recipes. Its gate is linkml-lint <schema>, then gen-project into a temporary folder, then linkml-validate over whatever example data the host keeps, each through the host’s environment.

Example data sits beside the schema’s tests: a file under tests/data/valid/<ClassName>-<anything>.yaml must validate against that class, and one under tests/data/invalid/ must fail. Beside a KTL bundle that names the schema, cd .lokf && just lokf-validate && just lokf-check-refs follows the gate.