尚未检测到更新。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.