Files
buzz-sheet/.agents/skills/bun-s3-media/SKILL.md
T
2026-10-11 20:28:56 +07:00

1.2 KiB

name, description
name description
bun-s3-media Add or maintain Buzz Sheet media uploads using the existing Bun S3-backed flows. Reuse shared upload infrastructure instead of adding feature-specific upload routes.

Buzz Sheet media uploads

Use the existing media flows when adding an upload feature. Keep S3 credentials and storage writes on the server, and do not create a feature-specific route that duplicates upload handling.

  • For public guide images, reuse MediaUploader from components/admin/media-uploader.tsx. It posts to POST /api/admin/media, which validates the file and writes it to Bun S3 through lib/media/repository.ts.
  • For staged private media, reuse the existing presign, browser PUT, and completion flow in /api/admin/media/presign and /api/admin/media/[id]/complete. Preserve its authorization, metadata, validation, and visibility lifecycle.
  • For server-side jobs or integrations, use getMediaStorage() from lib/media/storage.ts rather than creating another S3 client or storage configuration. Use the existing media URL helper only for objects intended to be publicly served.
  • If a new feature needs behavior the shared flows do not support, extend the shared media infrastructure while preserving its validation and storage conventions.