YMP is a Next.js 16 + React 19 social music platform focused on authenticated upload, playback, and cross-device listening continuity.
YMP uses a Feature-Sliced Design approach.
src/app: App Router pages, layouts, and API/auth route handlers.src/features: Domain-owned feature modules.dashboardlibraryplayersettingsupload
src/components: Shared cross-feature UI/PWA components.src/lib: Shared runtime integrations (env, routes, auth, DB, Supabase clients).supabase/migrations: Schema, policies, and data lifecycle migration history.
Multi-AI collaboration is coordinated from the AI/ folder.
PROJECT_ROUTER.mdis the required entry point for routing an AI agent by role.AI_CONTEXT.mdis the root canonical context for stack-level constraints and milestones.AI/architecture-context.md,AI/project-context-coder.md,AI/designer-context.md, andAI/security-context.mddefine role-specific operating guardrails.
- FFmpeg v0.12 rule: normalize codec input to
Uint8Arraybefore FFmpeg write/transcode steps. - No Wide Barrels policy: avoid broad re-export index files that blur domain boundaries; keep imports explicit and feature-local.
Install dependencies and run local development:
npm install
npm run devMandatory verification command (for all AI agents and contributors):
bash -lc 'source ~/.nvm/nvm.sh && cd /home/mxtylish/github/YMP && npm run build'- Static UI assets are cached by the service worker using
CACHE_VERSIONinpublic/sw.js. - When updating logo/static assets, bump
CACHE_VERSION(for example,ymp-static-v2) so old caches are removed on activate and users receive fresh files.
Enable any new developer or AI agent to understand YMP’s architecture, ownership boundaries, and implementation guardrails immediately.