尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
EnergyCurve is a Next.js App Router project for DJs. Create a playlist (manually or by pasting a tracklist), and the analysis engine resolves each track's energy, detects flow issues (drops, flat zones, early peaks, context violations), scores the set 1–10 with traceable penalty arithmetic, and suggests a stronger track order — all against the frozen v1 product rules.檢視完整 README ↗EnergyCurve is a Next.js App Router project for DJs. Create a playlist (manually or by pasting a tracklist), and the analysis engine resolves each track's energy, detects flow issues (drops, flat zones, early peaks, context violations), scores the set 1–10 with traceable penalty arithmetic, and suggests a stronger track order — all against the frozen v1 product rules.
shadcn/ui configured with a minimal reusable UI baseAuthKitProvider mounted in the /dashboard and /backstage layouts (the routes proxy.ts matches) for App Router auth edge-case handlingprofiles table/dashboard route with server-side access validationprofiles, playlists, and tracksshadcn/uiProduct & Strategy: complete for v1 definitionSetup & Infra: complete for foundationAuth & Users: complete for MVPPlaylist Input: complete for MVP (manual entry + paste-import)Track & Analysis Engines: complete for MVP (v1 rules)Recommendations & Results UI: complete for MVP (template-based)See docs/roadmap-status.md for the detailed breakdown.
app/
(en)/ English routes — marketing, auth, dashboard, backstage
(es)/es/ Spanish marketing routes
components/
docs/
lib/
services/
supabase/migrations/
tests/
types/
(en) and (es) are route groups, so they do not appear in any URL: /pricing
and /es/pricing are exactly where they look. They exist because each one has
its own root layout, and a root layout is the only place <html lang> can be
written — a single root cannot know which language the route below it renders
in. Everything else about the shell is shared through
components/layout/site-html.tsx.
Copy .env.example to .env.local and fill in the values:
cp .env.example .env.local
Required variables:
WORKOS_CLIENT_IDWORKOS_API_KEYWORKOS_COOKIE_PASSWORDNEXT_PUBLIC_WORKOS_REDIRECT_URISUPABASE_URLSUPABASE_SERVICE_ROLE_KEYOptional:
NEXT_PUBLIC_POSTHOG_KEY — enables product analytics (PostHog); everything no-ops without itNEXT_PUBLIC_POSTHOG_HOST — defaults to https://us.i.posthog.comDetailed explanations live in docs/setup-infra.md.
No additional environment variables are required for the public contact form in the current implementation.
Staging + http://localhost:3010Production + https://energycurve.appUsing separate WorkOS and Supabase environments keeps local tests from colliding with production identities or production data.
npm install
Populate .env.local from .env.example.
Apply the database migrations (including supabase/migrations/0003_analyses.sql) from supabase/migrations/0001_initial_schema.sql and supabase/migrations/0002_align_v1_strategy.sql in Supabase SQL Editor or via the Supabase CLI.
Configure WorkOS:
http://localhost:3010/auth/callback as the redirect URI.http://localhost:3010/ as the default logout URI.Google Social Login in WorkOS Authentication.Start the app:
npm run dev
Open http://localhost:3010.
npm run test
npm run lint
npm run typecheck
npm run build
Use the checklist in docs/setup-infra.md to verify:
SUPABASE_SERVICE_ROLE_KEY server-side only.proxy.ts is used because Next.js 16 renamed middleware.ts to proxy.ts.proxy.ts for matched routes.Production to WorkOS Production and keep local .env.local on WorkOS Staging.Production is unlocked and wired, the Vercel deployment should be treated as pre-production rather than final production infrastructure.