{"explanation/file-ownership":{"title":"Who owns which file","type":"Explanation","genre":"explanation","label":"nobody has checked this yet, still a draft","tone":"nobody","definition":"Who owns each file in a .linkml/ sidecar (the template, the host or the skill) and how each changes, which template recipes never run, and how just update keeps a sidecar current."},"explanation/ktl-mode":{"title":"KTL mode","type":"Explanation","genre":"explanation","label":"checked by automation only, still a draft","tone":"automation","definition":"What changes when the host carries a .lokf/ Knowledge Trust Ladder bundle: the sidecar's dummy schema becomes the bundle's domain schema, and the scaffold pins .lokf/lokf.yaml, writes an ExampleConcept dummy, excuses LOKF's camelCase slots in the linter and names the schema in .lokf/justfile and as [tool.lokf] schema; an adopted schema is not made the domain schema."},"explanation/two-patterns":{"title":"Three cases, one skill","type":"Explanation","genre":"explanation","label":"checked by automation only, still a draft","tone":"automation","definition":"Why there are three ways to give a repository a LinkML schema: a schema project runs copier at its root and needs no sidecar, a codebase whose maintainers do not want a schema project in their root folder gets the hidden .linkml/ sidecar around a dummy schema, and a repository holding a schema but no project gets the sidecar around that schema (--adopt)."},"glossary/domain-schema":{"title":"Domain schema","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"A LinkML schema importing LOKF's core schema, whose classes that are is_a Concept the bundle's concepts may name in type, checked by lokf validate --schema."},"glossary/doorway":{"title":"Doorway","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"A relative symbolic link, linkml_schema, from the host's root to .linkml/src/<slug>/schema, so a person can open the schema folder where Finder and folder pickers hide dot-directories."},"glossary/dummy-schema":{"title":"Dummy schema","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"The skill-owned placeholder schema the scaffold writes in a fresh sidecar, Person or, in KTL mode, ExampleConcept, which linkml-author replaces with the host's real model."},"glossary/sidecar":{"title":"Sidecar","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"A hidden .linkml/ folder holding a complete, pinned linkml-project-copier project inside a host repository, with one visible doorway, one workflow and a README that says how to remove it, and nothing in the host's build depending on it."},"glossary/template-pin":{"title":"Template pin","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"The tag and commit of linkml-project-copier the sidecar is made from, held as LINKML_TEMPLATE_REF and LINKML_TEMPLATE_SHA in skills/linkml-sidecar/scripts/linkml-scaffold.sh and recorded in .copier-answers.yml as _commit."},"glossary/the-gate":{"title":"The gate","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"The three recipes linkml-author runs after every schema edit, in order: lint, gen-project and test."},"playbooks/contributing":{"title":"Contributing","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"The contributor checklist: development setup, the fast tests, the slow tests and the clone of the pinned template they need, the install smoke test, what to run before a pull request, how to move the linkml-project-copier template pin, and how action pins in the GitHub and Forgejo workflow templates follow Dependabot."},"playbooks/installing-the-skills":{"title":"Installing the skills","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"How to install linkml-sidecar and linkml-author with gh skill, npx skills, the Claude Code plugin or a copy of the repository, for your user or a team, pinned to one tag, and how to turn on the workflow and run the preflight and scaffold without an agent."},"playbooks/knowledge-sources":{"title":"Knowledge sources","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"Map of the repository locations this bundle was derived from, the classes each yields, the files left out on purpose, and how to re-check each on a future refresh."},"playbooks/knowledge-website":{"title":"Knowledge website","type":"Playbook","genre":"how-to","label":"nobody has checked this yet, still a draft","tone":"nobody","definition":"How the website in website/ is built, previewed and published: an Astro Starlight site with a page per concept and its trust label, the lokf export files under knowledge/, and the README as its home page, deployed to GitHub Pages by knowledge-website.yaml once KNOWLEDGE_WEBSITE_ENABLED is true."},"playbooks/linkml-author-skill":{"title":"linkml-author skill","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"The authoring skill: it adds, changes or deprecates LinkML classes, slots, enums and types, replaces the dummy schema with the host's real model, and runs lint, gen-project and test after every change, in any repository that holds a schema: the .linkml/ sidecar, a copier or cookiecutter project wherever it sits, or a schema file on its own."},"playbooks/linkml-sidecar-skill":{"title":"linkml-sidecar skill","type":"Playbook","genre":"how-to","label":"nobody has checked this yet, still a draft","tone":"nobody","definition":"The installer skill: it runs once to put a hidden .linkml/ LinkML schema project from linkml-project-copier into a host repository, around a dummy schema or around a schema the host already holds (--adopt), without touching the host's build, repairs one file it owns, and hands off to linkml-author."},"policies/ai-covenant":{"title":"AI covenant","type":"Policy","label":"checked by automation only, still a draft","tone":"automation","definition":"Community norms for AI use: contributors own what they submit whatever tools helped, AI review comments are suggestions, AI systems must not post comments or replies in issues, discussions, chat or mail, and AI co-authorship in commit messages is discouraged."},"policies/code-of-conduct":{"title":"Code of conduct","type":"Policy","label":"nobody has checked this yet, still a draft","tone":"nobody","definition":"The Contributor Covenant code of conduct that covers participation in this repository."},"policies/releasing":{"title":"Releasing","type":"Policy","label":"checked by automation only, still a draft","tone":"automation","definition":"How a release is cut: semantic-release.yml waits for a reviewer of the release environment and then promotes Unreleased in CHANGELOG.md to the next version, a maintainer runs publish.yml by hand with that version, gh skill publish creates the tag and the release for both skills, installers read the tag, and the plugin marketplace reads main."},"references/agent-skills-specification":{"title":"Agent Skills specification","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"The Agent Skills format both skills follow: a folder with a SKILL.md whose frontmatter carries name, description, license and compatibility, checked in CI with gh skill publish --dry-run."},"references/knowledge-trust-ladder":{"title":"Knowledge Trust Ladder","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"The Knowledge Trust Ladder (KTL), whose bundle is a .lokf/ folder in the host; beside one, the sidecar's schema becomes the bundle's domain schema, and ktl-librarian's domain-schema page is the authority on what lokf validate expects."},"references/linkml":{"title":"LinkML","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"LinkML, the modelling language the sidecar's schema is written in; linkml.io is the canonical site for what it means, its schemas and its generators (JSON Schema, Pydantic, OWL, SHACL, TypeScript, docs)."},"references/linkml-project-copier":{"title":"linkml-project-copier","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"The upstream copier template (MIT) that every sidecar is made from, pinned at tag v0.5.0 and verified against the commit the scaffold driver records before it runs with --trust."},"references/portability":{"title":"Portability","type":"Document","genre":"reference","label":"nobody has checked this yet, still a draft","tone":"nobody","definition":"Which hosts the linkml sidecar works on and what each one loses: macOS, RHEL 8 and 9, WSL2, Windows with Git for Windows or PowerShell, a company proxy, TLS certificates or package mirror, Codeberg and Forgejo, GitLab, no forge, no git, and the template from a company copy instead of github.com."},"references/publishing":{"title":"Publishing a schema others can import","type":"Document","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"linkml-author's page on how a schema reaches an importer: two addresses under its id (every module at schema/module.yaml and one merged file with no imports), a tagged release with a checksummed asset, a vendored copy at a tag or an import by persistent identifier and never by a code-host URL, the importmap and the order an import resolves in, and lokf's adapt for a vocabulary that shares names with yours."},"references/schema-design":{"title":"Schema design for reuse","type":"Document","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"linkml-author's page on designing a LinkML schema that others can import and extend: which names reach the data and how a name defined twice across imports is caught (by the gate's gen-project, not by lint), attributes before slots with fundamental names kept as attributes, mixins, prefixed class names, a core plus modules as the shape importers can take a slice of, type designators instead of kind enums, typed references, no enum inheritance, minor releases that only add, and when a schema that exists can still be refactored."},"references/schema-layouts":{"title":"Where a LinkML schema lives","type":"Document","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"The rule both skills apply to find a LinkML schema in any repository: copier answers naming linkml-project-copier, a config.public.mk, or a schema file found by content; where the preflight looks; and how --adopt gives a found schema the toolchain in place."},"references/template-assumptions":{"title":"Template assumptions catalogue","type":"Document","genre":"reference","label":"nobody has checked this yet, still a draft","tone":"nobody","definition":"The catalogue, at template v0.5.0, of the twenty things linkml-project-copier assumes of a repository root (just setup, just deploy, nested workflows, the governance files, mkdocs URLs, --trust, just update, config.public.mk, the generators' settings and more), what the scaffold does about each, and which an upstream layout answer would remove."},"services/linkml-preflight":{"title":"linkml-preflight.sh","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"The read-only preflight both skills run first: one screen of ok, warn, missing and info lines about the host's shell, git, forge, uv, copier, just and network, where a LinkML schema project or schema file sits, how to run the tools on it and how many people have committed to it, a .lokf/ bundle and Pages, ending in a summary line of what is missing and which steps that disables."},"services/linkml-scaffold":{"title":"linkml-scaffold.sh","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"The scaffold script that does Steps 1 to 3 of linkml-sidecar in one deterministic run: it verifies the template pin, stages the skill's files and copier's output, moves them into .linkml/ around what is already there, keeps the generators' settings in generators.yaml, adopts a schema the host holds with --adopt, names the schema in a KTL bundle's justfile, adds the root pointers, and exits 0, 2, 3, 4 or 5."},"services/linkml-sidecar-workflow":{"title":"linkml-sidecar workflow","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"The workflow the sidecar installs in Step 5. On GitHub, templates/github/linkml-sidecar.yaml at .github/workflows/linkml-sidecar.yaml lints and tests in .linkml/ from the locked environment, builds the docs site on the default branch, and publishes it under the linkml/ subpath of gh-pages only while LINKML_DOCS_ENABLED is true. On Forgejo and Codeberg, templates/forgejo/linkml-sidecar.yaml runs the same gate and publishes to Codeberg Pages."},"services/repository-contract":{"title":"Repository contract","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"scripts/validate-repository.sh and the validate.yml workflow: the checks every pull request runs on this repository, covering skill shape, links, word budgets, the one template pin, shared action pins, prerequisites rows, the changelog, invisible characters, plus pytest, ShellCheck, actionlint, markdownlint, lychee, codespell and the install smoke test."}}
