gspataro / orchestra
The framework behind Solista
Requires
- filp/whoops: ^2.18
- gspataro/cli: ^2.0.0
- gspataro/dependencyinjection: ^1.0.0
- league/commonmark: ^2.4.1
- nunomaduro/collision: ^8.9
- symfony/yaml: ^6.3.3
- tempest/highlight: ^2.17
- twig/intl-extra: ^3.21.0
- twig/string-extra: ^3.7.1
- twig/twig: ^3.7.1
Requires (Dev)
- pestphp/pest: ^4.0
- phpstan/phpstan: ^2.1
- symfony/var-dumper: ^8.0
README
The framework behind Solista.
Orchestra is a lightweight, flexible static site building engine designed to process content, resolve relationships, and generate static output through a modular pipeline.
โจ Features
- ๐ Pipeline-based architecture
- ๐ง Content querying and relationships
- ๐ Schema-driven page generation
- โก Fast builds with caching
- ๐งช Rehearsal mode for local preview
๐ฆ Installation
composer require gspataro/orchestra
๐ Usage
Orchestra is designed to be used through Solista, which provides:
- a default project structure
- CLI commands
- a ready-to-use theme
If you want full control, you can integrate Orchestra directly into your own application.
๐งช Rehearsal mode
Rehearsal is a lightweight development server that allows you to preview your site without performing a full build.
- No files are written to disk
- Pages are generated on demand
- Ideal for content editing and rapid iteration
โก Caching
Orchestra uses an internal caching system to optimize build performance.
- Content parsing is cached
- Rebuilds are incremental where possible
- Theme changes do not invalidate content cache
๐งฉ Extensibility
Orchestra is built around a modular architecture:
- Custom runtimes
- Custom generators
- Custom content sources
This allows you to adapt the engine to different use cases beyond traditional static sites.
๐ค Third-party packages
Orchestra relies on the following open-source packages:
๐ Development
Run tests:
composer test
Run static analysis:
composer phpstan