burr 0.6.0

Design-rule checks for CAD-as-code workflows.
Documentation
# Install Burr

Burr has two pieces:

```txt
burr             Rust CLI and linter
burr-build123d   Python helper that emits burr-design-data.json from build123d
```

The CLI is Rust-first. The Python helper is managed with uv.

## Rust CLI From crates.io

Install the Burr CLI with Cargo:

```bash
cargo install burr
```

Check it:

```bash
burr --version
```

Run it on a folder containing `burr-design-data.json`:

```bash
burr check path/to/design-folder
```

Start a build123d part:

```bash
burr init my-part
cd my-part
uv run python design.py
burr check .
```

The generated project currently installs `burr-build123d` from the
`burr-build123d-v0.5.0` Git tag because the PyPI package is still pending.

## Local Development Checkout

Clone and install:

```bash
git clone https://github.com/fraylabs/burr.git
cd burr
npm install
uv sync --all-packages
cargo test
```

Run checks:

```bash
npm run check
npm run check:build123d
```

Use the local CLI without global install:

```bash
cargo run -- --version
cargo run -- check examples/linear-actuator-good
```

Or install the local Rust CLI while developing:

```bash
cargo install --path .
burr --version
```

## build123d Helper With uv

Inside a Burr checkout, `burr-build123d` is a uv workspace package.

Run the example design files through uv:

```bash
uv sync --all-packages
uv run --package burr-build123d python examples/build123d-actuator/good/design.py
cargo run -- check examples/build123d-actuator/good
```

For your own local script in the same checkout:

```bash
uv run --package burr-build123d python path/to/design.py
```

## Install the Python Helper From Local Path

For another project on the same machine:

```bash
uv add --editable /path/to/burr/packages/burr-build123d
```

Then your build123d design can import:

```python
from burr_build123d import BurrDesignData, m3_clearance_hole
```

## Current Publish Status

```txt
Rust CLI: published to crates.io as burr
PyPI package: not published
uv local workspace install: supported
```

Planned package names:

```txt
PyPI: burr-build123d
```