# πŸš€ λ°”μ΄λΈŒ μ½”λ”© ν”„λ‘¬ν”„νŠΈ λ§ˆμŠ€ν„° κ°€μ΄λ“œ (Human Only) 이 κ°€μ΄λ“œλŠ” **[Python ν”„λ‘œμ νŠΈ λ²”μš© κΈ°λ³Έ ν—Œλ²• v1.5+]** 체계 μ•„λž˜μ—μ„œ AI μ—μ΄μ „νŠΈλ₯Ό μ™„λ²½ν•˜κ²Œ μ‘°μ’…ν•˜κΈ° μœ„ν•œ 개발자 μ „μš© μ§€μΉ¨μ„œμž…λ‹ˆλ‹€. AIμ—κ²Œ λͺ…령을 내리기 μ „, 상황에 λ§žλŠ” ν”„λ‘¬ν”„νŠΈλ₯Ό λ³΅μ‚¬ν•˜μ—¬ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. --- ## 1. ν”„λ‘œμ νŠΈ μ΄ˆκΈ°ν™” (Setup) μƒˆλ‘œμš΄ ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•˜κ±°λ‚˜ AIμ—κ²Œ 전체 λ§₯락을 μ£Όμž…ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. ### πŸ“œ ν—Œλ²• 및 μ»¨ν…μŠ€νŠΈ μ£Όμž… > "루트의 `AI_CONTEXT.md`(λ˜λŠ” `gemini.md`)λ₯Ό 정독해. 이 ν”„λ‘œμ νŠΈμ˜ λͺ¨λ“  사고방식과 μ½”λ”© μŠ€νƒ€μΌμ€ 이 ν—Œλ²•μ„ μ ˆλŒ€μ μœΌλ‘œ λ”°λ₯Έλ‹€. μ€€λΉ„λμœΌλ©΄ 핡심 원칙 3κ°€μ§€λ₯Ό μš”μ•½ν•΄μ„œ 보고해." ### πŸ“‚ ν‘œμ€€ ꡬ쑰 및 λ¬Έμ„œ 생성 > "우리 ν—Œλ²• 제2쑰의 ν‘œμ€€ λ ˆμ΄μ•„μ›ƒμ— 따라 폴더 ꡬ쑰λ₯Ό 생성해. 그리고 `docs/` 폴더에 `project_spec.md`, `api_contract.md`, `issue.md`, `roadmap.md` 4μ’… λ¬Έμ„œμ˜ μ΄ˆμ•ˆμ„ λ²”μš©μ μΈ 골격으둜 μƒμ„±ν•΄μ€˜." --- ## 2. κΈ°λŠ₯ 섀계 및 λ‘œλ“œλ§΅ 관리 (Design & Planning) μ½”λ“œ μž‘μ„± μ „, μ„€κ³„μ˜ 정합성을 λ§žμΆ”λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€. (ν—Œλ²• 제6μ‘° μ€€μˆ˜) ### πŸ’‘ 아이디어 μ œμ•ˆ 및 λ‘œλ“œλ§΅ 기둝 > "μƒˆλ‘œμš΄ 아이디어가 μžˆμ–΄: [아이디어 λ‚΄μš©]. ν—Œλ²• 제5.2항에 따라 λ°”λ‘œ μ½”λ”©ν•˜μ§€ 말고 `docs/roadmap.md`에 λ¨Όμ € κΈ°λ‘ν•΄μ€˜. 그리고 ν˜„μž¬ μ•„ν‚€ν…μ²˜μ—μ„œ 이 κΈ°λŠ₯이 λ―ΈμΉ  영ν–₯도λ₯Ό 뢄석해봐." ### πŸ“ 상세 사양 및 μΈν„°νŽ˜μ΄μŠ€ μ •μ˜ > "`docs/roadmap.md`의 [κΈ°λŠ₯λͺ…]을 κ΅¬ν˜„ν•  κ±°μ•Ό. λ¨Όμ € `docs/project_spec.md`에 상세 둜직과 μ˜ˆμ™Έ μΌ€μ΄μŠ€λ₯Ό μ •μ˜ν•˜κ³ , `docs/api_contract.md`에 λͺ¨λ“ˆ κ°„ 데이터 κ·œκ²©μ„ Pydantic λͺ¨λΈ 기반으둜 μ„€κ³„ν•΄μ€˜. **λ‚΄ 승인 μ „κΉŒμ§€ 코딩은 κΈˆμ§€ν•œλ‹€.**" --- ## 3. μ‹€μ œ κ΅¬ν˜„ (Implementation) 섀계가 ν™•μ •λœ ν›„, 'μ™„κ²°μ„±' μžˆλŠ” μ½”λ“œλ₯Ό μƒμ‚°ν•˜κ²Œ λ§Œλ“œλŠ” λ‹¨κ³„μž…λ‹ˆλ‹€. ### 🧠 데이터 λͺ¨λΈλ§ (Pydantic) > "`docs/api_contract.md`에 μ •μ˜λœ μŠ€ν‚€λ§ˆλ₯Ό λ°”νƒ•μœΌλ‘œ `app/models/`에 Pydantic λͺ¨λΈμ„ κ΅¬ν˜„ν•΄. νƒ€μž… νžŒνŠΈλŠ” ν•„μˆ˜μ΄λ©°, 데이터 μœ νš¨μ„± 검사 λ‘œμ§μ„ ν¬ν•¨ν•΄μ€˜. 주석은 ν—Œλ²• 제3쑰에 따라 μΉœμ ˆν•œ ν•œκ΅­μ–΄λ‘œ μž‘μ„±ν•΄." ### πŸ›  λͺ¨λ“ˆ κ΅¬ν˜„ (No Loose Ends) > "μ •μ˜λœ 사양에 따라 [κΈ°λŠ₯λͺ…]의 핡심 λ‘œμ§μ„ `app/services/`에 κ΅¬ν˜„ν•΄. ν—Œλ²• 1.2항에 μ˜κ±°ν•΄ `TODO`, `pass` λ“± μž„μ‹œ μ½”λ“œλŠ” μ ˆλŒ€ μ‚¬μš©ν•˜μ§€ 말고, λ‹¨λ…μœΌλ‘œ μ‹€ν–‰ κ°€λŠ₯ν•œ μ™„λ²½ν•œ ν˜•νƒœλ‘œ μž‘μ„±ν•΄μ€˜." --- ## 4. 검증 및 ν’ˆμ§ˆ 관리 (Testing & QA) AIκ°€ λ§Œλ“  μ½”λ“œκ°€ μ§„μ§œ μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•˜κ²Œ ν•©λ‹ˆλ‹€. ### πŸ§ͺ ν…ŒμŠ€νŠΈ μ½”λ“œ μš°μ„  μž‘μ„± (TDD) > "κΈ°λŠ₯ κ΅¬ν˜„μ— μ•žμ„œ, 이λ₯Ό 검증할 수 μžˆλŠ” λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό `tests/` 폴더에 μž‘μ„±ν•΄. [νŠΉμ • 쑰건]일 λ•Œ μ„±κ³΅ν•˜κ³  [μ—λŸ¬ 쑰건]일 λ•Œ μ˜ˆμ™Έλ₯Ό λ˜μ§€λŠ”μ§€ 확인해야 ν•΄." ### βœ… κ²°κ³Ό 검증 및 리포트 > "방금 μž‘μ„±ν•œ μ½”λ“œκ°€ ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜λŠ”μ§€ 싀행해보고 κ²°κ³Όλ₯Ό λ¦¬ν¬νŠΈν•΄. λ§Œμ•½ μ‹€νŒ¨ν•œλ‹€λ©΄ ν—Œλ²• 제1.2ν•­μ˜ 'μ—λŸ¬ λŒ€μ‘' 원칙에 따라 확정적인 μˆ˜μ •μ•ˆμ„ μ œμ‹œν•΄." --- ## 5. μœ μ§€λ³΄μˆ˜ 및 이슈 관리 (Maintenance) μž‘μ—…μ„ λ§ˆλ¬΄λ¦¬ν•˜κ³  기둝을 λ‚¨κΈ°λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€. ### πŸ”„ λ¬Έμ„œ μ—…λ°μ΄νŠΈ 및 동기화 > "μž‘μ—…μ΄ μ™„λ£Œλ˜μ—ˆμœΌλ‹ˆ ν—Œλ²• 제6.3항에 따라 `docs/issue.md`의 μž‘μ—… μƒνƒœλ₯Ό κ°±μ‹ ν•˜κ³ , λ³€κ²½λœ μΈν„°νŽ˜μ΄μŠ€κ°€ μžˆλ‹€λ©΄ `docs/api_contract.md`에 λ°˜μ˜ν•΄μ€˜. 이번 μž‘μ—…μœΌλ‘œ ν•΄κ²°λœ λ²„κ·Έλ‚˜ 남은 κ³Όμ œλ„ 기둝해." --- ## πŸ’‘ 개발자λ₯Ό μœ„ν•œ λ°”μ΄λΈŒ μ½”λ”© 팁 (Tips) 1. **AI의 '직무유기' λ°©μ§€:** AIκ°€ "이 뢀뢄은 직접 κ΅¬ν˜„ν•˜μ„Έμš”"라고 ν•˜λ©΄, μ¦‰μ‹œ **ν—Œλ²• 제1.2ν•­(μƒλž΅ μ—†λŠ” κ΅¬ν˜„)**을 μƒκΈ°μ‹œν‚€λ©° λ‹€μ‹œ μš”κ΅¬ν•˜μ„Έμš”. 2. **ν•œκ΅­μ–΄ 원칙 고수:** 둜그 λ©”μ‹œμ§€λ‚˜ 주석이 μ˜μ–΄λ‘œ λ‚˜μ˜¨λ‹€λ©΄ **ν—Œλ²• 제3μ‘°**λ₯Ό 근거둜 μ¦‰μ‹œ μˆ˜μ •μ„ μ§€μ‹œν•˜μ„Έμš”. λ‚˜μ€‘μ— μ‚¬μš©μžλ‹˜μ΄ μ½”λ“œλ₯Ό 읽을 λ•Œμ˜ ν”Όλ‘œλ„κ°€ λ‹¬λΌμ§‘λ‹ˆλ‹€. 3. **μƒ˜ν”Œ λ°μ΄ν„°μ˜ 힘:** λ³΅μž‘ν•œ 둜직일수둝 `data/samples/`에 μ˜ˆμ‹œ 데이터λ₯Ό 던져주고 "이걸 보고 νŒλ‹¨ν•΄"라고 ν•˜λŠ” 것이 수천 μ€„μ˜ μ„€λͺ…보닀 μ •ν™•ν•©λ‹ˆλ‹€.