Native Shell
Native Shell:AI 生成的 UI,在你的應用中原生呈現,涵蓋每個平台。iOS、Android、macOS、Windows 與 Linux 上的應用、GPUI 應用與網頁在執行時載入已簽名、沙箱隔離的 TSX 模組並繪製 th
AI 翻譯
Self-hosted, Flutter-first mobile CI and internal app distribution platform.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Alpha — APIs, configuration formats, and CLI flags can change before the stable release.
Oore CI builds Flutter apps on Macs you control and ships them to testers, Google Play, and the App Store. Builds, signing keys, and artifacts stay on your own hardware. It runs Android, iOS, and macOS builds on a macOS host.
Oore has three parts:
oored) that serves the API and schedules builds.oore-runner) that runs builds directly on the Mac or in a fresh macOS VM.oore) for install, setup, upgrades, and runner management, and a web UI for everything else..oore.yaml file names one or more workflows. Oore finds the files in the repository, shows what will run, and lets you pick the workflow when you start a build. Pushes and pull requests fan out to every workflow they trigger. Files, pipelines, and workflows.| Home | Builds |
|---|---|
| Build | Environments |
arm64 (Apple silicon) or x86_64 (Intel) with administrator accesscurl, tar, ssh-keygen, and the macOS system /usr/bin/stat, /usr/bin/lockf, and /usr/bin/shasumFor source development, also install Rust and Bun.
oore install manages macOS hosts only. A Web node can also run on Linux from the published web archive; see Run a Web node on Linux.
# Install the latest stable Oore CLI
curl -fsSL https://oore.build/install | bash
# Choose this device role and continue to setup
~/.oore/bin/oore install
The download script verifies a signed release manifest and installs only the oore CLI. The guided command then offers five device roles:
| Role | Purpose |
|---|---|
| Complete | Run the control plane, local web UI, and builds on this Mac. |
| Control plane | Manage pipelines and runners without a local web UI or runner. |
| Runner | Run builds for a control plane on another Mac. |
| Web node | Serve the web UI for a control plane on another Mac. |
| CLI only | Connect the CLI to a ready control plane without local services. |
Interactive installation continues to oore setup. SSH sessions use terminal setup. Local Complete installations use browser setup by default.
Then follow the docs for your first app:
Install prerelease channels:
# Bootstrap the CLI from the latest alpha
curl -fsSL https://oore.build/install | OORE_CHANNEL=alpha bash
~/.oore/bin/oore install
# Bootstrap the CLI from the latest beta
curl -fsSL https://oore.build/install | OORE_CHANNEL=beta bash
~/.oore/bin/oore install
Check for an update:
oore update --check
oore update updates Ready Complete and Control plane installations in place. It drains active runner work, creates a backup, restarts managed services, and restores the prior release if verification fails. Use oore-web update on a separate Web node. See Upgrade Oore for the full procedure.
bun install
make clean-dev-state
make run-daemon
make setup-token
make dev-web
To explore the UI with seeded data and no daemon, run bun run dev:demo in apps/web and sign in with any demo account (password owner). This is the same demo as demo.oore.build.
Notes:
make dev-fresh-setup resets development state, builds the project, and starts the daemon.OORE_DEV_ENABLE_TUNNEL=0 make dev-fresh-setup.OORE_DEV_SETUP_MODE=cli make dev-fresh-setup for CLI-based OIDC setup.~/.oore/dev.noindex.apps/web/ React 19 + TanStack Router (product UI)
apps/docs/ Astro 7 + Fumadocs static documentation
apps/site/ Landing and install site (oore.build)
crates/oored/ Daemon — Axum HTTP server
crates/oore/ Operator CLI — Clap
crates/oore-runner/ Build runner agent
crates/oore-contract/ Shared data types (Serde structs)
crates/oore-google-play/ Google Play Developer API client
crates/oore-cli-ui/ Shared terminal presentation for the CLIs
shared/media/ Product screenshots used by the README, site, and docs
Releases are published via GitHub Actions.
alpha creates a vX.Y.Z-alpha.N prerelease.beta creates a vX.Y.Z-beta.N prerelease.stable creates a vX.Y.Z release.The release workflow requires two protected secrets:
OORE_RELEASE_SIGNING_KEY contains the Ed25519 private key.OORE_RELEASE_PUBLICATION_TOKEN has Administration: read, Contents: write, and Workflows: write for this repository only.The Ed25519 public key must match tools/release-signing-key.pub.
Advance workspace.package.version in Cargo.toml before each release. The autotag workflow never increments patch versions.