Installation
AUSUS v0.1.0 has two halves you can install independently: the PHP backend packages and the React renderer npm package.
Requirements
| Layer | Tool | Minimum | Tested with |
|---|---|---|---|
| Runtime (PHP) | php | 8.3 | 8.4.18 |
| Runtime (PHP) | ext-pdo, ext-pdo_sqlite | bundled | bundled |
| Tooling (PHP) | composer | 2.0 | 2.9.5 |
| Runtime (JS) | node | 18 | 22.x |
| Tooling (JS) | npm | 8 | 10.x |
| Runtime (JS) | react, react-dom | ^18 || ^19 | 18.3.1 |
AUSUS does not require the Laravel framework, Eloquent, Filament, Tailwind, a bundler, or any UI component library. Persistence in v0.1.0 uses the bundled SQLite PDO driver.
Option A — start from the project template
The fastest path. ausus/starter is a ready-to-run project that already wires
the kernel, persistence, runtime, and a sample domain together.
composer create-project ausus/starter myapp
cd myapp
composer boot
Expected output:
ausus/starter boot
✓ compiled graph (hash …)
✓ schema applied
✓ created invoice id=…
✓ issued invoice (DRAFT → ISSUED)
✓ rendered summary projection (items=1)
OK — ausus/starter boots cleanly.
If you used --no-install, finish with composer install && composer boot.
To serve the same sample plugin over HTTP locally (renderer-ready):
composer serve
# → AUSUS dev server at http://localhost:8000
# (Ctrl+C to stop)
The dev server is bin/server.php shipped with the starter; it routes
/api/_health, /api/projections/{fqn}, and /api/actions/{fqn} through
the same Router → Invoker → kernel chain used by composer boot.
Option B — add packages to an existing project
Install only the packages you need. The dependency order is bottom-up:
composer require ausus/kernel
composer require ausus/runtime-default
composer require ausus/persistence-sql
composer require ausus/api-http # optional — HTTP API surface
Or pin the whole validated v0.1.0 set with one package. ausus/standard-stack
bundles the four packages above and ships the high-level
Ausus\Application bootstrap facade and its typed
Ausus\ApplicationConfig builder:
composer require ausus/standard-stack
Option C — build from source (monorepo)
Use this to read the code, run the validation gates, or contribute.
git clone https://github.com/adonko3xBitters/ausus-framework.git
cd ausus-framework
composer install # workspace install via path repositories
npm install # workspace install
bash scripts/ci.sh # full validation gate
scripts/ci.sh runs an 11-step gate and ends with:
[ci] DONE — all 11 steps passed
The React renderer
The renderer is a separate npm package. react and react-dom are peer
dependencies — you install them yourself.
npm install @ausus/renderer-react react@18 react-dom@18
# React 19 also works:
# npm install @ausus/renderer-react react@^19 react-dom@^19
The package is ESM-only ("type": "module", NodeNext resolution). It ships
no bundled dependencies and no CSS file — see
The React renderer.
Current v0.1.0 limitations
- Persistence is validated on SQLite only. MySQL/PostgreSQL drivers are a design goal, not a tested v0.1.0 capability.
composer create-project ausus/starteris a 2-command flow (create-projectthencomposer boot); with--no-installit becomes a 3-command flow.- The reserved packages (
tenancy-row,audit-database,auth-bridge,presentation-default) are not installable as working code — they are name reservations. See Packages.
Migrating from a v0.2 pre-release
v1.0.0 is on Packagist with stable stability — composer create-project and composer require no longer need a stability
flag. Existing alpha / beta / rc consumers receive v1.0.0
automatically on composer update (Composer's @alpha / @beta /
@rc per-package flags all accept stable).
To lock onto the v1.0 stable line cleanly, two small edits to the
root composer.json of an existing pre-release project:
- "minimum-stability": "alpha",
- "prefer-stable": true,
"require": {
- "ausus/standard-stack": "^0.2@alpha"
+ "ausus/standard-stack": "^1.0"
}
If your project was created from composer create-project ausus/starter (any pre-release line), the scaffold's own
minimum-stability declaration is already harmless after the
update — it just becomes redundant.
The full pre-release alpha / beta / rc setup procedure (declaring
the stability flag in a root composer.json, manual two-command
init) remains documented in the
v0.2.0-alpha.5 release notes for
projects that need to install a specific pre-release version for
historical reasons.
Next
- Your first app — bootstrap an app with
Ausus\Application. - HelloInvoice tutorial — a full domain, end to end.