Media AI
Package docs status
Section titled “Package docs status”This page is generated from public package documentation in capell-4/packages and the package manifest checked into the source repository.
| Field | Value |
|---|---|
| Composer package | capell-app/media-ai |
| Package slug | media-ai |
| Product group | Capell Media |
| Tier | premium |
| Bundle | media |
| Runtime contexts | admin, console |
| Capell version | ^4.0 |
| Source repository | capell-app/packages |
| Source path | packages/media-ai |
| Docs source | packages/media-ai/docs |
| Manifest | capell.json |
Optional AI-assisted media actions for Capell.
At A Glance
Section titled “At A Glance”- Package:
capell-app/media-ai - Namespace:
Capell\MediaAI\ - Service providers:
packages/media-ai/src/Providers/MediaAIServiceProvider.php - Capell dependencies:
capell-app/admin,capell-app/core - Third-party dependencies:
filament/filament,laravel/framework,spatie/laravel-package-tools
Why It Helps Your Capell Workflow
Section titled “Why It Helps Your Capell Workflow”- Adds optional AI-assisted media actions without forcing the media library to depend on an AI provider.
- Helps editors speed up media tasks while developers keep AI execution behind package Actions and orchestration boundaries.
- Fits sites that want AI support for media workflows but still need predictable fallbacks when AI is disabled.
Best Used With
Section titled “Best Used With”What It Adds
Section titled “What It Adds”Optional AI-assisted media actions for Capell.
- Optional AI-assisted media edit actions.
- ImageDoctor contract with a safe null implementation.
- Filament media action extender for admin workflows.
- No public frontend output and no required AI provider binding.
Why It Matters
Section titled “Why It Matters”For developers: Keeps Media AI package responsibilities isolated behind providers, actions, data objects, and package-owned resources where the package needs them.
For teams: Makes the Capell Media capability easier to explain, install, and verify during package selection.
Built With
Section titled “Built With”This package makes its Composer dependencies visible because they are part of the value proposition, not just plumbing. When an upstream package has a public repository, its linked preview card points readers back to the maintainers so their work gets proper credit.
Capell packages used here
Open-source packages used here
- Spatie Laravel Package Tools - Laravel package bootstrapping for config, migrations, commands, translations, and service provider setup.
Linked package previews
Screens And Workflow
Section titled “Screens And Workflow”Screenshots are generated from docs/screenshots.json during package deployment.
Code Map
Section titled “Code Map”| Area | Path | Purpose |
|---|---|---|
| Data | packages/media-ai/src/Data | Structured payloads, form state, view models, and integration data. |
| Filament | packages/media-ai/src/Filament | Admin resources, pages, widgets, and settings UI. |
| Providers | packages/media-ai/src/Providers | Registration, extension hooks, routes, migrations, and resources. |
| Resources | packages/media-ai/resources | Views, translations, assets, and package resources. |
| Config | packages/media-ai/config | Package configuration and publishable config. |
| Tests | packages/media-ai/tests | Package-level Pest coverage. |
Data And Persistence
Section titled “Data And Persistence”- Config:
packages/media-ai/config/capell-media-ai.php. - Data objects live in
src/Data/; use them for payloads, form state, and view models.
Extension Points
Section titled “Extension Points”- Contracts:
ImageDoctor. - Register Capell extension points, routes, migrations, settings, render hooks, and resources from service providers.
Install And Setup
Section titled “Install And Setup”- Install with
composer require capell-app/media-aiin the host Capell application. - In this repository, verify package changes with
vendor/bin/pest; do not usephp artisan.
Testing
Section titled “Testing”Run package tests from the repository root:
vendor/bin/pest packages/media-ai/tests --configuration=phpunit.xmlMaintenance Notes
Section titled “Maintenance Notes”- Use package
Dataclasses at boundaries instead of passing anonymous arrays between layers.