Repository configuration file
Much like .circleci/config.yml for CircleCI or .github/workflows/main.yml for GitHub Actions, the repository configuration file defines how your repo is built and configured.
Repository-level settings are read from a config file so you can set defaults for all artifacts in the repo without repeating them on every @artifact decorator.
In the future, we will add more settings to the configuration file, such as the custom build environment and flow.
Location
The configuration file is located at .makerrepo/config.yaml in the root of your repository.
Schema
The config file is YAML. Top-level structure:
| Key | Type | Description |
|---|---|---|
pythonpaths |
array of strings | Optional. Paths to prepend to Python's import path (sys.path) before importing your repo code. Useful for src/ layouts. |
artifacts |
object | Optional. Artifacts-related defaults. |
pythonpaths
Paths that MakerRepo prepends to sys.path before loading user modules. Use this when your code is not importable from the repository root by default (for example, a src/ layout).
Each entry is typically a relative path from the repository root.
artifacts.default_config
Defaults used when the @artifact decorator omits export_step or export_3mf. See Artifacts for how these are used per artifact.
| Key | Type | Default | Description |
|---|---|---|---|
export_step |
boolean | true |
Default value for exporting the artifact as a STEP file when not set on the decorator. |
export_3mf |
boolean | true |
Default value for exporting the artifact as a 3MF file when not set on the decorator. |
Example
# .makerrepo/config.yaml
pythonpaths:
- src
- libs/shared
artifacts:
default_config:
export_step: true
export_3mf: true
Omitting pythonpaths means no additional paths are added to sys.path.
Omitting artifacts or default_config uses the library defaults (both export_step and export_3mf are true).
You only need to create .makerrepo/config.yaml if you want to change these defaults or add options like pythonpaths.