MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Keep a record of the albums you listen to. Rate them, write about them, and see
what other people are hearing.
Status: Phase 0 (foundation). Auth, profiles and the deployment pipeline.
The catalogue, collection and social features arrive in later phases — see
docs/development-plan.md.
Requires Node 22+ and Docker Desktop.
You do not need a Supabase or Vercel account to develop locally. The local
stack runs the real Postgres and the real auth server in Docker.README 전문 보기 ↗Keep a record of the albums you listen to. Rate them, write about them, and see what other people are hearing.
Status: Phase 0 (foundation). Auth, profiles and the deployment pipeline.
The catalogue, collection and social features arrive in later phases — see
docs/development-plan.md.
Requires Node 22+ and Docker Desktop.
npm install
npm run db:start # boots local Supabase (first run pulls ~2GB of images)
npm run db:env # writes .env.local from the running stack
npm run dev # http://localhost:3000
You do not need a Supabase or Vercel account to develop locally. The local stack runs the real Postgres and the real auth server in Docker.
The local stack needs roughly 4–6 GB allocated to Docker. Below that,
containers miss their health checks and supabase start rolls back with
LegacyHealthCheckTimeoutError.
We keep the stack deliberately small — Realtime, Storage, Edge Runtime and
analytics are disabled in supabase/config.toml, each with a comment explaining
why. Re-enable Storage when the artwork pipeline lands in Phase 1.
Local sign-up emails are caught by Mailpit rather than sent. npm run db:env
prints its URL.
| Command | Does |
|---|---|
npm run dev | Development server |
npm run build | Production build |
npm run verify | Everything CI runs: format, lint, types, tests, build |
npm test | Unit and component tests |
npm run test:integration | Service and schema tests (needs the database) |
npm run test:e2e | Playwright end-to-end tests |
npm run db:start / db:stop | Local Supabase up / down |
npm run db:reset | Drop and re-run all migrations |
npm run db:env | Regenerate .env.local from the running stack |
npm run db:types | Regenerate src/lib/supabase/database.types.ts from the schema |
Run npm run verify before pushing — it is exactly what CI checks. Always from
a clean tree: rm -rf .next && npm run verify.
⚠️ The integration suite deletes all catalogue data. It truncates
albumsandartistsbetween cases. Seeding takes minutes of rate-limited requests; destroying it takes seconds. Seed after running tests, never before.
src/
app/ routes, pages and server actions
services/ ALL database access lives here (see src/services/README.md)
lib/supabase/ Supabase client construction — imported only by services
proxy.ts session refresh (this is Next 16's renamed middleware)
supabase/
migrations/ schema, applied in order
docs/ product spec, architecture, data model, plan
No SQL or Supabase client calls in components. Everything goes through
src/services/. A lint rule enforces this.
Start with CLAUDE.md, then:
| Document | Contents |
|---|---|
docs/product-spec.md | What longplayr is, MVP scope, open decisions |
docs/architecture.md | Technical decisions and their alternatives |
docs/data-model.md | Entities and relationships |
docs/development-plan.md | Phases and definitions of done |
docs/design-reference.md | Design direction and Letterboxd analysis |
This project uses Next.js 16, which renamed middleware to proxy.ts and
made request APIs (cookies(), params, searchParams) async. Its bundled
documentation lives in node_modules/next/dist/docs/ and is worth reading
before assuming an older API still applies.