ElastOS is a local-first runtime for Apps and services. Its authority model applies the same explicit rules to people and AI agents. First-class agent principals are still open 0.6 work; current agent commands use the operator lane. People sign in to Home with passkeys.
This is pre-release software. Do not use it for important workloads. The public
installer is the current Linux x86_64/aarch64 preview. This repository also
contains newer 0.6 development work, which may not match the public
installation. state.md records the evidence and gaps for this tree.
curl -fsSL https://elastos.elacitylabs.com/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
elastos setup
elastosRunning elastos opens Home. The default setup installs Home and its core Apps.
You do not need a separate elastos serve process for this path.
Home is the user-facing front door to the managed Runtime.
Only one live host may own an ElastOS data home at a time. Stop Home before using the separate operator runtime in the same home. See Installing ElastOS for profiles, updates, trust verification, and operator setup.
macOS currently uses source-home staging rather than the public installer. See the Mac staging runbook.
The workspace requires Rust 1.89 or newer.
cargo install just
just build
just testA source build does not create a complete install. Use Getting
started for trusted-source setup, running a source
build, and capsule development. Run just verify before handing off a change.
Runtime is the trusted core. Home and shells show state and collect intent, but they cannot grant themselves authority. Executable capsules request effects through typed Runtime resources. Components use ElastOS Bus. Web projections use narrow, capsule-scoped Runtime adapters. Both enter Runtime's authority and routing boundary. Runtime handles core operations directly and selects a provider for provider-backed effects. Carrier is the endpoint-authenticated off-box transport for routes that leave the node, not the capsule API.
The 0.6 tree implements and conformance-tests the Component/Bus path. The 18
shipped first-party UI Apps still use elastos.runtime-projection/v1 web
projections; the Component fixture and authoring template are not evidence that
a first-party product App has migrated yet.
Self-contained host commands and explicit operator commands use their
documented paths inside the elastos binary. They are outside the capsule
effect path. The architecture defines the trust
topology. The command matrix defines command
ownership.
ElastOS keeps three concepts separate:
- objects are a person's documents, media, identities, sites, and other things
- Digital Capsules are complete, portable signed packages
- spaces are the rooted namespaces where objects and services resolve
Public product surfaces use "Apps." Runtime and developer documents use
"capsules." Directories under capsules/ and templates/ are source packages.
They become Digital Capsules only when completely packaged and signed. Runtime
admission is a separate, node-local verification decision. See the
principles and
architecture for the full model.
Use state.md as the authority for current behavior and known gaps. It distinguishes implemented behavior from source-only paths and unverified product claims. Browser source and proof tooling alone do not establish complete Browser product support.
Use TASKS.md for open work, ROADMAP.md for future direction, and elastos/CHANGELOG.md for release history.
For command ownership across Home and operator lanes, see the command matrix.
elastos-runtime/
├── elastos/ # Rust runtime workspace
├── capsules/ # First-party capsule source packages and projections
├── docs/ # Guides, contracts, architecture, and runbooks
└── scripts/ # Build, verification, release, and operator tools
- Getting started: install, build, and create a capsule
- Documentation map: complete guide and contract index
- State: verified behavior and known gaps
- Principles: decision constraints
- Architecture: trust and responsibility boundaries
- Capsule authoring: supported Component and web-projection paths