L
laravel:config-env-storage
About laravel:config-env-storage
A Laravel storage configuration skill for projects that need to set up S3-compatible storage and optionally a CDN. It describes environment-based provider settings and testing URL formats and access controls.
Key features
- 01Provider selection through environment variables
- 02Settings for S3, R2, and MinIO endpoints
- 03Optional CDN URL prefixing
- 04Fake storage and integration test guidance
Use cases
- 01Configuring an S3-compatible storage provider
- 02Checking generated URLs and ACLs in tests
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ jpcaparas/ superpowers-laravel --skill laravel:config-env-storageAfter installing, type/laravel:config-env-storagein Claude Code to confirm it loaded.
Details
From the project READMEStorage Config (S3/R2/MinIO/CDN)
Configure storage once; switch providers via env.
Env
FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_DEFAULT_REGION=auto
AWS_BUCKET=...
AWS_ENDPOINT=https://r2.example.com # for R2/MinIO
AWS_USE_PATH_STYLE_ENDPOINT=true # if required
MEDIA_CDN_URL=https://cdn.example.com # optional CDN/base URL
Tips
- Prefer pre‑signed URLs for uploads/downloads when possible
- For CDN, prefix public URLs with
MEDIA_CDN_URL(app URL generation helper) - Use path‑style only when necessary; some providers require it
Testing
- Fake storage in unit tests (
Storage::fake('s3')) - Integration tests verify URL formats and ACLs
Comments
Markdown supported