Skip to content

Developer Tools

Capell developer tools are registry-backed. Packages register makers with Capell\Core\Contracts\Makers\MakerRegistryInterface; the CLI, Filament page, and form affordances all use the same preview and run flow.

Configure maker writes in config/capell.php:

  • developer_tools.php_writes: disabled, local_only, or enabled.
  • developer_tools.database_writes: disabled, local_only, or enabled.
  • developer_tools.readonly_preview: keeps UI actions in preview mode.
  • developer_tools.allowed_roots: absolute roots makers may write to.
  • developer_tools.editor_url_template: optional external editor URL.

Editor templates can use {path}:

CAPELL_DEVELOPER_TOOLS_EDITOR_URL_TEMPLATE=vscode://file/{path}
CAPELL_DEVELOPER_TOOLS_EDITOR_URL_TEMPLATE=phpstorm://open?file={path}
use Capell\Core\Contracts\Makers\MakerRegistryInterface;
use Vendor\Package\Support\Makers\CustomMaker;
$this->callAfterResolving(MakerRegistryInterface::class, function (MakerRegistryInterface $registry): void {
$registry->register(app(CustomMaker::class));
});

Core registers makers for actions, data objects, page schema extenders, core schemas, page types, page Blade components, page Livewire components, and asset Blade components. Admin registers makers for host-app schemas and custom Filament content blocks. Mosaic registers mosaic.widget when installed.

The Developer Tools Filament page lists registered makers, current safety configuration, and registry diagnostics for schemas, components, and blocks. Schema selectors can create host-app schemas by copying a selected source or by falling back to a valid generated schema. Component selectors show source-flow diagnostics and can opt into maker actions where a resource wants that workflow.

admin.filament-block creates a block class in app/Filament/Blocks. Host-app blocks are auto-discovered from that namespace and can be made available to the content builder after php artisan capell:admin-cache-blocks.