Skip to content

Three cases, one skill

Explanationsidecarcopier at the rootadoptexplanation/two-patterns

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 full record
Checks
  • 2026-10-22 by ktl-librarian (automation)
Sources
References
About
Pointed to by
Graph
Open this concept in the knowledge graph
IRI
https://w3id.org/ktl/linkml-sidecar/knowledge/explanation/two-patterns
Licence
CC BY 4.0
Files
MarkdownJSON-LDSource on GitHubHistory on GitHub

A repository that is a schema project, such as lmodel/gist, runs copier at its root itself, in one command, and needs no sidecar. linkml-author works there as it is.

A codebase whose maintainers do not want a schema project in their root folder gets the sidecar, around a small dummy schema that linkml-author replaces. The sidecar is one hidden folder, one visible doorway (linkml_schema), one workflow, and a README inside that says how to remove it. Nothing in the host’s build depends on it.

A repository that holds a LinkML schema but no project gets the sidecar around that schema (--adopt), and the schema is neither moved nor changed. Lint, the generators, the docs and the tests read the schema where it is.

Both skills find a schema by its files, never by its folder’s name: copier answers that name linkml-project-copier, a config.public.mk, or a YAML file that imports linkml:types or names the linkml: prefix and has a top-level schema key. skills/linkml-sidecar/references/layouts.md sets out the rule.

linkml-project-copier assumes it owns a repository root, so it renders workflows, governance files, a setup recipe and a deploy recipe that are inert or harmful in a subfolder. The scaffold switches each of them off, and skills/linkml-sidecar/references/template-assumptions.md says how, row by row.