Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Aurora Laravel Package

sindla/aurora

Aurora is a Laravel/PHP package from sindla that helps streamline common backend workflows. It provides a clean, lightweight integration for Laravel projects, making it easier to add reusable functionality while keeping your codebase maintainable and easy to extend.

View on GitHub
Deep Wiki
Context7

Getting Started

Aurora is a Symfony bundle (Sindla\Bundle\AuroraBundle) targeting Symfony 8.1 and PHP 8.4+. As of v8.1.4 it ships tagged releases (the line previously only existed as 8.1.x-dev), plus CI badges for PHPUnit tests, coverage, statement count and test count. It still has no README, so your first job is discovery, not code.

Install it into a scratch Symfony 8.1 skeleton before you touch a real application — and pin the tag rather than the branch:

composer create-project symfony/skeleton:8.1.x-dev aurora-probe
cd aurora-probe
composer require symfony/webapp-pack -W
composer require sindla/aurora:^8.1.4 -W
php bin/console cache:clear --env=dev

If Flex recognises the bundle type it self-registers; otherwise add it manually to config/bundles.php:

Sindla\Bundle\AuroraBundle\AuroraBundle::class => ['all' => true],

Where to look first, in this order:

  1. tests/ — since #206/#208 the bundle classes and methods are covered by PHPUnit, which makes the suite the most reliable spec you have. Start here, not in src/.
  2. src/ — the bundle entry class, then src/DependencyInjection/ for AuroraExtension and Configuration.php. The Configuration tree is the documentation for what's configurable.
  3. src/Resources/config/ (or config/) — services.yaml shows what's autowired, what's tagged, and what the public service IDs are.
  4. Attribute and src/CommandMiddleware/ classes — the intended developer-facing surface. Note that command middleware parses YAML via ext-yaml (fixed in #209/#210 to stop emitting a PHP warning).

Your first real use case should be a smoke test: run php bin/console list, php bin/console debug:config aurora, and php bin/console debug:container --tag=aurora (adjust the tag) to confirm what the bundle actually registers before writing features against it.

Implementation Patterns

Configuration-first wiring. Write config/packages/aurora.yaml immediately, even if empty. It forces you to read Configuration.php, and it makes defaults explicit rather than implicit. Use %env()% for anything environment-sensitive so dev/test/prod differ cleanly.

Inject via the container, not the bundle class. Treat the bundle as a service provider. Autowire its interfaces into your own services and controllers rather than calling $this->container->get(...) or instantiating internals. This keeps your code testable and survives bundle internals being renamed — relevant here, because 8.1.4 contains a "align the bundle with Symfony 8.1 and its bundle best practices" refactor.

Tag-based extension. Symfony bundles almost always expose extension points through DI tags (event subscribers, handlers, collectors). Once you've found the tag names in services.yaml, you can register your own classes against them in config/services.yaml without touching bundle code — this is the safest way to extend a package you don't control.

Isolate the integration in an adapter. Wrap Aurora's API in your own App\Aurora\* service or interface. Patch releases in the 8.1.x line have carried substantive fixes and refactors, so you want one file to change when internals move, not a codebase-wide grep.

Local development against a path repo. To iterate on the bundle itself:

composer config repositories.aurora \
  '{"type":"path","url":"../Aurora","options":{"symlink":true}}'
composer require sindla/aurora:8.1.x-dev -W

Symlinked installs mean edits in vendor/sindla/aurora/ are live, but you'll need cache:clear after config or DI changes.

Testing pattern. The project's own gate is:

KERNEL_CLASS=App\\Kernel APP_ENV=test vendor/bin/phpunit -c vendor/sindla/aurora/phpunit.xml.dist
KERNEL_CLASS=App\\Kernel APP_ENV=test vendor/bin/phpstan analyse -l 6 vendor/sindla/aurora/src

For your own features, mirror that: boot a real kernel in functional tests, use dama/doctrine-test-bundle for transactional rollback, and use #[DataProvider] attributes (not the @dataProvider annotation) so tests stay PHP 8.4-clean. If you use command middleware or any YAML-driven feature, add a test that exercises it through the console — that path is where the recent warning-level bug lived.

Gotchas and Tips

Tags exist now, but semver does not. v8.1.4 is a patch bump that nonetheless ships ~30 bug fixes across three audit passes plus a Symfony-best-practices refactor and a removal of Docker tooling. Treat patch releases as potentially behaviour-changing: read the diff of src/, not just the changelog, on every bump, and keep an exact version constraint in composer.json.

Do not run anything below 8.1.4. Three separate "most serious bugs found by the audit" PRs landed in this release, so earlier 8.1.x versions are known to carry serious defects. If you evaluated Aurora before this tag, re-evaluate rather than carrying forward old conclusions.

ext-yaml is now an effective runtime dependency. The command middleware parses YAML with it, and #209/#210 only silenced the warning. Check php -m | grep yaml on every environment (including CI images) or install symfony/yaml-backed paths if the extension is missing.

The Docker tooling is gone. #196/#197 removed the Dockerfile and its references. Any local workflow, CI snippet, or onboarding doc you built around a container image needs replacing with a local PHP 8.4 runtime.

The platform requirements will exclude most applications. PHP 8.4 + Symfony 8.1 is bleeding edge; Symfony 6.4 LTS and 7.x projects cannot install it at all. Verify composer why-not sindla/aurora before promising this to a team.

Thin ecosystem, but now a real test suite. There is still no Stack Overflow corpus, no issue history to mine, and no third-party blog posts — but coverage badges mean you can read the tests instead of reverse-engineering behaviour. When something breaks, consult tests/ first, then bin/console debug:container <id> --show-arguments.

Bundle class name mismatch. The Composer package is sindla/aurora but the namespace is Sindla\Bundle\AuroraBundle. Confirm the actual class name from src/ before editing bundles.php — a wrong FQCN produces a confusing "Class not found" at kernel boot, not at install.

Config cache masking changes. After editing Configuration.php or services.yaml, always cache:clear. Stale container cache is the single most common source of "my config key is ignored" confusion in Symfony bundles, and the 8.1.4 refactor touched DI wiring specifically.

Debugging config trees. bin/console config:dump-reference aurora prints the full tree with defaults without needing an existing config file — use it to discover keys you didn't know existed before writing YAML by hand.

Test kernel requirements. The PHPUnit config expects KERNEL_CLASS in the environment. Running the suite without it yields a bootstrap failure that looks like a bundle bug but is an env issue.

Contribution conventions. If you're patching the vendor directory, the AGENTS.md rules are strict: UTF-8, LF, 4 spaces, 199-char lines, English-only in commits and branch names, and edits confined to vendor/sindla/aurora/. composer.lock must never be committed back to the package repo.

Extension points to look for. Before forking, check src/DependencyInjection/Compiler/ for compiler passes and src/EventSubscriber/ for dispatcher hooks — overriding a subscriber priority in config/services.yaml is far cheaper than maintaining a fork of a young dependency.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings