ausus/cli

AUSUS — CLI (L6): DSL frontend and the `ausus compile` command. Discovers closed-DSL definition files, scans them for forbidden symbols, compiles them to content-addressed EntitySchema via the Entity Engine, and persists through FileSchemaRepository. PHP-native, no container, no auto-discovery.

Maintainers

Package info

github.com/adonko3xBitters/cli

pkg:composer/ausus/cli

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v2.0.0 2026-06-27 17:55 UTC

This package is auto-updated.

Last update: 2026-06-29 03:21:59 UTC


README

AUSUS 2.0 — CLI (L6). The authoring frontend for the Entity Engine: it discovers closed-DSL definition files, scans them for forbidden symbols, compiles them to content-addressed EntitySchema, and persists them through a FileSchemaRepository. PHP-native: no container, no auto-discovery.

Installation

composer require ausus/cli:^2.0

Dependencies

  • PHP 8.3+
  • ausus/kernel, ausus/authoring, ausus/entity-engine (resolved automatically)

Public surface

  • Ausus\Cli\Authoring\DslFrontenddiscover(string $root): EntityDefinition[] (loads *.php definition files; one-shot evaluation, forbidden-symbol scan).
  • Ausus\Cli\Command\CompileEntitiesCommandrun(string $entitiesDir, string $aususRoot, $stdout = null, $stderr = null): int. Discovers + compiles in memory, then writes atomically (.ausus/schemas/<hash>.json + index.json); on any error nothing is written.
  • Ausus\Cli\Repository\FileSchemaRepositoryresolve(string $entityId): EntitySchema, getByHash(), putByHash(). Reads/writes the content-addressed store; never recompiles.

Minimal example

compile.php in your project root:

<?php
require __DIR__ . '/vendor/autoload.php';

use Ausus\Cli\Command\CompileEntitiesCommand;

// entities/*.php each `return Definition::make(...)->build();`
exit((new CompileEntitiesCommand())->run(__DIR__ . '/entities', __DIR__ . '/.ausus'));
php compile.php
# → writes .ausus/schemas/<hash>.json + .ausus/index.json

Documentation

See the canonical reference docs/v2/ and the Quick Start (EE-RFC-011 / EE-RFC-012).