Skip to content

Latest commit

ย 

History

History
75 lines (63 loc) ยท 4.7 KB

File metadata and controls

75 lines (63 loc) ยท 4.7 KB

Tenbagger Hunter โ€” Project Context

์ด ๋ฌธ์„œ๋Š” Claude Code๊ฐ€ ๋งค ์„ธ์…˜๋งˆ๋‹ค ์ฝ๋Š” ์‚ด์•„์žˆ๋Š” ์ปจํ…์ŠคํŠธ ํ—ˆ๋ธŒ๋‹ค. ์ž‘์—…ํ•  ๋•Œ๋งˆ๋‹ค "ํ˜„์žฌ ์ง„ํ–‰ ์ƒํ™ฉ / ์ตœ๊ทผ ๊ฒฐ์ • ์‚ฌํ•ญ / ์•Œ๋ ค์ง„ ์ด์Šˆ"๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

์•ฑ ๊ฐœ์š”

AI ๊ธฐ๋ฐ˜ ๋ฏธ๊ตญ ์ฃผ์‹ Tenbagger ํ›„๋ณด ํƒ์ƒ‰ ๋„๊ตฌ. ๋ฏธ๊ตญ์ฃผ(FMP/SEC) ๊ธฐ๋ฐ˜. ์ž์—ฐ์–ด ํ…Œ๋งˆ ์ž…๋ ฅ โ†’ ๊ธฐ์—… ํ›„๋ณด ๋ฐœ๊ตด โ†’ Tenbagger Score + Bull/Bear/Verdict ๋ถ„์„.

์ƒ์„ธ ๋ช…์„ธ: PRD.md ยท ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ: AI-WORKFLOW.md ยท docs/agent-workflow.md

๊ธฐ์ˆ  ์Šคํƒ

  • Frontend: Next.js 14 App Router, TypeScript, Tailwind, shadcn/ui, Recharts
  • AI: Claude API (claude-sonnet-4)
  • DB: Supabase (PostgreSQL)
  • ๋ฏธ๊ตญ ์žฌ๋ฌด: Financial Modeling Prep (FMP) API

ํ•ต์‹ฌ ์›์น™

  1. ๋ชจ๋“  AI ๋ถ„์„ ๋กœ์ง์€ lib/ai/ ์•„๋ž˜ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌ
  2. ์™ธ๋ถ€ API ์‘๋‹ต์€ ๋ฐ˜๋“œ์‹œ Supabase์— ์บ์‹ฑ (TTL ์ •์ฑ…: docs/data-sources.md)
  3. ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ฒ˜๋ฆฌ ๋กœ์ง์€ ๊ณตํ†ต ๋„๋ฉ”์ธ ํƒ€์ž…(lib/types/stock.ts)์œผ๋กœ ์ถ”์ƒํ™”
  4. ๊ฐœ๋ฐœ ์ค‘์—๋Š” lib/data/mock/์˜ mock data ์šฐ์„  ์‚ฌ์šฉ
  5. ์—๋Ÿฌ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ gracefulํ•˜๊ฒŒ ํ‘œ์‹œ
  6. ๋ชจ๋“  UI๋Š” Bloomberg Terminal ๋””์ž์ธ ์‹œ์Šคํ…œ(docs/DESIGN.md)์„ ๋”ฐ๋ฅธ๋‹ค. ์ƒ‰/์—ฌ๋ฐฑ/ํฐํŠธ/๋ชจ์„œ๋ฆฌ๋Š” term-* ํ† ํฐ๋งŒ ์‚ฌ์šฉ โ€” raw hexยทneutral-*ยทrounded-* ๊ธˆ์ง€. ํ™”๋ฉด์€ components/terminal/ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ(Panel/DataRow/Delta/Tag)๋ฅผ ์šฐ์„  ์กฐ๋ฆฝํ•œ๋‹ค.

๊ฐœ๋ฐœ ๊ด€๋ฆฌ ๊ทœ์น™

  • ๋ธŒ๋žœ์น˜: main โ† dev โ† feature/* (feature โ†’ dev PR, ์ง์ ‘ main push ๊ธˆ์ง€)
  • ์ปค๋ฐ‹: Conventional Commits โ€” ๊ทœ์น™ ๋‹จ์ผ ์†Œ์Šค docs/commit-convention.md (Agent๋Š” commit Skill๋กœ ์ž๋™ ์ ์šฉ)
  • Task: GitHub Issue๋กœ ๋“ฑ๋กยท๊ด€๋ฆฌ
  • ๋ฌธ์„œ: ๊ธฐํš/์›Œํฌํ”Œ๋กœ์šฐ๋Š” GitHub Wiki, ์ฝ”๋“œ ๊ด€๋ จ ๊ฒฐ์ •์€ docs/

ํ™˜๊ฒฝ๋ณ€์ˆ˜ (ํ‚ค ์ด๋ฆ„๋งŒ ๊ธฐ๋ก, ๊ฐ’ ์ ˆ๋Œ€ ๊ธฐ๋ก ๊ธˆ์ง€)

ANTHROPIC_API_KEY
FMP_API_KEY
NEXT_PUBLIC_SUPABASE_URL
SUPABASE_SERVICE_ROLE_KEY

ํ˜„์žฌ ์ง„ํ–‰ ์ƒํ™ฉ

Week 1 โ€” ๊ธฐํš & ์›Œํฌํ”Œ๋กœ์šฐ ์„ธํŒ…

  • ์ €์žฅ์†Œ ์—ฐ๊ฒฐ + README + .gitignore
  • ๋ธŒ๋žœ์น˜ ๊ตฌ์กฐ (main/dev/feature)
  • CLAUDE.md ์ปจํ…์ŠคํŠธ ํ—ˆ๋ธŒ
  • .claude ์ปค์Šคํ…€ ์ปค๋งจ๋“œ + Agent Skill
  • Agent ์›Œํฌํ”Œ๋กœ์šฐ ๊ฐ€์ด๋“œ (์ž‘์—… ๋‹จ์œ„ / ํ”„๋กฌํ”„ํŠธ ํŒจํ„ด / ์ฒดํฌํฌ์ธํŠธ)
  • GitHub Wiki ๊ธฐํš์„œยท์›Œํฌํ”Œ๋กœ์šฐ ์ •๋ฆฌ
  • GitHub Issue๋กœ Task ๋“ฑ๋ก

Phase 1 โ€” ๋ฏธ๊ตญ์ฃผ MVP (์ง„ํ–‰ ์ค‘, branch: feature/phase-1-mvp)

  • ํ”„๋กœ์ ํŠธ scaffold (Next.js 14 App Router + TS + Tailwind)
  • FMP API wrapper + ์บ์‹ฑ ๋ ˆ์ด์–ด (mock ์šฐ์„ , TTL ์ •์ฑ… lib/cache)
  • ํ…Œ๋งˆ ํƒ์ƒ‰ ํ”„๋กฌํ”„ํŠธ v1 (lib/ai/prompts, ๋ฒ„์ „ ๋กœ๊ทธ docs/prompts.md)
  • Tenbagger Score ์•Œ๊ณ ๋ฆฌ์ฆ˜ v1 (lib/score, ๊ฐ€์ค‘์น˜ 25/20/15/25/15)
  • Bull/Bear/Verdict ํ”„๋กฌํ”„ํŠธ v1 + ๋”ฅ๋‹ค์ด๋ธŒ UI (๋ ˆ์ด๋”/์žฌ๋ฌด/๋ถ„์„)
  • AI provider ์ถ”์ƒํ™” (lib/ai: mock|cli|api ์Šค์œ„์นญ)
  • Supabase ์‹ค์—ฐ๋™ (ํ˜„์žฌ in-memory mock ์บ์‹œ)
  • ์‹ค API(FMP/Claude) ์‘๋‹ต ์Šคํ‚ค๋งˆ ์‹ค๋ฐ์ดํ„ฐ ๊ฒ€์ฆ (์ฒดํฌํฌ์ธํŠธ 3.2)

mock์œผ๋กœ end-to-end ๋™์ž‘ ํ™•์ธ ์™„๋ฃŒ (AI_PROVIDER=mock): ๋žœ๋”ฉ โ†’ /search โ†’ /company/[ticker]. typecheck/build ํ†ต๊ณผ. ์‹คํ–‰: AI_PROVIDER=mock npm run dev

์ตœ๊ทผ ๊ฒฐ์ • ์‚ฌํ•ญ

  • 2026-06-15: ๋ฐฐํฌ ์ „๋žต = ๋กœ์ปฌ ์‹คํ–‰. ๋ณ„๋„ ํ˜ธ์ŠคํŒ…(Vercel ๋“ฑ) ์—†์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ €์žฅ์†Œ clone โ†’ npm install โ†’ npm run dev. mock ๋ชจ๋“œ ๊ธฐ๋ณธ, ์‹ค ํ‚ค๋Š” .env.local์— ์„ ํƒ ์ฃผ์ž…. .gitignore์—์„œ .env.example ์ถ”์  ํ—ˆ์šฉ(!.env.example), .nvmrc(20)ยทengines.node>=18.18 ์ถ”๊ฐ€, README "์‹œ์ž‘ํ•˜๊ธฐ"๋ฅผ ๋กœ์ปฌ ์„ค์น˜ ๊ฐ€์ด๋“œ๋กœ ๋ณด๊ฐ•.
  • 2026-06-14: ๊ตญ์žฅ(ํ•œ๊ตญ์ฃผ) ์ง€์› ์ œ๊ฑฐ โ€” ๋ฏธ๊ตญ์ฃผ ์ „์šฉ์œผ๋กœ ๋ฒ”์œ„ ์ถ•์†Œ. Market ํƒ€์ž…ยท์‹œ์žฅ ํ•„ํ„ฐ(market/ALL)ยทDART/KRX ์ฐธ์กฐ๋ฅผ ์ฝ”๋“œยท๋ฌธ์„œ์—์„œ ๋ชจ๋‘ ์ œ๊ฑฐ.
  • 2026-06-02: AI ํ˜ธ์ถœ์€ provider ์ถ”์ƒํ™”(lib/ai)๋กœ mock|cli|api ์ „ํ™˜. ๊ฐœ๋ฐœ์€ cli(claude -p, ๊ตฌ๋… quota) ๋˜๋Š” mock, ํ”„๋กœ๋•์…˜์€ api.
  • 2026-06-02: ์บ์‹ฑ์€ read-through(lib/cache), TTL์€ PRD ยง4.2. Supabase ๋ฐฑ์—”๋“œ๋Š” ๋ฏธ์—ฐ๋™(in-memory).
  • 2026-06-02: UI๋Š” Bloomberg Terminal(classic GUI) ์ปจ์…‰์œผ๋กœ ์ „๋ฉด ํ†ต์ผ. ๊ทœ์น™ยทํ† ํฐ ๋‹จ์ผ์†Œ์Šค docs/DESIGN.md, ์ •๋ณธ ๋ ˆํผ๋Ÿฐ์Šค docs/design/bloomberg-reference-3.png. ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ components/terminal/*(Panel/DataRow/ColHead/Delta/Tag/Cell/Sparkline/Bar/LineChartPanel/TopToolbar/CommandLine). ์ „ ํ™”๋ฉด(๋žœ๋”ฉยท๊ฒ€์ƒ‰ยท๋”ฅ๋‹ค์ด๋ธŒ) ์ ์šฉ ์™„๋ฃŒ, ํ† ํฐ ์œ„๋ฐ˜ 0.

์•Œ๋ ค์ง„ ์ด์Šˆ

  • @anthropic-ai/sdk๋Š” prompt caching GA ์œ„ํ•ด ^0.100 ์‚ฌ์šฉ (์ดˆ๊ธฐ 0.30 โ†’ ์—…๊ทธ๋ ˆ์ด๋“œ).
  • Supabase/FMP/Claude ์‹ค์—ฐ๋™ ๋ฏธ๊ฒ€์ฆ โ€” ํ˜„์žฌ ์ „ ๊ตฌ๊ฐ„ mock ๊ฒฝ๋กœ๋งŒ ์‹คํ–‰๋จ.