Dr. Claw
아이디어부터 논문까지 AI 에이전트와 함께하는 풀스택 연구 작업공간
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Aptitude screening for NDA coaching admissions. Staff issue a 15-question, 15-minute reasoning test to a candidate; the parent receives the link on WhatsApp, the candidate takes it within three hours, and it grades itself.
Handles minors' personal data. This repository must stay private.
npm install
cp .env.example .env.local # then fill it in — see below
npm run dev
.env.local needs the Supabase project URL, anon key and service-role key,
plus NEXT_PUBLIC_APP_URL and a CRON_SECRET. It is gitignored and must stay
that way — the service-role key bypasses every RLS policy.
Create the first staff account, since the Supabase dashboard cannot set the role that RLS reads:
npm run staff:add -- [email protected] <password> superadmin
npm run staff:list # flags any account with no role
Seed the item bank:
npm run items:seed -- --live
Issue a test link without the console, for local testing:
npm run issue -- "Candidate Name" 9876543210
Run all of these before calling anything done.
| Command | What it covers |
|---|---|
npm run lint | ESLint, including the react-hooks rules |
npm run typecheck | tsc --noEmit |
npm test | 111 unit tests over the pure modules |
npm run test:integration | 35 tests against a real database |
npm run items:lint | Item shape, duplication, answer-length tells |
npm run build:check | Production build, into .next-verify |
npm run db:verify | Schema and constraints (empty database only) |
npm run db:verify-rls -- <email> <pass> | RLS as a real staff session (empty database only) |
Never run next build while next dev is live. It overwrites the .next
directory the dev server is serving from, every asset 404s, and nothing in the
output explains why. npm run build:check writes to .next-verify instead.
The two database probes write rows, so they refuse to run against a database holding real leads and exit 2 — a skip, not a failure. They are development tools, not a production health check.
Migrations live in supabase/migrations and are applied deliberately, never by
a deploy:
npx supabase db push --db-url "postgresql://postgres:<password>@db.<ref>.supabase.co:5432/postgres"
Rules are enforced by constraints and triggers rather than application code —
the reissue cap, the MCQ/numeric item shape, answer idempotency, and the
assessment state machine. npm run db:verify checks the database actually
rejects what it claims to.
See DEPLOY.md. Two things that will bite:
NEXT_PUBLIC_APP_URL must be the deployed origin. The staff console
builds the candidate link from it; left at localhost, every link it produces
is unusable.