MakerRepo CLI
CLI in development
The makerrepo-cli is still in active development. Command names, options, and behavior may change in future releases.
makerrepo-cli is a command-line tool that lets you do almost everything you could do with MakerRepo locally, without creating a MakerRepo.com account. Build models, collect artifacts, run generators, and run your full Manufacturing as Code workflow from your own machine.
What you can do with the CLI
The goal is to keep the whole workflow open-source. Even if one day you decide not to use MakerRepo.com anymore, you can still use makerrepo-cli to do the same things you did before. Your workflow is not locked to the platform. With makerrepo-cli you can:
- Build your CAD models from code (e.g. Build123D).
- Collect and work with artifacts and generators locally.
- Run your full build and artifact workflow without depending on MakerRepo.com.
If you do use MakerRepo.com, you push your code and the platform’s CI builds and hosts artifacts for viewing and sharing. But the CLI is designed so that almost everything that matters can be done locally and open-source.
Installation and usage
You can get the makerrepo-cli command in any of these ways:
| Method | Command |
|---|---|
| uv (install globally) | uv tool install makerrepo-cli |
| uv (add to project) | uv add makerrepo-cli |
| uvx (run without installing) | uvx makerrepo-cli or uvx mr |
With uv tool install, the makerrepo-cli command is available on your PATH. With uv add, use uv run makerrepo-cli from the project directory (or ensure the project's virtualenv is activated). uvx fetches and runs the latest CLI on demand—no install required.
All commands below assume you run them from the repository root (where your Python packages/modules with @artifact and @customizable live). The CLI scans the current directory for artifacts and generators.
Usage
The CLI is available as either makerrepo-cli or the shorter alias mr.
To see available commands and global options, run:
Global options
| Option | Description |
|---|---|
-l, --log-level |
Log level (e.g. DEBUG, INFO, WARNING). Default: from LOG_LEVEL env or INFO. |
--build123d-log-level |
Log level for the build123d library. Default: from BUILD123D_LOG_LEVEL env or WARNING. |
--log-format |
Logging format (used when rich log is disabled). |
--disable-rich-log |
Use plain text logging instead of rich. |
--version |
Show version and exit. |
Shell completion
You can enable tab completion for bash, zsh, or fish:
# Add to your shell config (e.g. .bashrc, .zshrc, config.fish):
eval "$(mr completion bash)" # bash
eval "$(mr completion zsh)" # zsh
eval "$(mr completion fish)" # fish
Artifacts (CLI)
Use mr artifacts ... to list, view, export, and snapshot artifacts discovered from the current repository.
Artifacts come from @artifact-decorated functions in your Python packages and modules.
For details and examples, see the dedicated page:
Generators (CLI)
Use mr generators ... to list, view, export, and snapshot generator output using JSON payloads. Generators
come from @customizable-decorated functions in your code.
For details and examples, see the dedicated page:
Reference
- Source: LaunchPlatform/makerrepo-cli
- Artifacts are collected from the repo via
@artifact-decorated functions; generators from@customizable-decorated functions. Both are discovered by scanning Python packages and modules under the current working directory.