Metadata-Version: 2.4
Name: ud-kibot
Version: 0.1.6
Summary: UltraDuino KiCad/KiBot project automation CLI
Author-email: UltraDuino <ops@ultraduino.org>
License-Expression: MIT
Project-URL: Homepage, https://gitlab.com/ultraduino/ud-kibot
Project-URL: Repository, https://gitlab.com/ultraduino/ud-kibot.git
Project-URL: Documentation, https://gitlab.com/ultraduino/ud-kibot/-/blob/develop/README.md
Keywords: kicad,kibot,gitlab,pcb,ci,cli
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12
Requires-Dist: pydantic>=2.0
Requires-Dist: jinja2>=3.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: packaging>=24.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: ruff>=0.8; extra == "dev"
Provides-Extra: release
Requires-Dist: build>=1.2; extra == "release"
Requires-Dist: twine>=5.0; extra == "release"
Dynamic: license-file

# ud-kibot

UltraDuino CLI for KiCad/KiBot project automation.

## Install

```bash
pip install ud-kibot
```

Development install:

```bash
cd ud-kibot
pip install -e ".[dev,release]"
pre-commit install
pre-commit install --hook-type commit-msg
```

## Quick start

```bash
ud-kibot config init
cd ../ucube_left_card
ud-kibot init . --board ucube_left_card --skip-pcb-scaffold
ud-kibot install . --template-path ../ultraduino-kibot-template
ud-kibot doctor .
```

## Development

```bash
make lint
make test
```

Coverage gate: **80%** (`pyproject.toml`).

## Release flow

Same model as `esys-ci-host`:

1. Update `[Unreleased]` in `CHANGELOG.md`
2. `make bump-release` (or `python scripts/bump_release.py`)
3. Merge to `master`, wait for green CI
4. `make tag-release` (or `python scripts/tag_release.py --yes`)
5. `git push origin vX.Y.Z`

Tag pipelines build the wheel, smoke-install it, publish to GitLab PyPI, then optionally TestPyPI/PyPI.

## User configuration

- Linux/macOS: `~/.config/ud-kibot/config.yaml`
- Windows: `%APPDATA%\ud-kibot\config.yaml`

Default template: `https://gitlab.com/ultraduino/ultraduino-kibot-template.git`

## License

MIT — see [LICENSE](LICENSE).
