Skip to main content

Installation

AUSUS v0.1.0 has two halves you can install independently: the PHP backend packages and the React renderer npm package.

Requirements

LayerToolMinimumTested with
Runtime (PHP)php8.38.4.18
Runtime (PHP)ext-pdo, ext-pdo_sqlitebundledbundled
Tooling (PHP)composer2.02.9.5
Runtime (JS)node1822.x
Tooling (JS)npm810.x
Runtime (JS)react, react-dom^18 || ^1918.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/starter is a 2-command flow (create-project then composer boot); with --no-install it 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