ํ๋ก ํธ์๋ ์์ง๋์ด๋ฅผ ์ํ 1์ธ ์ ์ ๊ธฐ์ ๋ธ๋ก๊ทธ.
Next.js 16 App Router ยท React 19 (Compiler) ยท TypeScript 6 strict ยท Tailwind CSS 4 ยท shadcn/ui ยท lucide-react ยท next-themes
3-Layer: app/ (๋ผ์ฐํ
ยท์กฐ๋ฆฝ) โ features/ (9๊ฐ ๋๋ฉ์ธ ๋ชจ๋) โ shared/ (๋ฒ์ฉ). Feature ๊ฐ ์ง์ import ๊ธ์ง.
src/app/ โ ๋ผ์ฐํ
, metadata, providers
src/features/ โ posts, tags, series, search, views, comments, theme, lightbox, about
src/shared/ โ components, ui(shadcn), styles, seo, config, utils, hooks, types, modules
contents/ โ MDX ์ฝํ
์ธ (Git Submodule, ๋ฃจํธ)
pnpm dev # ๊ฐ๋ฐ ์๋ฒ (port 3100)
pnpm build # ํ๋ก๋์
๋น๋
pnpm lint # ESLint
pnpm format # Prettier ํฌ๋งคํ
pnpm test # Vitest (Unit + Integration)
pnpm test:e2e # Playwright E2E- SSG-first. ๋ฐํ์ CMSยท์๋ฒ ๊ฒ์ยทํด๋ผ์ด์ธํธ ์บ์(TanStack Query) ๋์ ํ์ง ์์
- TDD (RedโGreenโRefactor) + Testing Trophy (Integration ~60%)
- Page-First Skeleton: M1์์ ๋๋ฏธ ๋ฐ์ดํฐ๋ก ์ ํ์ด์ง UI ์์ฑ ํ ๋จ๊ณ์ ์ค๋ฐ์ดํฐ ๊ต์ฒด
์ด ํ๋ก์ ํธ์๋ 15๊ฐ ์ ๋ฌธ ์์ด์ ํธยท12๊ฐ ์คํฌยท17๊ฐ ๊ท์น์ผ๋ก ๊ตฌ์ฑ๋ ์ปดํ์ด๋ ์์ง๋์ด๋ง ํ๋ค์ค๊ฐ ๊ตฌ์ถ๋์ด ์๋ค. "M0-01 ์งํํด์ค", "๊ฒ์ ๊ธฐ๋ฅ ๋ง๋ค์ด์ค", "React 19 ํฌ์คํธ ์์ฑํด์ค", "Week 0 GC" ๊ฐ์ ์์ฐ์ด ์์ฒญ๋ง์ผ๋ก FeatureยทContentยทGCยทDocs 4๊ฐ ํธ๋ ์ค ํ๋๋ก ์๋ ๋ถ๋ฅ๋์ด PLANโEXECUTEโREVIEW(ํํ 3ํ)โVALIDATEโDOCUMENT ์ฌ์ดํด์ด ๋์๊ฐ๋ค. ํ์ฌ ๋ง์ผ์คํค ์งํ๋ฅ ์ docs/TASKS.md๋ฅผ ์ฐธ์กฐ. ์์ธ ๋์์ docs/AI_WORKFLOW_GUIDE.md ์ฐธ์กฐ.
์์จ ๋ฒ์ ๊ฒฝ๊ณ (.claude/rules/autonomy.md): src/ยทํ
์คํธยทdocs/TASKS.md ์ฒดํฌ๋ฐ์คยทCHANGELOG.md๋ ์๋, ์์กด์ฑ/์ํคํ
์ฒ/PRD/Git ์ฐ๊ธฐ๋ ๋ฐ๋์ ์ฌ์ฉ์ ์น์ธ.
Git ๋ธ๋์น ์ ๋ต (.claude/rules/workflow.md): ๊ธฐ๋ณธ ํตํฉ ๋ธ๋์น๋ develop, ๋ง์ผ์คํค๋น feature/M{n}-* ๋ธ๋์น 1๊ฐ. ์ ๋ง์ผ์คํค ์ฒซ ํ์คํฌ ์ง์
์ orchestrator๊ฐ ๋ฆฌ๋ชจํธ ์ต์ develop์ผ๋ก๋ถํฐ ๋ธ๋์น ์์ฑ ์ ์ โ ์ฌ์ฉ์ ์น์ธ ํ ์คํ. ๋ง์ผ์คํค ์๋ฃ ์ milestone-gate PASS โ develop์ผ๋ก PR. main์ ํ๋ก๋์
๋ฆด๋ฆฌ์ค ์ ์ฉ.
์์ ์ ํ์ํ ์์ธ ๋ฌธ์๋ฅผ ์๋์์ ์ฐพ์ ์ฝ์ ๊ฒ. ๋ชจ๋ ์ ๋ณด๋ฅผ ํ๋ฒ์ ์ฝ์ง ๋ง๊ณ ํ์ฌ ํ์คํฌ์ ๊ด๋ จ๋ ๋ฌธ์๋ง ์ฐธ์กฐ.
| ๋ฌธ์ | ์ฉ๋ |
|---|---|
docs/TASKS.md |
ํ์ฌ ์งํํ ํ์คํฌ ์ฒดํฌ๋ฆฌ์คํธ (M0~M7) |
docs/ROADMAP.md |
ํ์คํฌ๋ณ ์์ธ โ ๋์ ID, ๊ฒ์ฆ ๊ธฐ์ค, Entry/Exit |
docs/PRD_PRODUCT.md |
์ ํ ์คํ โ FEAT, US, ์ฑ๊ณต ์งํ, ๋น๋ชฉํ |
docs/PRD_TECHNICAL.md |
๊ธฐ์ ๊ณ์ฝ โ MOD, RT, ADR, ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋ง์ผ์คํค |
docs/AI_WORKFLOW_GUIDE.md |
ํ๋ค์ค ๋์ ์๋ฆฌ โ 4๊ฐ ํธ๋ยท6๋จ๊ณ ์ฌ์ดํดยทM0-06 ์์ฐยท์ฐ์ถ๋ฌผ ๊ฒฝ๋ก |
.claude/rules/*.md |
์ฝ๋ ์์ฑ ๊ท์ฝ 17์ข (์ํคํ ์ฒยทReactยทTSยทํ ๋งยท์ ๊ทผ์ฑยทํ ์คํธยทMDXยทSEOยท์์จยทNo-FallbackยทComments ๋ฑ) |
.claude/agents/**/*.md |
15๊ฐ ์์ด์ ํธ ์ ์ (์ปดํ์ด๋ ์ฌ์ดํด์์ ์๋ ํธ์ถ) |
.claude/skills/*/SKILL.md |
12๊ฐ ์คํฌ โ blog-dev(์ค์ผ์คํธ๋ ์ดํฐ)ยทcompound-engineeringยทcontent-writingยทgarbage-collectionยทmilestone-gateยทtask-completion ๋ฑ |