This repository is the shared workspace for three independently owned products:
| Product | Status | Responsibility |
|---|---|---|
| Rulesy | Implemented | Provision the current machine from trusted local YAML or stdin. |
| RulesyOS | Functional reference image | Boot a read-only Linux reference image whose permanent stage zero invokes a released Rulesy binary and persists status. |
| Rulesy Compose | Design only | Build, validate, seal, and explicitly publish artifacts by invoking a real pinned Rulesy binary on the host. |
The products share a repository and narrow versioned contracts, not one lifecycle or release. RulesyOS and Rulesy Compose are not subcommands of Rulesy. Compose is host tooling and must never be installed in production RulesyOS firmware.
products/
rulesy/ Rust provisioner and its tests, fixtures, and release helpers
rulesyos/ Rust stage zero, Buildroot reference image, and KVM tests
rulesy-compose/ Rulesy Compose requirements and implementation design
devcontainer-features/
src/rulesy/ Published Rulesy development-container Feature
skills/
rulesy-workflow/ Agent workflow for using Rulesy
docs/
decisions/ Product-family and repository decisions
See the architecture, code map, and documentation index before changing a cross-product contract. Product-specific details live with the owning product.
Moon 2.4.5 is the repository task runner. Run tasks from the repository root:
moon run rulesy:build
moon run rulesy:test
moon run rulesy:format
moon run rulesy:lintPass task arguments after --, for example:
moon run rulesy:cross-compile -- aarch64-unknown-linux-muslClean project-local build outputs, or remove those outputs together with project-owned downloads, caches, and Python bytecode:
moon run :clean
moon run :deep-cleanMoon's workspace cache remains managed separately with moon clean --all.
Rulesy owns build, format, lint, test, release, clean, and
deep-clean, together with its development and release helper tasks. RulesyOS
owns uncached build, format, lint, test, test-known-good, clean, and
deep-clean tasks; its image build and KVM tasks are local-only. The
development-container Feature owns its build, shell-lint, test, and cleanup
commands. Rulesy Compose and the workflow skill do not advertise placeholder
lifecycle tasks before they have implementation or established tooling to run.
Rulesy development details, CLI usage, and its provisioning contract are in the Rulesy README.