Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗초등학생이 AI와 끝말잇기를 하면서 표준어와 그 뜻을 자연스럽게 익히는 웹 앱입니다.
로블록스 끝말잇기는 표준어가 아닌 이상한 단어도 통해서, 아이가 단어는 외우는데 뜻은 모릅니다. 이 앱은 표준어만 통하게 하고, 단어를 낸 바로 그 화면에서 뜻과 그림을 보여 줍니다. 이기려고 하다 보면 단어와 뜻이 함께 남는 것이 목표입니다.
| 사전에서 확인된 단어 | 결과 화면(뜻이 여러 개인 단어) | 모바일 |
|---|---|---|
Next.js 16 (App Router) · React 19 · Tailwind CSS 4 · shadcn/ui · Bun · Vitest · Playwright
bun install
bun dev
http://localhost:3000에서 확인합니다. 사전 확인 기능을 쓰려면 표준국어대사전 Open API 인증 키가 필요합니다. 프로젝트 루트에 .env.local 파일을 만들고 키를 넣으세요.
STDICT_API_KEY=발급받은_32자리_키
NEXT_PUBLIC_을 붙이지 마세요.| 명령어 | 설명 |
|---|---|
bun dev | 개발 서버 실행 |
bun run build | 프로덕션 빌드 |
bun start | 프로덕션 서버 실행 |
bun run lint | ESLint 실행 |
bun run typecheck | tsc --noEmit 타입 검사 |
bun run test | Vitest 단위/컴포넌트 테스트 1회 실행 |
bun run test:watch | Vitest watch 모드 |
bun run test:e2e | Playwright E2E 테스트 실행 |
features/wordchain/: 끝말잇기의 모든 코드가 있습니다. 규칙(game.ts), 단어장(words.ts), 승패 기록(records.ts), 화면 컴포넌트, 사전 확인(dictionary.ts, 서버 전용 server.ts)으로 나뉩니다. 공개 API는 index.ts입니다.app/api/word-check/: 브라우저가 부르는 사전 확인 경로입니다. 인증 키는 여기서만 쓰입니다.PRODUCT.md: 이 앱이 누구를 위해 무엇을 약속하는지 적은 제품 정의입니다.docs/specs/: 기능별 스펙(ai-wordchain-round, dictionary-word-check, hint-helper)입니다.docs/decisions/: 단어 출처와 UI 구성의 결정과 근거입니다. 어떤 사전을 검토했고 왜 이렇게 정했는지 남아 있습니다.GLOSSARY.md: 판, 차례, 기회, 끝장단어 같은 용어집입니다.vitest.config.mts, 매처와 cleanup은 vitest.setup.ts에 있습니다. 테스트 파일은 소스 옆에 *.test.ts(x)로 둡니다. globals를 켜지 않았으므로 describe/it/expect는 vitest에서 import 합니다.playwright.config.ts, 테스트는 e2e/*.spec.ts에 둡니다. webServer가 bun run dev를 자동으로 띄우므로 별도 서버 실행이 필요 없습니다.E2E를 처음 실행하기 전에 브라우저를 한 번 내려받아야 합니다.
bunx playwright install chromium
브라우저가 이미 설치된 환경(예: Claude Code 원격 세션)에서는 내려받는 대신 실행 파일 경로를 지정할 수 있습니다.
PLAYWRIGHT_CHROMIUM_PATH=/opt/pw-browsers/chromium bun run test:e2e
async Server Component는 Vitest가 아직 지원하지 않으므로 E2E로 검증합니다.
next-dev-loop 스킬로 실행 중인 앱을 직접 조작해 변경을 확인할 때 씁니다. 프로젝트 의존성이 아니므로 한 번 전역으로 설치합니다.npm i -g agent-browser
agent-browser install # 설치된 Chrome이 없을 때만
이 앱은 아래 흐름으로 만들었습니다. 제품 정의에서 시작해 기능마다 스펙을 정하고, 구현과 검증, PR까지 이어집니다.
flowchart LR
DP["define-product"] --> PRODUCT[/"PRODUCT.md"/]
PRODUCT --> SI["shape-idea"]
SI --> SPEC[/"docs/specs/<slug>/spec.md"/]
SPEC --> ST["split-into-tasks<br/>여러 결과로 나눌 때"]
SPEC --> IMP["implement"]
ST --> IMP
IMP --> HR["human-review<br/>중대한 결과를 검토할 때"]
IMP --> PR["pr"]
HR --> PR
FU[/"docs/follow-ups/*.md"/] --> RF["resolve-follow-ups"]
RF --> PR
파이프라인 밖에서는 project-knowledge, maintain-project-context, add-stack-context, build-prototype, explain-visually, tdd가 각자의 조건에 따라 켜집니다. project-knowledge는 GLOSSARY.md, docs/decisions/, docs/follow-ups/에 다음 작업에서도 재사용할 지식과 후속 항목을 남깁니다. Git 작업은 commit, pull, push, pr, merge가 해당 요청에 맞춰 처리합니다.