Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Agents
banulakwin/filament-metadata
claude-code
cursor
admin
metadata
laravel
filament

Filament admin UI for banulakwin/laravel-metadata only. Does not depend on filament-page-builder, filament-seo-engine, or other banulakwin/ packages except laravel-metadata.

Install
php artisan boost:add-skill banulakwin/filament-metadata

Save this content to: AGENTS.md

# Agent guide: `banulakwin/filament-metadata`

Filament admin UI for **`banulakwin/laravel-metadata`** only. **Does not** depend on `filament-page-builder`, `filament-seo-engine`, or other `banulakwin/*` packages except `laravel-metadata`.

## Mental model

- Metadata storage is in `metadata_entries` with a `group` column.
- UI is scoped to a single default group (e.g. `site`) via config.
- Keys are defined in code/config; only values are editable from the panel.
- Value types: `text`, `textarea`, `rich`, `image`, `toggle`, `json`.

## Current package surface

- Plugin: `Banulakwin\FilamentMetadata\FilamentMetadataPlugin`
- Resource: `Banulakwin\FilamentMetadata\Resources\MetadataEntries\MetadataEntryResource`
- Pages:
  - `ListMetadataEntries`
  - `EditMetadataEntry`
  - `ViewMetadataEntry`
- Schemas:
  - `MetadataEntryForm`
  - `MetadataEntryInfolist`
  - `MetadataDynamicValueFields`
  - `MetadataEntryValueEditor`
- Support:
  - `MetadataKeyLabel`
  - `MetadataValueHydrator`

### Config

- Publish: `php artisan vendor:publish --tag=filament-metadata-config`
- Keys: `default_group`, `navigation.group`, `navigation.label`, `rich_editor_attachments_directory`, `image_upload_default_directory`.

## Do

- Keep resource scoped to configured default group.
- Preserve metadata keys as read-only; only values are editable.
- Use `MetadataValueHydrator` for form state ↔ DB value conversion.

## Do not

- Add other `banulakwin/*` packages as Composer dependencies except `laravel-metadata`.
- Enable create or delete operations (keys are defined in code).
- Hardcode app-specific model classes.

## Testing & Quality

```bash
composer test          # PHPUnit
composer pint          # Laravel Pint code style fix
composer pint:check    # Pint check only (no fix)
composer phpstan       # PHPStan level max on src/
composer quality       # All: pint + phpstan + test
```

## CI

GitHub Actions runs tests, Pint, and PHPStan on push/PR (`.github/workflows/tests.yml`).

Agent guide: banulakwin/filament-metadata

Filament admin UI for banulakwin/laravel-metadata only. Does not depend on filament-page-builder, filament-seo-engine, or other banulakwin/* packages except laravel-metadata.

Mental model

  • Metadata storage is in metadata_entries with a group column.
  • UI is scoped to a single default group (e.g. site) via config.
  • Keys are defined in code/config; only values are editable from the panel.
  • Value types: text, textarea, rich, image, toggle, json.

Current package surface

  • Plugin: Banulakwin\FilamentMetadata\FilamentMetadataPlugin
  • Resource: Banulakwin\FilamentMetadata\Resources\MetadataEntries\MetadataEntryResource
  • Pages:
    • ListMetadataEntries
    • EditMetadataEntry
    • ViewMetadataEntry
  • Schemas:
    • MetadataEntryForm
    • MetadataEntryInfolist
    • MetadataDynamicValueFields
    • MetadataEntryValueEditor
  • Support:
    • MetadataKeyLabel
    • MetadataValueHydrator

Config

  • Publish: php artisan vendor:publish --tag=filament-metadata-config
  • Keys: default_group, navigation.group, navigation.label, rich_editor_attachments_directory, image_upload_default_directory.

Do

  • Keep resource scoped to configured default group.
  • Preserve metadata keys as read-only; only values are editable.
  • Use MetadataValueHydrator for form state ↔ DB value conversion.

Do not

  • Add other banulakwin/* packages as Composer dependencies except laravel-metadata.
  • Enable create or delete operations (keys are defined in code).
  • Hardcode app-specific model classes.

Testing & Quality

composer test          # PHPUnit
composer pint          # Laravel Pint code style fix
composer pint:check    # Pint check only (no fix)
composer phpstan       # PHPStan level max on src/
composer quality       # All: pint + phpstan + test

CI

GitHub Actions runs tests, Pint, and PHPStan on push/PR (.github/workflows/tests.yml).

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package