# Streams > Streams is an agentic-first Laravel package system (Tailwind, Alpine, Laravel, Livewire) for data modeling, admin UI, REST APIs, and developer tooling. Streams are defined as JSON in streams/*.json and queried through a criteria and repository abstraction, so storage can change without changing application code. Packages: streams/core (data platform), streams/ui (Livewire admin panels and components), streams/api (REST API), streams/sdk (dev-only generators, streams:validate, and a local MCP server started with `php artisan mcp:start streams`, which needs laravel/mcp on Laravel 11.45+ or 12.41+), streams/testing (test harness), and @laravel-streams/api-client (JavaScript client). Stream definition files (streams/*.json) follow the JSON Schema at https://streams.dev/schema/streams.schema.json. Every link below points at raw markdown; drop the .md suffix for the HTML page. The full text of every page is at https://streams.dev/llms-full.txt. ## Get started - [Introduction](https://streams.dev/docs/introduction.md): Streams overview for Laravel developers and teams. - [Installation](https://streams.dev/docs/installation.md): Install Streams in a new or existing Laravel app: requirements, the version matrix, Composer constraints, and publishing config. - [Use Cases](https://streams.dev/docs/use-cases.md): Starting paths for common product types with Streams. - [Configuration](https://streams.dev/docs/configuration.md): Laravel config, environment variables, and the streams directory. - [Versions and support](https://streams.dev/docs/versions.md): Which Laravel and PHP versions each Streams package supports, and how to require them. - [Changelog](https://streams.dev/docs/changelog.md): Notable changes to the Streams packages, newest first, grouped by month. - [Upgrade guide](https://streams.dev/docs/upgrading.md): How to stay current on the development branches, and what to change for each breaking change. ## Guides: Core Concepts - [Architecture](https://streams.dev/docs/architecture.md): How Streams packages fit together in a Laravel application. - [Streams](https://streams.dev/docs/streams.md): Get started with the stream modeling engine. - [Fields](https://streams.dev/docs/fields.md): Fields, types, and inputs are documented here. ## Guides: The Basics - [Files](https://streams.dev/docs/files.md): Files and image handling. - [Content](https://streams.dev/docs/content.md): Filebase pages and content fragments in Streams. - [Routing](https://streams.dev/docs/routing.md): Routing your application. ## Guides: Frontend - [Images](https://streams.dev/docs/images.md): Read, resize, and render images with the Images facade, built on Intervention Image. - [Assets](https://streams.dev/docs/assets.md): Asset and image management overview. - [Components](https://streams.dev/docs/components.md): Blade and Livewire UI patterns with Streams. - [Forms](https://streams.dev/docs/forms.md): When to use UI forms in Streams applications. ## Guides: Advanced - [API](https://streams.dev/docs/api.md): When and how to add a REST API to your Streams application. - [UI](https://streams.dev/docs/ui.md): Control panels and interface generation for Streams. - [Control Panel](https://streams.dev/docs/control-panel.md): Building admin and product panels with Streams UI. - [Users](https://streams.dev/docs/users.md): Authentication and user streams in Streams applications. - [Databases](https://streams.dev/docs/databases.md): Storage adapters and database-backed streams. - [Localization](https://streams.dev/docs/localization.md): Internationalization with Streams and Laravel. - [Tenancy](https://streams.dev/docs/tenancy.md): Three separate mechanisms: Core applications matched by URL, an API tenant resolver you scope yourself, and a UI panel tenant that does not scope routes yet. ## Guides: Developers - [Caching](https://streams.dev/docs/caching.md): Caching options and automation. - [Addons](https://streams.dev/docs/addons.md): Composing packages and local development with Streams. - [Testing](https://streams.dev/docs/testing.md): Testing Streams applications and packages. - [Agents](https://streams.dev/docs/agents.md): How agents work with Streams: llms.txt and raw markdown, the MCP server, the stream definition schema, and OpenAPI. - [MCP server](https://streams.dev/docs/mcp.md): The local-development MCP server in streams/sdk: requirements, starting it with mcp:start streams, client setup, tools, resources, the design-stream prompt, and configuration. - [Docs MCP server](https://streams.dev/docs/docs-mcp.md): Connect Cursor, Claude Code, or any MCP client to the hosted streams.dev docs over MCP: search, read pages, browse the navigation, and fetch the stream JSON Schema. - [Workflows](https://streams.dev/docs/workflows.md): Streams\Core\Support\Workflow runs named steps in order and fires before and after callbacks. ## Core reference - [Introduction](https://streams.dev/docs/core/introduction.md): JSON-defined streams, repositories, criteria, and Laravel integration. - [Installation](https://streams.dev/docs/core/installation.md): Composer, publish config/streams, env vars, and first stream. - [Configuration](https://streams.dev/docs/core/configuration.md): config/streams/core.php — data path, sources, field types, and images. - [Streams](https://streams.dev/docs/core/streams.md): Stream JSON schema — fields, extends, imports, routes, and config. - [Fields](https://streams.dev/docs/core/fields.md): Field handles, rules, shorthands, and registered types from core.php. - [Field decorators](https://streams.dev/docs/core/field-decorators.md): Decorate entry field values for display — markdown, HTML, and type decorators. - [Entries](https://streams.dev/docs/core/entries.md): Entry lifecycle, attributes, factory, save/delete, and protected fields. - [Repositories](https://streams.dev/docs/core/repositories.md): Repository CRUD API — repository() vs entries() and available methods. - [Criteria](https://streams.dev/docs/core/criteria.md): Query API — where, orderBy, paginate, cache, chunk, and adapter forwarding. - [Sources and adapters](https://streams.dev/docs/core/sources-and-adapters.md): filebase, file, self, database, eloquent, collection, and filesystem adapters. - [Caching](https://streams.dev/docs/core/caching.md): Per-stream cache config, criteria cache(), fresh(), and flush on writes. - [Validation](https://streams.dev/docs/core/validation.md): Manual validator() usage, field rules, and StreamsPresenceVerifier. - [Routes](https://streams.dev/docs/core/routes.md): Stream routes JSON, Route::streams, EntryController, parse and defer. - [Applications](https://streams.dev/docs/core/applications.md): Multi-app URL matching, active application, and Integrator merge keys. - [Integrator](https://streams.dev/docs/core/integrator.md): Wire application entries into config, streams, routes, and providers at boot. - [Addons](https://streams.dev/docs/core/addons.md): streams-addon Composer discovery and the Addons facade. - [Assets](https://streams.dev/docs/core/assets.md): Asset registry, path namespaces, @assets Blade, and HTML helpers. - [Images](https://streams.dev/docs/core/images.md): Images::make, alterations, picture/srcset, versioning, and auto-alt. - [Views and includes](https://streams.dev/docs/core/views-and-includes.md): View namespaces, Includes slots, ViewTemplate, and Factory includes. - [Facades and helpers](https://streams.dev/docs/core/facades-and-helpers.md): Streams, Assets, Images, Applications facades and global helpers. - [Macros](https://streams.dev/docs/core/macros.md): Route::streams, Str::parse, Arr::make, Factory includes, and more. - [Callbacks](https://streams.dev/docs/core/callbacks.md): FiresCallbacks on streams, entries, repositories, and criteria. - [Extending Core](https://streams.dev/docs/core/extending-core.md): Custom adapters, repositories, entries, and field types via config bindings. ## UI reference - [Introduction](https://streams.dev/docs/ui/introduction.md): Livewire admin panels on Core — panels, resources, and builders. - [Installation](https://streams.dev/docs/ui/installation.md): Composer, UI::panel(Panel::make()), publish tags, and middleware. - [Quick start](https://streams.dev/docs/ui/quick-start.md): Register a panel, one Resource class, and visit /admin. - [Architecture](https://streams.dev/docs/ui/architecture.md): Panels → pages/resources → Livewire → routes flow. - [Panels](https://streams.dev/docs/ui/panels.md): Path, middleware, default panel, branding, and SetUpPanel. - [Routing](https://streams.dev/docs/ui/routing.md): Panel route registration, route names, and custom routes closure. - [Resources](https://streams.dev/docs/ui/resources.md): PHP Resource subclasses — getPages(), table(), and form(). - [Pages](https://streams.dev/docs/ui/pages.md): ListEntries, CreateEntry, EditEntry, and custom Livewire pages. - [Navigation](https://streams.dev/docs/ui/navigation.md): Navigation groups, items, and wiring resources into the sidebar. - [Forms](https://streams.dev/docs/ui/forms.md): Form::make(), Form::for($livewire), components, state, and validation. - [Form layouts](https://streams.dev/docs/ui/form-layouts.md): Field, Fieldset, Container, Section, and Grid layout components. - [Inputs](https://streams.dev/docs/ui/inputs.md): Input classes in Streams\\Ui\\Builders\\Inputs. - [Tables](https://streams.dev/docs/ui/tables.md): Table::make($livewire), query, columns, filters, and pagination. - [Columns](https://streams.dev/docs/ui/columns.md): Text, Link, Image, Icon, Toggle, and other table columns. - [Filters](https://streams.dev/docs/ui/filters.md): Text, Select, Search, Toggle, and Criteria table filters. - [Bulk actions](https://streams.dev/docs/ui/bulk-actions.md): BulkAction, selection patterns, and grouped actions. - [Actions](https://streams.dev/docs/ui/actions.md): Action, modals, redirects, and table header/row action groups. - [Livewire integration](https://streams.dev/docs/ui/livewire.md): InteractsWithTable, InteractsWithForms, and panel middleware. - [Theming](https://streams.dev/docs/ui/theming.md): Panel color palettes, brand name, logo, favicon, and layout. ## API reference - [Introduction](https://streams.dev/docs/api/introduction.md): A criteria-scoped REST API for streams and entries. You opt in to routes and own authentication. - [Installation](https://streams.dev/docs/api/installation.md): Require streams/api, enable the gate, and register an interface from a service provider. - [Configuration](https://streams.dev/docs/api/configuration.md): Every key in config/streams/api.php: enabled, prefix, middleware, interface, and the gate. - [Routes](https://streams.dev/docs/api/routes.md): Full route table for streams and entries endpoints. - [Request format](https://streams.dev/docs/api/requests.md): Flat JSON field maps on create and update — not JSON:API. - [Responses](https://streams.dev/docs/api/responses.md): Response envelope — data, errors, links, meta — and ApiResponse API. - [Query parameters](https://streams.dev/docs/api/query-parameters.md): where, constraint, order_by, limit, skip, and per_page on GET entries. - [Pagination](https://streams.dev/docs/api/pagination.md): first_page, next_page, and meta keys from addPaginationMeta(). - [Errors](https://streams.dev/docs/api/errors.md): 409 validation, 404 JSON, 204 delete, and error envelope. - [Stream endpoints](https://streams.dev/docs/api/streams-endpoints.md): CRUD for stream definitions on /api/streams. - [Entry endpoints](https://streams.dev/docs/api/entry-endpoints.md): CRUD and upsert behavior for /api/streams/{stream}/entries. - [Query endpoint](https://streams.dev/docs/api/query-endpoint.md): POST /api/streams/{stream}/query with parameters array. - [Custom interfaces](https://streams.dev/docs/api/custom-interfaces.md): Register several ApiInterface instances with their own path, domain, middleware, resources, and tenant. - [Custom endpoints](https://streams.dev/docs/api/custom-endpoints.md): Add endpoints to an interface, write ApiEndpoint classes, and group them in resources. - [Authentication](https://streams.dev/docs/api/authentication.md): The API ships no auth. Your app owns access through the gate middleware and interface middleware. - [Tenancy](https://streams.dev/docs/api/tenancy.md): Resolve a tenant once per request with API::tenant() or ApiInterface::tenant(), then scope criteria with endpoint callbacks. - [Caching](https://streams.dev/docs/api/caching.md): HTTP caching with the ApiCache middleware: ETags, Cache-Control, and per-stream opt-out. - [OpenAPI](https://streams.dev/docs/api/openapi.md): The generic OpenAPI reference, plus api:schema and api:documentation for your own app. - [Testing](https://streams.dev/docs/api/testing.md): Test your API routes with Laravel HTTP tests, and the status codes to expect. - [Examples](https://streams.dev/docs/api/examples.md): curl recipes with correct paths and response shapes. ## SDK reference - [Introduction](https://streams.dev/docs/sdk/introduction.md): Dev-only Artisan generators and checks for streams, entries, addons, and Livewire components, plus a local MCP server for agents. - [Command reference](https://streams.dev/docs/sdk/commands.md): Every Artisan command in streams/sdk: what it writes, its arguments and options, JSON output for agents, and the command classes that are not registered. - [Stream definition schema](https://streams.dev/docs/sdk/stream-schema.md): The JSON Schema for streams/*.json, served at /schema/streams.schema.json: what it checks, editor setup, and validating with streams:validate. - [Streams](https://streams.dev/docs/sdk/streams.md): Define streams with the SDK scaffolding workflow. - [TALL Components](https://streams.dev/docs/sdk/tall-components.md): Tailwind, Alpine, Laravel, and Livewire patterns in the SDK. - [AI Prompts](https://streams.dev/docs/sdk/ai-prompts.md): Patterns and prompts for AI-assisted Streams development. ## Testing reference - [Introduction](https://streams.dev/docs/testing/introduction.md): Testing package for Streams with pre-configured environments and sample data. - [Installation](https://streams.dev/docs/testing/installation.md): Install and configure the Streams Testing package. - [Test Data](https://streams.dev/docs/testing/test-data.md): Sample streams and test data included in the package. - [Writing Tests](https://streams.dev/docs/testing/writing-tests.md): Write effective tests for Streams applications. - [Configuration](https://streams.dev/docs/testing/configuration.md): Configure the Streams Testing environment. - [Troubleshooting](https://streams.dev/docs/testing/troubleshooting.md): Common issues when testing with Streams Testing. ## Client reference - [Introduction](https://streams.dev/docs/client/introduction.md): A zero-dependency JavaScript client for the Streams REST API. - [Installation](https://streams.dev/docs/client/installation.md): Installing and setting up the Streams API Client - [Quick Start](https://streams.dev/docs/client/quickstart.md): Get started with the Streams API Client in minutes - [Client Configuration](https://streams.dev/docs/client/client.md): Configure the API client for your application - [Streams](https://streams.dev/docs/client/streams.md): Working with stream resources and CRUD operations - [Working with Entries](https://streams.dev/docs/client/entries.md): CRUD operations for stream entries - [Criteria Query Builder](https://streams.dev/docs/client/criteria.md): PHP Laravel-style query building for filtering and sorting - [Middleware System](https://streams.dev/docs/client/middleware.md): Request/response middleware and custom middleware creation - [Examples](https://streams.dev/docs/client/examples.md): Real-world usage patterns and complete examples ## Contributing - [This project](https://streams.dev/docs/this-project.md): What streams.dev is and how it uses Streams Core and UI. - [Project structure](https://streams.dev/docs/project-structure.md): Where stream definitions, content, views, and app code live. - [Site pages](https://streams.dev/docs/site-pages.md): How pages.json and HTML entries drive site URLs without controllers. - [Package catalog](https://streams.dev/docs/package-catalog.md): How packages.json powers the add-ons page and homepage cards. - [Local development](https://streams.dev/docs/local-development.md): Install dependencies, run the dev server, and edit content locally. - [Contributing documentation](https://streams.dev/docs/contributing-docs.md): How to add or edit documentation on streams.dev. ## Optional - [OpenAPI reference](https://streams.dev/docs/api/openapi.yaml): OpenAPI 3 spec of the built-in streams/api endpoints, copied from the streams/api package - [Stream definition schema](https://streams.dev/schema/streams.schema.json): JSON Schema (draft-07) for streams/*.json definition files - [Search index](https://streams.dev/search/docs.json): JSON index of every page with title, description, URL, and excerpt - [Docs MCP endpoint](https://streams.dev/mcp): Read-only MCP server over these docs (Streamable HTTP, JSON-RPC over POST) with search_docs, get_page, list_pages, and get_schema tools