Cookiecutter-tesseract, a project template for multi-Tesseract pipelines 🍪

cookiecutter-tesseract is a new cookiecutter template for building applications out of more than one Tesseract. It scaffolds a monorepo that combines several Tesseracts into a pipeline, with shared code, tests, and CI wired up from the start — so you can skip the boilerplate and get straight to the science.

Why you’d use this

Our new Composing Tesseracts into pipelines guide covers the step after you’ve built your Tesseracts: how to call them from your own code and chain them into a larger workflow. Tesseract Core is deliberately unopinionated about what you build on top, but once you’re chaining several components into an application, you end up hand-rolling the same things every time: a directory layout, a place for shared utilities, per-component test cases, CI that builds everything, and a runner to tie the pipeline together.

cookiecutter-tesseract gives you all that as a batteries-included starting point. If you’re building an app out of a single Tesseract, tesseract init is still the right tool; if you’re building one out of many, read the pipelines guide and/or reach for this template.

What you get

  • Monorepo layout — components (Tesseracts), shared code, and the pipeline app in one repo with a standardized structure.
  • A make workflow — make new, build, test, data, and run wrap the common Tesseract commands so you don’t have to memorize them.
  • Component scaffolding — make new <name> [RECIPE=base|jax|pytorch] spins up a new Tesseract, pre-wired to depend on your shared code.
  • Shared code package — one place for utilities every Tesseract can import, installed automatically into each component.
  • Regression testing — JSON test cases per component plus a pytest suite for the app, all runnable via make test.
  • CI/CD + pre-commit — GitHub Actions that build components and run the full suite, with Ruff formatting and linting configured out of the box.
  • Example notebook — an interactive notebook for running the pipeline and plotting outputs.

None of the extras are load-bearing once generated, so you can drop pre-commit, CI, or the example app if you don’t need them.

Getting started

Prerequisites are Tesseract Core and a running Docker daemon. Then:

# Install cookiecutter (with uv, or pip)
uv tool install cookiecutter

# Generate a project from the template
cookiecutter gh:pasteurlabs/cookiecutter-tesseract

# From inside the generated project:
make new mytess RECIPE=jax   # scaffold a component
make build                   # build all components
make test                    # test components + app
make run                     # run the pipeline end-to-end

Feedback welcome

This is an early release and we’d love to hear how it fits your workflow — especially the make targets and the monorepo layout. Try it out, and open an issue on GitHub or reply here with anything that feels off or missing.