ai-startup-skills
AI 제품을 만드는 스타트업을 위한 7단계 에이전트 스킬: 검증 → 비즈플랜 → 정책 → 로드쇼 → 고객 확보 → 가격 책정 → 등록
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The repo, Vercel project and URL (watermelon-mbti.vercel.app) keep the original name on purpose: Search Console verification and the submitted sitemap are tied to that URL.
A free personality quiz: twenty statements, twenty watermelon types. Next.js 16 (App Router), TypeScript, Tailwind v4, react-three-fiber, Neon Postgres.
The site works without a database; the landing count tile and the results page's stats simply don't render until one is configured.README 전문 보기 ↗The repo, Vercel project and URL (watermelon-mbti.vercel.app) keep the original name on purpose: Search Console verification and the submitted sitemap are tied to that URL.
A free personality quiz: twenty statements, twenty watermelon types. Next.js 16 (App Router), TypeScript, Tailwind v4, react-three-fiber, Neon Postgres.
npm install
echo 'DATABASE_URL=postgres://…neon.tech/…?sslmode=require' > .env.local
echo "BETTER_AUTH_SECRET=$(openssl rand -base64 32)" >> .env.local
echo 'BETTER_AUTH_URL=http://localhost:3000' >> .env.local
npm run db:migrate # creates / updates the quiz and account tables (idempotent)
npm run dev
The site works without a database; the landing count tile and the results page's stats simply don't render until one is configured.
Optional sign-in (/sign-in) via Better Auth, stored in the same Postgres. Visitors who don't sign in are shown as Guest. Config is in lib/auth.ts, rules in lib/auth-rules.ts.
Environment variables (Vercel: Project, Settings, Environment Variables):
| Variable | Value |
|---|---|
BETTER_AUTH_SECRET | 32+ random bytes, e.g. openssl rand -base64 32. Signs session cookies; never commit it. |
BETTER_AUTH_URL | https://watermelon-mbti.vercel.app |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Google Cloud Console, APIs & Services, Credentials, OAuth client (Web). |
FACEBOOK_CLIENT_ID, FACEBOOK_CLIENT_SECRET | developers.facebook.com, your app, Facebook Login. App ID and App Secret. |
LINE_CLIENT_ID, LINE_CLIENT_SECRET | developers.line.biz, a LINE Login channel. Channel ID and Channel secret. |
Each social button appears only once both of its variables are set. When creating each app, the redirect / callback URL is https://watermelon-mbti.vercel.app/api/auth/callback/<google|facebook|line> (add the http://localhost:3000/... versions for local testing).
Passwords follow OWASP and NIST SP 800-63B-4: 15+ characters, up to 128, no composition rules, and breached passwords (Have I Been Pwned) refused. Sign-in and sign-up are rate-limited per IP.
contactEmail and jurisdiction in lib/legal.ts (Privacy and Terms read from it).DATABASE_URL in the Vercel project and run npm run db:migrate against it (again after this update: it adds the account tables).BETTER_AUTH_SECRET and BETTER_AUTH_URL in Vercel, plus the keys for any social sign-in you want (see Accounts).npm run lint
npx tsx --test lib/scoring.test.ts lib/types.test.ts
npx tsx scripts/simulate-quiz.ts # balance: share of each family and type for simulated players
npm run build
app/ routes: landing, /quiz, /quiz/results, /types, /types/[slug], /how-it-works, /about, /sign-in, /privacy, /terms, API routes under app/apicomponents/ UI, including the 3D melon (Watermelon3D.tsx) and the quiz flowlib/ questions, scoring, types, database access, auth, operator detailsscripts/db-migrate.mjs schema (runs before every build)scripts/simulate-quiz.ts balance check for the branching quiz