Core: Installation
Composer, publish config/streams, env vars, and first stream.
Install Streams Core in a Laravel 10, 11, or 12 application via Composer. Core declares php: ^8.2 and laravel/framework ^10|^11|^12. This site runs Core on Laravel 12. Core's own test suite still runs on Laravel 10, because the streams/testing harness is Laravel 10 only until it is widened. See the version matrix.
Require the package
composer require streams/core:2.0.x-dev
Core 2.0 has no stable tag yet. Without the 2.0.x-dev constraint (or "minimum-stability": "dev" in your composer.json), Composer installs the old Core 1.10.4 instead.
Laravel auto-discovers Streams\Core\StreamsServiceProvider.
Publish assets
Nothing has to be published; Core runs on its defaults. Publish what you want to change:
php artisan vendor:publish --provider="Streams\Core\StreamsServiceProvider" --tag=config
php artisan vendor:publish --provider="Streams\Core\StreamsServiceProvider" --tag=streams
php artisan vendor:publish --provider="Streams\Core\StreamsServiceProvider" --tag=public
| Tag | Copies | To |
|---|---|---|
config |
resources/config/core.php |
config/streams/core.php |
streams |
Core's own stream definitions (resources/streams/: streams.json, applications.json) |
streams/ |
public |
resources/public/ |
public/vendor/streams/core |
Always pass --provider. streams/ui and streams/api register a config tag too, so --tag=config on its own publishes every package's config. The public tag publishes nothing when the installed Core build ships no resources/public directory.
Environment variables
| Variable | Purpose |
|---|---|
STREAMS_DATA_PATH |
Filebase data directory (default streams/data) |
STREAMS_SOURCE |
Default source adapter (default filebase) |
STREAMS_DEFAULT_FORMAT |
Default file format (default json) |
Verify installation
Create streams/posts.json and query entries:
Streams::entries('posts')->count();