A Cookiecutter template for generating a Build123D repository ready for MakerRepo.com — a GitHub-like platform for manufacturing as code.
- A Python project managed with uv (no Poetry).
- Dependencies:
build123d,makerrepo,makerrepo-cli, andpydantic. - Sample artifact (fixed CAD model) and generator (parametric model) to learn from.
- A README with next steps, docs links, and local CLI workflow.
- uv installed (
curl -LsSf https://astral.sh/uv/install.sh | shor via your package manager). - For using the template: Cookiecutter (
pip install cookiecutteroruv tool install cookiecutter). If you clone this repo, runuv syncin the repo root so Cookiecutter is available formake generate/make verify.
From the directory where you want to create the new project:
cookiecutter gh:LaunchPlatform/makerrepo-build123d-cookiecutterOr clone this repo and run from the template directory:
git clone https://github.com/LaunchPlatform/makerrepo-build123d-cookiecutter.git
cd makerrepo-build123d-cookiecutter
cookiecutter . --no-input # use defaults
# or
cookiecutter . # prompt for project_slug, usernameYou will be prompted for:
- project_slug — Python package name: use only letters, numbers, and underscores, e.g.
my_makerrepo_cad(no dashes, since it becomes the top-level Python package and project directory name). - username — Your MakerRepo.com username (used in clone/push URLs).
A new directory named after project_slug will be created. cd into it, then follow the generated project’s README.md for:
- Creating a repo on MakerRepo.com and pushing your code.
- Using
makerrepo-cli(mr) to list, view, export, and snapshot artifacts and generators locally. - Links to MakerRepo docs.
From the template repo root (this repository), after uv sync:
| Command | Description |
|---|---|
make generate |
Generate the project into _test_output/ using default values (no prompts). Output: _test_output/my_makerrepo_cad/. |
make verify |
Same as generate, then runs uv sync and mr artifacts list / mr generators list inside the generated project to confirm discovery works. |
_test_output/ is in .gitignore.
MIT. See LICENSE.