Getting Started
Welcome! This guide will help you set up your development environment for paiOS.
Prerequisites
Section titled “Prerequisites”- Rust: Edition 2021 (install via rustup)
- Node.js: For building documentation (v18 or later)
- Docker: For building OS images (optional, for OS development)
- Git: For version control
Build Tooling
Section titled “Build Tooling”Depending on what you want to build, we provide different toolchains:
Local Rust (Core Development)
Section titled “Local Rust (Core Development)”If you are contributing to the PAI Engine or the OS Recipes, you should set up Rust locally as described above.
Dockerized Toolchain (App Development)
Section titled “Dockerized Toolchain (App Development)”For 3rd party app developers, we provide the pai-builder Docker image. This image encapsulates the entire cross-compilation toolchain and system headers (sysroot).
- No manual SDK installation: Just run your build command inside the container.
- Reproducible: Ensures your app builds the same way as in our CI/CD.
# Example: Build an app using the builder containerdocker run --rm -v $(pwd):/workspace \ pai/pai-builder:latest \ cargo build --release --target aarch64-unknown-linux-gnuQuick Start (Local Engine)
Section titled “Quick Start (Local Engine)”-
Clone the repository:
git clone https://github.com/aurintex/pai-os.gitcd pai-os -
Set up the engine:
cd enginecargo build -
Set up the documentation:
cd docsnpm installnpm run dev -
Install Pre-commit Hooks (Recommended): To ensure your code always follows our standards, install the pre-commit hooks:
# We use basic hooks for formatting and linting# Make sure you have rustfmt and clippy installed -
Configure Git for automatic DCO sign-off (see DCO Guide for details):
git config format.signoff true
Next Steps
Section titled “Next Steps”- Explore the Architecture section to understand the system design
- Check out the Reference documentation for API details
- Read the Contributing Guide to start contributing
Getting Help
Section titled “Getting Help”If you have questions, found a bug, or need clarification, please reach out:
- Email: info@aurintex.com
- GitHub: Open an issue or a discussion
- (Discord, Slack, or Matrix coming soon!)