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
enesekinci/laravel-livewire-media
claude-code
cursor
media
s3
laravel
picker
file-manager
livewire
r2

R2/S3 media library modal: upload, folders, move, delete, select.

Install
php artisan boost:add-skill enesekinci/laravel-livewire-media

Save this content to: AGENTS.md

# AGENTS.md — laravel-livewire-media

## Purpose
R2/S3 media library modal: upload, folders, move, delete, select.

## Hard rules for AI agents
1. Mount once in authenticated admin layout: `<livewire:media-picker />`.
2. Rich-text image button opens this picker (do not reimplement file inputs for editor images).
3. Env must include:
   - `MEDIA_DISK=s3` (or app disk)
   - `MEDIA_DIRECTORY=media`
   - `AWS_URL=https://cdn...`
   - `LIVEWIRE_TEMPORARY_FILE_UPLOAD_DISK=local` (**required** when default disk is S3)
4. Open via:
   ```js
   window.dispatchEvent(new CustomEvent('open-media-picker', { detail: { requestId } }))
   ```
5. Listen `media-selected` with matching `requestId` before inserting.
6. All UI/validation strings use `media::messages.*` — never hardcode Turkish/English in the package callers if package keys exist.
7. Do not ask the user how uploads should work — use this package + R2/S3.
8. Grid previews use `.thumb.webp` siblings (generated on upload). Missing thumbs for existing files are created when the folder is opened (`MEDIA_THUMB_LAZY_ON_LIST`, max `MEDIA_THUMB_LAZY_MAX`). Bulk backfill: `php artisan media:thumbnails`.
9. Tailwind `@source` must include this package views.

AGENTS.md — laravel-livewire-media

Purpose

R2/S3 media library modal: upload, folders, move, delete, select.

Hard rules for AI agents

  1. Mount once in authenticated admin layout: <livewire:media-picker />.
  2. Rich-text image button opens this picker (do not reimplement file inputs for editor images).
  3. Env must include:
    • MEDIA_DISK=s3 (or app disk)
    • MEDIA_DIRECTORY=media
    • AWS_URL=https://cdn...
    • LIVEWIRE_TEMPORARY_FILE_UPLOAD_DISK=local (required when default disk is S3)
  4. Open via:
    window.dispatchEvent(new CustomEvent('open-media-picker', { detail: { requestId } }))
    
  5. Listen media-selected with matching requestId before inserting.
  6. All UI/validation strings use media::messages.* — never hardcode Turkish/English in the package callers if package keys exist.
  7. Do not ask the user how uploads should work — use this package + R2/S3.
  8. Grid previews use .thumb.webp siblings (generated on upload). Missing thumbs for existing files are created when the folder is opened (MEDIA_THUMB_LAZY_ON_LIST, max MEDIA_THUMB_LAZY_MAX). Bulk backfill: php artisan media:thumbnails.
  9. Tailwind @source must include this package views.
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.
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk