Thanks for your interest in contributing to UAII Runtime.
- Core must not import model-specific code.
- External formats convert to UAII IR before execution (Phase 2+).
- Backends understand only UAII IR + planned kernels.
- Prefer new plugins over core changes.
- Public docs use Universal AI Inference Runtime / UAII Runtime only.
See the root README.md for prerequisites and build steps.
Recommended before opening a PR:
- Configure and build with CMake.
- Run
uaii doctor(and optionally--load-plugins). - Run the smoke test target if you changed
uaii-core. - Format C++ with
clang-format(style file is.clang-format).
Note: CI and local verification commands are documented in the README. Follow those instructions in your own environment; this repository does not assume tools are pre-installed.
| Path | Role |
|---|---|
include/uaii/ |
Public headers / interfaces |
libs/uaii-core/ |
Errors, logging, config, plugins |
libs/uaii-*/ |
Modular libraries (core, ir, runtime, backends, capi, …) |
bindings/python/ |
Python SDK |
website/ |
Next.js static docs |
plugins/ |
Example / reference plugins |
docs/ |
Vision, plan, architecture, features |
tests/ |
Smoke + runtime integration tests |
Be honest in docs: host-fallback GPU backends and demo loaders are scaffolds until real device/model paths land.
- Language: C++17
- Style: Google-based via
.clang-format - Errors: Return
uaii::Error; avoid exceptions on hot paths - Logging: Use
uaii::log::*with a short component name - ABI: Plugin entry points stay
extern "C"and versioned
- Keep PRs focused and modular.
- Update docs when behavior or public APIs change.
- Add or extend tests for core behavior changes.
- Describe why the change is needed in the PR body.
Use GitHub Issues. Include OS, compiler, CMake version, and the exact command that failed.