Three cases, one skill
explanation/two-patternsChecked 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)
- 2026-10-22 by
- Sources
- References
- About
- Pointed to by
- Who owns which file (references)
- 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
Overview
Section titled “Overview”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.
Why the sidecar needs a skill
Section titled “Why the sidecar needs a skill”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.