LinkML Project Copier Template

Tip

If you have an existing project based on the old cookiecutter template, see the migration guide.

To start a new LinkML project, use the LinkML Project Copier template. This template generates a LinkML project directory for you, including the directory structure and commands necessary to build and test your project. For step-by-step instructions, please consult the documentation here.

Prerequisites

You need the following tools installed:

  • copier (version 9.4.0 or later)

  • uv (for Python package management)

  • just (command runner)

Quickstart

Create your new LinkML project

mkdir my-awesome-schema
cd my-awesome-schema
copier copy --trust https://github.com/linkml/linkml-project-copier .

Answer the prompted questions to customize your project. More details on the prompts and how to answer them can be found here.

The --trust flag is required because the template uses Jinja2 extensions.

Set up your project

just setup

Build and test your project

just test

Updating your project from the template

One key advantage of Copier over the previous Cookiecutter-based template is lifecycle management. When the template is updated, you can pull in those changes:

copier update --trust

This will re-apply the template with your existing answers, using git-style conflict markers where your local changes conflict with template updates.