valkyrja/sindri

The Valkyrja Sindri build tool.

Maintainers

Package info

github.com/valkyrjaio/sindri-php

Homepage

Type:project

pkg:composer/valkyrja/sindri

Statistics

Installs: 278

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v26.1.1 2026-04-26 05:24 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.

PHP Version Require Latest Stable Version License CI Status Scrutinizer Coverage Status Psalm Shepherd Maintainability Rating

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.