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.
- 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
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 distribution is planned for a future release.
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.
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.
vendor/bin/sindri list
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.
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.
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 |
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.
If you discover a security vulnerability within Sindri, please follow our disclosure procedure.
Sindri is open-source software licensed under the
MIT license. See LICENSE.md.
