valkyrja / sindri
The Valkyrja Sindri build tool.
Requires
- php: >=8.4
- nikic/php-parser: ^5.7.0
- valkyrja/valkyrja: 26.x-dev
This package is auto-updated.
Last update: 2026-04-30 19:47:02 UTC
README
Sindri
Sindri is the build tool and application creator for the Valkyrja PHP framework.
Sindri scaffolds new Valkyrja applications, generates cache files for faster runtime performance, and handles build-time concerns across the Valkyrja ecosystem. Named after the dwarven smith in Norse mythology who forged Mjölnir and other divine artifacts, Sindri does for your Valkyrja app what his namesake did for the gods: crafts the tools and artifacts that make it all work faster and better.
What Sindri Does
- Scaffolds new Valkyrja applications — bootstrap a fresh project with the correct structure, entry points, and configuration
- Generates cache files — produces compiled configuration, route, and container data that lets your app skip discovery work at runtime
- Builds artifacts — prepares deployable outputs optimized for production runtimes
- Handles upgrades — assists with migrations between major Valkyrja versions
Installation
Via Composer (recommended)
Add Sindri to an existing Valkyrja project:
composer require --dev valkyrja/sindri
Or use Sindri to scaffold a new project from scratch:
composer create-project valkyrja/sindri your-project
cd your-project
Phar
Phar distribution is planned for a future release.
Getting Started
Scaffolding a New Application
Sindri can generate a new Valkyrja application with the correct structure and entry points:
vendor/bin/sindri new your-app-name
This creates a fresh project directory with pre-wired HTTP and CLI kernels,
example controllers and commands, and a complete configuration scaffold —
equivalent to using the valkyrja-starter-app-php template
but driven from the CLI.
Building Cache Files
Once your application is developed, Sindri can generate cache files that significantly improve runtime performance by eliminating discovery and configuration overhead:
vendor/bin/sindri cache
See the Sindri documentation for the full list of cache generation commands and options.
Listing Available Commands
vendor/bin/sindri list
Documentation
Full Sindri documentation is baked into the repository so you can browse it offline.
For framework-level questions about Valkyrja itself, see the Valkyrja framework repository.
Versioning and Release Process
Sindri follows semantic versioning with a major release every year, and support for each major version for 2 years from the date of release.
For more information see our Versioning and Release Process documentation.
Supported Versions
Bug fixes are provided until 3 months after the next major release. Security fixes are provided for 2 years after the initial release.
| Version | PHP | Release | Bug Fixes Until | Security Fixes Until |
|---|---|---|---|---|
| 26 | 8.4 – 8.6 | March 31, 2026 | Q2 2027 | Q1 2028 |
| 27 | 8.5 – 8.6 | Q1 2027 | Q2 2028 | Q1 2029 |
| 28 | 8.6+ | Q1 2028 | Q2 2029 | Q1 2030 |
Contributing
Sindri is an open-source, community-driven project. Thank you for your interest in helping develop, maintain, and release it.
See CONTRIBUTING.md for the submission process and
VOCABULARY.md for the terminology used across Valkyrja.
Security Issues
If you discover a security vulnerability within Sindri, please follow our disclosure procedure.
License
Sindri is open-source software licensed under the
MIT license. See LICENSE.md.