# π Task Viewer v3.0.0 λ¦΄λ¦¬μ€ λ
ΈνΈ
*λ¦΄λ¦¬μ€ λ μ§: 2025λ
8μ 7μΌ*
## π λͺ©μ°¨
- [π μ£Όμ μ κΈ°λ₯](#-μ£Όμ-μ κΈ°λ₯)
- [π€ μμ΄μ νΈ κ΄λ¦¬ μμ€ν
](#-μμ΄μ νΈ-κ΄λ¦¬-μμ€ν
)
- [π€ AI κΈ°λ° μΌκ΄ μμ΄μ νΈ λ°°μ ](#-ai-κΈ°λ°-μΌκ΄-μμ΄μ νΈ-λ°°μ )
- [π μμ
μ΄λ ₯μ Git λ²μ κ΄λ¦¬](#-μμ
-μ΄λ ₯μ-git-λ²μ -κ΄λ¦¬)
- [π νλ‘μ νΈ νμ€ν 리 λ·°](#-νλ‘μ νΈ-νμ€ν 리-λ·°)
- [π¨ ν
νλ¦Ώ κ΄λ¦¬ μμ€ν
](#-ν
νλ¦Ώ-κ΄λ¦¬-μμ€ν
)
- [π κ΅μ ν(i18n) μ§μ](#-κ΅μ νi18n-μ§μ)
- [π§ ν₯μλ λ€λΉκ²μ΄μ
λ° UI](#-ν₯μλ-λ€λΉκ²μ΄μ
-λ°-ui)
- [π μ£Όμ κ°μ μ¬ν](#-μ£Όμ-κ°μ μ¬ν)
- [μμ
μΈλΆμ 보 λ€λΉκ²μ΄μ
](#μμ
-μΈλΆμ 보-λ€λΉκ²μ΄μ
)
- [μ±λ₯ ν₯μ](#μ±λ₯-ν₯μ)
- [κ°λ°μ κ²½ν](#κ°λ°μ-κ²½ν)
- [UI/UX κ°μ ](#uiux-κ°μ )
- [π λ²κ·Έ μμ ](#-λ²κ·Έ-μμ )
- [μ€μ μμ ](#μ€μ-μμ )
- [UI μμ ](#ui-μμ )
- [λ°μ΄ν° μ²λ¦¬](#λ°μ΄ν°-μ²λ¦¬)
- [ποΈ κΈ°μ μ
λ°μ΄νΈ](#οΈ-κΈ°μ -μ
λ°μ΄νΈ)
- [μλ‘μ΄ μμ‘΄μ±](#μλ‘μ΄-μμ‘΄μ±)
- [API κ°μ ](#api-κ°μ )
- [μν€ν
μ² κ°μ ](#μν€ν
μ²-κ°μ )
- [π νΈνμ± λ³κ²½μ¬ν](#-νΈνμ±-λ³κ²½μ¬ν)
- [μ€μ μ
λ°μ΄νΈ](#μ€μ -μ
λ°μ΄νΈ)
- [API λ³κ²½](#api-λ³κ²½)
- [π λ§μ΄κ·Έλ μ΄μ
κ°μ΄λ](#-λ§μ΄κ·Έλ μ΄μ
-κ°μ΄λ)
- [π― μμ½](#-μμ½)
## π μ£Όμ μ κΈ°λ₯
### π€ μμ΄μ νΈ κ΄λ¦¬ μμ€ν
**μ λ¬Ένλ μμ
μ²λ¦¬λ₯Ό μν ν¬κ΄μ μΈ μλΈ μμ΄μ νΈ κ΄λ¦¬**
SHRIMP-TASK-MANAGERλ μ΄μ κ°λ ₯ν μμ΄μ νΈ κ΄λ¦¬ κΈ°λ₯μ μ§μνμ¬ λ€μν μ νμ μμ
μ λν΄ μ λ¬Ένλ AI μμ΄μ νΈλ₯Ό μ μνκ³ μ¬μ©ν μ μμ΅λλ€. μμ΄μ νΈλ μ΅μ μ μ€νμ μν΄ μμ
μ ν λΉν μ μλ μ λ¬Ένλ AI μ±κ²© λλ κΈ°μ μΈνΈμ
λλ€. μ΄ κΈ°λ₯μ Claudeμ μμ΄μ νΈ μμ€ν
κ³Ό μννκ² ν΅ν©λμ΄ `.claude/agents` ν΄λμ μ μ₯λ μ¬μ©μ μ μ μμ΄μ νΈλ₯Ό νμ©ν μ μμ΅λλ€.
μ£Όμ κΈ°λ₯:
- **μμ΄μ νΈ λͺ©λ‘ 보기**: `.claude/agents` ν΄λμ λͺ¨λ μ¬μ© κ°λ₯ν μμ΄μ νΈλ₯Ό μμΈν μ 보μ ν¨κ» νμ
- **μμ΄μ νΈ λ°°μ **: μμ
ν
μ΄λΈμ λλ‘λ€μ΄μ ν΅ν΄ μμ
μ νΉμ μμ΄μ νΈ λ°°μ
- **μμ΄μ νΈ λ·°μ΄ νμ
**: μμ
ν
μ΄λΈμ λ μμ΄μ½(ποΈ)μ ν΄λ¦νμ¬ νμ
μμ΄μ νΈ λ·°μ΄λ₯Ό μ΄κ³ , λ€μν μμ΄μ νΈλ₯Ό μ€ν¬λ‘€νλ©° κ° μμ
μ μ ν©ν μμ΄μ νΈ μ ν
- **μμ΄μ νΈ μλν°**: μμ΄μ νΈ λ©νλ°μ΄ν°μ μμ 컀μ€ν°λ§μ΄μ μ΄μ
μ΄ κ°λ₯ν λ΄μ₯ μλν°
- **μ μ λ° νλ‘μ νΈ μμ΄μ νΈ**: νλ‘μ νΈλ³ λ° μ μ μμ΄μ νΈ μ μ μ§μ
- **μν΄λ¦ AI μ§μμ¬ν**: λ‘λ΄ μ΄λͺ¨μ§λ₯Ό ν΄λ¦νμ¬ μμ΄μ νΈλ³ μ§μμ¬νμ ν΄λ¦½λ³΄λλ‘ λ³΅μ¬
- **μμ΄μ νΈ λͺ©λ‘ AI μ§μμ¬ν**: μμ΄μ νΈ λͺ©λ‘μ λ‘λ΄ μ΄λͺ¨μ§(π€)κ° μλ μλ‘μ΄ AI μ§μμ¬ν μ΄λ‘ Claudeμμ μ§μ μ¬μ©ν μ μλ `use subagent [agent-name] located in [path]:` 볡μ¬
- **μμ΄μ νΈ μ 보 λͺ¨λ¬**: μμ΄μ νΈ κ° λ€λΉκ²μ΄μ
μ΄ κ°λ₯ν μμΈν μμ΄μ νΈ μ 보
- **λ©νλ°μ΄ν° ν΅ν©**: μμ΄μ νΈ λ°°μ μ tasks.jsonμ μ§μ μ μ₯
- **μμ μ½λ©**: μ¬μ©μ μ μ μμμ μ¬μ©ν μμ΄μ νΈ μκ°μ ꡬλΆ
#### μμ΄μ νΈ λ°°μ μν¬νλ‘μ°:
1. **μ¬μ© κ°λ₯ν μμ΄μ νΈ λ³΄κΈ°**: μμ΄μ νΈ νμ μ‘μΈμ€νμ¬ `.claude/agents` ν΄λμ λͺ¨λ μμ΄μ νΈ νμΈ
2. **μμ
μ λ°°μ **: μμ
ν
μ΄λΈμ λλ‘λ€μ΄μ μ¬μ©νμ¬ κ° μμ
μ μμ΄μ νΈ μ ν
3. **μ§μμ¬ν 볡μ¬**: λ‘λ΄ μ΄λͺ¨μ§λ₯Ό ν΄λ¦νμ¬ λ³΅μ¬: `use the built in subagent located in ./claude/agents/[agent-name] to complete this shrimp task: [task-id] please when u start working mark the shrimp task as in progress`
4. **μμ΄μ νΈ νΈμ§**: μ¬μ©μ μ μ μμμ ν¬ν¨ν μμ΄μ νΈ μ½ν
μΈ λ° λ©νλ°μ΄ν° μμ

*μμ΄μ νΈ λͺ©λ‘ λ·°λ AI μ§μμ¬ν μ΄κ³Ό ν¨κ» λͺ¨λ μ¬μ© κ°λ₯ν μμ΄μ νΈλ₯Ό νμ - λ‘λ΄ μ΄λͺ¨μ§(π€)λ₯Ό ν΄λ¦νμ¬ `use subagent debugger.md located in ./claude/agents to perform:`μ κ°μ μμ΄μ νΈ μ¬μ© μ§μμ¬νμ ν΄λ¦½λ³΄λλ‘ μ§μ 볡μ¬*

*μμ
ν
μ΄λΈμ λλ‘λ€μ΄ μ νκΈ°λ₯Ό μ¬μ©νμ¬ μμ
μ μμ΄μ νΈ λ°°μ *

*λ μμ΄μ½(ποΈ)μ ν΄λ¦νμ¬ μμ΄μ νΈ λ·°μ΄ νμ
μ μ΄κ³ μμ
λ°°μ μ μν μ¬μ© κ°λ₯ν μμ΄μ νΈ νμ*

*μκ°μ ꡬμ±μ μν΄ μμ΄μ νΈ μ½ν
μΈ λ₯Ό νΈμ§νκ³ μμμΌλ‘ μ¬μ©μ μ μ*

*λ‘λ΄ μ΄λͺ¨μ§λ₯Ό ν΄λ¦νμ¬ μμ΄μ νΈλ³ μμ
μ§μμ¬ν 볡μ¬*

*μμΈν μ 보μ μ¬μ΄ λ€λΉκ²μ΄μ
μΌλ‘ μμ΄μ νΈ νμ*

*μμ€ν
μ 체 μμ΄μ νΈμ μ‘μΈμ€νκΈ° μν μ μ Claude ν΄λ κ²½λ‘ κ΅¬μ±*
### π€ AI κΈ°λ° μΌκ΄ μμ΄μ νΈ λ°°μ
**OpenAI GPT-4λ₯Ό μ¬μ©νμ¬ μ¬λ¬ μμ
μ κ°μ₯ μ μ ν μμ΄μ νΈλ₯Ό μλμΌλ‘ λ°°μ **
Task Viewerλ μ΄μ OpenAIμ GPT-4μ ν΅ν©λμ΄ μμ
μ€λͺ
κ³Ό μꡬμ¬νμ κΈ°λ°μΌλ‘ μ§λ₯μ μΌλ‘ μμ
μ μμ΄μ νΈλ₯Ό λ°°μ ν©λλ€. μ΄ κΈ°λ₯μ λ§μ μμ μμ
μ μ μ ν μμ΄μ νΈλ₯Ό ꡬμ±νλ λ° νμν μκ°μ ν¬κ² μ€μ
λλ€.
μ£Όμ κΈ°λ₯:
- **μΌκ΄ μ ν**: μμ
ν
μ΄λΈμ 체ν¬λ°μ€λ₯Ό μ¬μ©νμ¬ μ¬λ¬ μμ
μ ν
- **μν΄λ¦ λ°°μ **: "AI μμ΄μ νΈ λ°°μ "μ ν΄λ¦νμ¬ μ νλ λͺ¨λ μμ
μ μλμΌλ‘ μμ΄μ νΈ λ°°μ
- **μ§λ₯μ λ§€μΉ**: GPT-4κ° μμ
μ€λͺ
κ³Ό μμ΄μ νΈ λ₯λ ₯μ λΆμνμ¬ μ΅μ μ λ°°μ μν
- **μ μ μ€μ ν΅ν©**: μ μ μ€μ νμμ OpenAI API ν€ κ΅¬μ±
- **νκ²½ λ³μ μ§μ**: `OPENAI_API_KEY` λλ `OPEN_AI_KEY_SHRIMP_TASK_VIEWER` νκ²½ λ³μλ μ§μ
- **μ€λ₯ μλ΄**: API ν€κ° ꡬμ±λμ§ μμ κ²½μ° λͺ
νν μ§μΉ¨ μ 곡
#### μ€μ μ§μΉ¨:
1. **API ν€ κ΅¬μ±**: μ€μ β μ μ μ€μ μΌλ‘ μ΄λνμ¬ OpenAI API ν€ μ
λ ₯
2. **μμ
μ ν**: 체ν¬λ°μ€λ₯Ό μ¬μ©νμ¬ μμ΄μ νΈ λ°°μ μ΄ νμν μμ
μ ν
3. **AI λ°°μ **: μΌκ΄ μμ
νμμ€μ "π€ AI μμ΄μ νΈ λ°°μ " λ²νΌ ν΄λ¦
4. **μλ μ²λ¦¬**: GPT-4κ° μμ
μ λΆμνκ³ κ°μ₯ μ ν©ν μμ΄μ νΈ λ°°μ

*AI κΈ°λ° μμ΄μ νΈ λ°°μ μ μν μ μ μ€μ μμ OpenAI API ν€ κ΅¬μ±*

*μ¬λ¬ μμ
μ μ ννκ³ "π€ AI μμ΄μ νΈ λ°°μ (5κ° μμ
μ νλ¨)"μ ν΄λ¦νμ¬ GPT-4λ₯Ό μ¬μ©ν΄ μ μ ν μμ΄μ νΈλ₯Ό μλμΌλ‘ λ°°μ *
### π μμ
μ΄λ ₯μ Git λ²μ κ΄λ¦¬
**μμ
μ λͺ¨λ λ³κ²½μ¬νμ μλ Git 컀λ°μΌλ‘ μΆμ **
SHRIMP-TASK-MANAGERλ μ΄μ tasks.json νμΌμ λͺ¨λ λ³κ²½μ¬νμ μλμΌλ‘ μΆμ νλ λ΄μ₯ Git ν΅ν©μ ν¬ν¨ν©λλ€. μ΄λ μλ κ°μ
μμ΄ μμ
μμ μ μμ ν κ°μ¬ μΆμ μ μ 곡ν©λλ€.
μ£Όμ κΈ°λ₯:
- **μλ Git μ μ₯μ**: 첫 μ¬μ© μ λ°μ΄ν° λλ ν 리μ Git μ μ₯μ μ΄κΈ°ν
- **νμμ€ν¬ν 컀λ°**: λͺ¨λ μμ
μμ
(μμ±, μ
λ°μ΄νΈ, μμ )μ΄ λ‘컬 μκ°λ νμμ€ν¬νμ ν¨κ» μ»€λ° μμ±
- **μ€λͺ
μ λ©μμ§**: 컀λ°μ λ³κ²½ λ΄μ©μ λν λͺ
νν μ€λͺ
ν¬ν¨ (μ: "μ μμ
μΆκ°: μ¬μ©μ μΈμ¦ ꡬν")
- **λΉμ°¨λ¨**: Git μμ
μ΄ try-catch λΈλ‘μΌλ‘ λνλ¨ - Gitμ΄ μ€ν¨ν΄λ μμ
μμ
μ μ μμ μΌλ‘ κ³μ
- **격리λ μ μ₯μ**: Git μ μ₯μλ μμ
μ΄λ ₯λ§μ μν΄ μ¬μ©λλ©° νλ‘μ νΈ μ μ₯μμ μμ ν λΆλ¦¬
- **λ³ν© μΆ©λ μμ**: λ¨μΌ νμΌ μΆμ κ³Ό μ ν νμ€ν λ¦¬λ‘ μΆ©λ λΆκ°λ₯
#### μ΄μ :
- **μμ ν νμ€ν 리**: νμ€ Git λꡬλ₯Ό μ¬μ©νμ¬ μμ
μ μ 체 μ§ν κ³Όμ κ²ν
- **λ³κ²½ μΆμ **: μμ
μ΄ μΈμ μ΄λ»κ² μμ λμλμ§ μ νν νμΈ
- **볡ꡬ μ΅μ
**: νμμ μ΄μ μμ
μν 볡μ
- **ν κ°μμ±**: ν ꡬμ±μκ³Ό μμ
μ΄λ ₯ 곡μ
Git ν΅ν©μ μμ ν ν¬λͺ
νλ©° ꡬμ±μ΄ νμνμ§ μμ΅λλ€. μΈμ λ μ§ λ€μ λͺ
λ Ήμ μ¬μ©νμ¬ νμ€ν 리λ₯Ό λ³Ό μ μμ΅λλ€:
```bash
cd <shrimp-data-directory>
git log --oneline
```
#### μμ
νμ€ν 리 보λ λ°©λ²
1. **μμ
λ°μ΄ν° λλ ν λ¦¬λ‘ μ΄λ** (`.mcp.json`μμ ꡬμ±λ λλ‘):
```bash
cd <shrimp-data-directory>
```
2. **μ»€λ° νμ€ν 리 보기**:
```bash
git log --oneline
```
3. **νΉμ λ³κ²½μ¬ν 보기**:
```bash
git show <commit-hash>
```
4. **λ²μ λΉκ΅**:
```bash
git diff HEAD~5 # 5κ° μ»€λ° μ κ³Ό λΉκ΅
```
5. **μ΄μ μν 볡μ** (νμμ):
```bash
git checkout <commit-hash> -- tasks.json
```
### π νλ‘μ νΈ νμ€ν 리 λ·°
**νλ‘μ νΈμ μμ
μ€ν μ΄λ ₯ μΆμ λ° λΆμ**
SHRIMP-TASK-MANAGERλ μλ‘μ΄ μμ
μΈμ
μ μμν λλ§λ€ μλ£λ μμ
μ νλ‘μ νΈ λ΄ λ©λͺ¨λ¦¬ νμΌμ μλμΌλ‘ μ μ₯ν©λλ€. μ΄μ μλ μ΄ κ·μ€ν νμ€ν 리 λ°μ΄ν°κ° λ©λͺ¨λ¦¬ νμΌμ μ¨κ²¨μ Έ UIλ₯Ό ν΅ν΄ μ κ·Όν μ μμμ΅λλ€. μλ‘μ΄ νλ‘μ νΈ νμ€ν 리 λ·°λ μ΄ μμ
μ΄λ ₯μ λ
ΈμΆνμ¬ μκ°μ λ°λ₯Έ νλ‘μ νΈ μ§νλ₯Ό νμν μ μκ² ν©λλ€.
μ΄ κΈ°λ₯μ ν΅ν΄ λ€μμ μνν μ μμ΅λλ€:
- **νμ€ν 리 μμ
μ€λ
μ·**: SHRIMP-TASK-MANAGERκ° μ μ₯ν νλ‘μ νΈμ κ³Όκ±° μν νμ
- **μμ
μ§ν μΆμ **: λ€μν μΈμ
μμ μμ
μ΄ μμ±λΆν° μλ£κΉμ§ μ΄λ»κ² μ§νλμλμ§ νμΈ
- **λ©λͺ¨ μμ€ν
**: ν₯ν μ°Έμ‘° λ° ν μ§μ 곡μ λ₯Ό μν νμ€ν 리 νλͺ©μ κ°μΈ λ©λͺ¨ μΆκ°
- **μμΈν μμ
λ·°**: νΉμ νμ€ν 리 μμ
μνλ₯Ό μμΈν μ΄ν΄λ³΄κ³ κ³Όκ±° κ²°μ λ° κ΅¬ν μ΄ν΄
- **μκ° κΈ°λ° λ€λΉκ²μ΄μ
**: νλ‘μ νΈμ νμλΌμΈμ νμνμ¬ μΈμ 무μμ΄ μλ£λμλμ§ νμΈ
- **μ€λ
μ· λΉκ΅**: λ€μν μκΈ°μ μμ
μνλ₯Ό λΉκ΅νμ¬ νλ‘μ νΈ μ±μ₯ λ° λ³ν μΆμ


### π¨ ν
νλ¦Ώ κ΄λ¦¬ μμ€ν
**AI μμ
μ€νμ μν κ°λ ₯ν ν
νλ¦Ώ 컀μ€ν°λ§μ΄μ μ΄μ
**
ν
νλ¦Ώμ SHRIMP-TASK-MANAGERκ° λ€μν μ νμ μμ
μ λΆμνκ³ μ€ννλ λ°©λ²μ μλ΄νλ ν΅μ¬ μ§μΉ¨μ
λλ€. κ³νκ³Ό λΆμλΆν° ꡬνκ³Ό κ²μ¦κΉμ§ AIκ° λ€μν μ νμ μμ
μ μ κ·Όνλ λ°©λ²μ μ μν©λλ€. MCP-TASK-MANAGERλ κΈ°λ³Έ λμμ μ¬μ μνκ±°λ κΈ°μ‘΄ ν
νλ¦Ώμ μΆκ° μ§μΉ¨μ μΆκ°ν μ μλ μ¬μ©μ μ μ ν
νλ¦Ώμ νμ©ν©λλ€.
μ΄ μλ‘μ΄ ν
νλ¦Ώ κ΄λ¦¬ μΈν°νμ΄μ€λ λ€μμ μν μ§κ΄μ μΈ λ°©λ²μ μ 곡ν©λλ€:
- **ν
νλ¦Ώ μλν°**: μ¬μ©μ μ μ AI μ§μΉ¨ μμ±μ μν ꡬ문 κ°μ‘° κΈ°λ₯μ΄ μλ μμ ν λ§ν¬λ€μ΄ μλν°
- **ν
νλ¦Ώ 미리보기**: νμ±ννκΈ° μ μ ν
νλ¦Ώμ λΌμ΄λΈ 미리보기λ₯Ό ν΅ν΄ μꡬμ¬ν μΆ©μ‘± νμΈ
- **ν
νλ¦Ώ 볡μ **: λ€μν μ¬μ© μ¬λ‘λ₯Ό μν΄ κΈ°μ‘΄ ν
νλ¦Ώμ λ³νμ μ½κ² μμ±
- **ν
νλ¦Ώ μν μΆμ **: κΈ°λ³Έ(μλ³Έ), μ¬μ©μ μ μ(μμ κ΅μ²΄), μ¬μ©μ μ μ+μΆκ°(κΈ°λ³Έμ μΆκ°) μνλ₯Ό 보μ¬μ£Όλ μκ°μ νμκΈ°
- **κΈ°λ³Έκ°μΌλ‘ μ¬μ€μ **: νμμ μλ³Έ ν
νλ¦Ώμ μν΄λ¦μΌλ‘ 볡μ
- **ν
νλ¦Ώ λ΄λ³΄λ΄κΈ°**: λ°±μ
, ν ꡬμ±μκ³Ό 곡μ λλ λ²μ κ΄λ¦¬λ₯Ό μν΄ μ¬μ©μ μ μ ν
νλ¦Ώ λ΄λ³΄λ΄κΈ°
- **νμ±ν λνμμ**: μ€μλ‘ λ³κ²½νλ κ²μ λ°©μ§νκΈ° μν΄ ν
νλ¦Ώ νμ±ν μ λͺ
νν νμΈ

### π κ΅μ ν(i18n) μ§μ
**μνν μΈμ΄ μ νμ΄ κ°λ₯ν λ€κ΅μ΄ μ§μ**
- **μ§μνλ μΈ μΈμ΄**: μμ΄(en), μ€κ΅μ΄(μ€ζ), μ€νμΈμ΄(EspaΓ±ol)
- **μ§μμ μΈ μΈμ΄ μ ν**: μΈμ΄ μ νΈλκ° μ μ₯λκ³ κΈ°μ΅λ¨
- **μμ ν UI λ²μ**: λͺ¨λ UI μμ, λ²νΌ, λ μ΄λΈ, λ©μμ§κ° μμ ν λ²μλ¨
- **λμ μΈμ΄ μ ν**: νμ΄μ§ μλ‘κ³ μΉ¨ μμ΄ μ¦μ μΈμ΄ λ³κ²½
- **μΈμ΄ 컨ν
μ€νΈ μ 곡μ**: μΌκ΄λ λ²μμ μν μ€μμ§μ€μ μΈμ΄ κ΄λ¦¬
### π§ ν₯μλ λ€λΉκ²μ΄μ
λ° UI
**νλμ μ΄κ³ μ§κ΄μ μΈ μΈν°νμ΄μ€ κ°μ **
- **μ€μ²© ν μμ€ν
**: κΈ°λ³Έ λ° λ³΄μ‘° νμΌλ‘ ꡬμ±λ λ€λΉκ²μ΄μ
- **URL μν λκΈ°ν**: νμ¬ λ·°λ₯Ό λ°μνλλ‘ λΈλΌμ°μ URL μ
λ°μ΄νΈ
- **μμ
μΈλΆμ 보 λ€λΉκ²μ΄μ
**: λͺ©λ‘μΌλ‘ λμκ°μ§ μκ³ μμ°¨μ μΌλ‘ μμ
μ κ²ν ν μ μλ μ΄μ /λ€μ λ²νΌ
- **λ‘λ© μ€νΌλ**: λ°μ΄ν° λ‘λ© μ€ μκ°μ νΌλλ°±
- **ν μ€νΈ μλ¦Ό**: λΉμΉ¨μ
μ μ±κ³΅/μ€λ₯ λ©μμ§
- **λ°μν λμμΈ**: ν₯μλ λͺ¨λ°μΌ λ° νλΈλ¦Ώ κ²½ν
- **λͺ¨λ¬ κ°μ **: λ λμ λͺ¨λ¬ λ μ΄μμ λ° μνΈμμ©
- **ν€λ³΄λ λ€λΉκ²μ΄μ
**: μΈλΆ λ·°μμ λ λΉ λ₯Έ μμ
λ€λΉκ²μ΄μ
μ μν νμ΄ν ν€ μ§μ
## π μ£Όμ κ°μ μ¬ν
### μμ
μΈλΆμ 보 λ€λΉκ²μ΄μ
**μνν μμ
κ²ν μν¬νλ‘μ°**
μμ
μΈλΆμ 보 λ·°μλ μ΄μ μμ
μ κ²ν νκ³ μ²λ¦¬νλ λ°©μμ λ³νμν€λ μ΄μ /λ€μ λ€λΉκ²μ΄μ
λ²νΌμ΄ ν¬ν¨λ©λλ€:
- **μμ°¨μ λ€λΉκ²μ΄μ
**: λ©μΈ λͺ©λ‘μΌλ‘ λμκ°μ§ μκ³ μμλλ‘ μμ
μ΄λ
- **컨ν
μ€νΈ 보쑴**: μμ
κ° μ ν μ μΈλΆ λ·°μμ μ μ§
- **μκ°μ νμκΈ°**: λ²νΌμ μμ
λ²νΈ νμ (μ: "β μ΄μ (μμ
3)" λ° "λ€μ (μμ
5) β")
- **μ€λ§νΈ κ²½κ³**: 첫 λ²μ§Έ λ° λ§μ§λ§ μμ
μμ λ€λΉκ²μ΄μ
λ²νΌ λΉνμ±ν
- **ν€λ³΄λ λ¨μΆν€**: λ λΉ λ₯Έ λ€λΉκ²μ΄μ
μ μν νμ΄ν ν€ μ¬μ©
- **ν¨μ¨μ± ν₯μ**: μλ€λ‘ ν΄λ¦νλ κ²λ³΄λ€ 3-5λ°° λΉ λ₯Έ μ 체 μμ
λͺ©λ‘ κ²ν
μ΄ κΈ°λ₯μ λ€μμ κ²½μ°μ νΉν μ μ©ν©λλ€:
- AI λΆμμμ μλ‘ μμ±λ μμ
κ²ν
- μΌλ ¨μ μμ‘΄μ μμ
μ²λ¦¬
- μ¬λ¬ κ΄λ ¨ μμ
μ ꡬν μΈλΆμ¬ν νμΈ
- μμ
κ°μ¬ λλ κ²ν μν
### μ±λ₯ ν₯μ
- **μ΅μ νλ μ¬λ λλ§**: λ λμ μ±λ₯μ μν΄ React hooks μ μ ν λ©λͺ¨ν
- **μ§μ° λ‘λ©**: λ λΉ λ₯Έ μ΄κΈ° νμ΄μ§ λ‘λλ₯Ό μν μ¨λ맨λ μ»΄ν¬λνΈ λ‘λ©
- **ν¨μ¨μ μΈ μν κ΄λ¦¬**: λΆνμν μν μ
λ°μ΄νΈ κ°μ
- **μΌκ΄ μ
λ°μ΄νΈ**: λ λ§€λλ¬μ΄ UIλ₯Ό μν λ€μ€ μν λ³κ²½ μΌκ΄ μ²λ¦¬
### κ°λ°μ κ²½ν
- **ν¬κ΄μ μΈ ν
μ€νΈ μ€μνΈ**: ν΅ν© λ° μΈμ΄ κΈ°λ₯ ν
μ€νΈ μΆκ°
- **ν
μ€νΈ 체ν¬λ¦¬μ€νΈ**: ꡬ쑰νλ ν
μ€νΈ λ¬Έμ
- **λ λμ μ€λ₯ μ²λ¦¬**: λ μ μ΅ν μ€λ₯ λ©μμ§
- **λλ²κ·Έ λ‘κΉ
**: κ°λ°μ μν ν₯μλ λλ²κΉ
κΈ°λ₯
### UI/UX κ°μ
- **κ°μ λ μμ
ν
μ΄λΈ**: λ λμ μ΄ ν¬κΈ° μ‘°μ λ° ν
μ€νΈ λν
- **ν₯μλ λͺ¨λ¬**: μΌκ΄λ λͺ¨λ¬ μ€νμΌλ§ λ° λμ
- **λ λμ νμ΄ν¬κ·ΈλνΌ**: μ
λ°μ΄νΈλ κΈκΌ΄ ν¬κΈ°λ‘ κ°λ
μ± κ°μ
- **μμ μ²΄κ³ μ
λ°μ΄νΈ**: λ μ κ·ΌνκΈ° μ¬μ΄ μμ λλΉ
- **μμ΄μ½ μΌκ΄μ±**: μ± μ 체μμ ν΅μΌλ μμ΄μ½ μ¬μ©
## π λ²κ·Έ μμ
### μ€μ μμ
- **useRef Hook μ€λ₯**: μ± ν¬λμλ₯Ό μ λ°νλ λλ½λ React hook κ°μ Έμ€κΈ° μμ
- **λ²μ ν€**: λͺ¨λ μ§μ μΈμ΄μ λν λλ½λ λ²μ ν€ μΆκ°
- **μ¬λ³Όλ¦ λ§ν¬ 루ν**: Screenshots λλ ν 리 무ν 루ν λ¬Έμ ν΄κ²°
- **Windows κ²½λ‘ μ²λ¦¬**: Windows 11μμ file:// URI λ¬Έμ μμ
- **μ μ₯μ λ§ν¬**: λͺ¨λ μ μ₯μ μ°Έμ‘° μμ
### UI μμ
- **λͺ¨λ¬ Z-index**: λͺ¨λ¬ λ μ΄μ΄λ§ λ¬Έμ μμ
- **ν μ ν**: νμ΄μ§ μλ‘κ³ μΉ¨ μ ν μ§μμ± μμ
- **μΈμ΄ μ νκΈ°**: μν λκΈ°ν λ¬Έμ μμ
- **λ³΅μ¬ κΈ°λ₯**: ν΄λ¦½λ³΄λ μμ
μμ μ± ν₯μ
- **λ°μν λ μ΄μμ**: λͺ¨λ°μΌ λ·°ν¬νΈ λ¬Έμ μμ
### λ°μ΄ν° μ²λ¦¬
- **νλ‘ν λ‘λ©**: νλ‘ν μ ν μ κ²½μ 쑰건 μμ
- **μμ
μλ‘κ³ μΉ¨**: μλ μλ‘κ³ μΉ¨ μμ μ± ν₯μ
- **νμ€ν 리 λ‘λ©**: νμ€ν 리 λ·°μ νμ΄μ§λ€μ΄μ
λ¬Έμ μμ
- **ν
νλ¦Ώ μ μ₯**: ν
νλ¦Ώ μ§μμ± λ²κ·Έ ν΄κ²°
## ποΈ κΈ°μ μ
λ°μ΄νΈ
### μλ‘μ΄ μμ‘΄μ±
- `@headlessui/react`: νλμ μΈ UI μ»΄ν¬λνΈ
- `@tanstack/react-table`: κ³ κΈ ν
μ΄λΈ κΈ°λ₯
- `@uiw/react-md-editor`: ν
νλ¦Ώμ© λ§ν¬λ€μ΄ νΈμ§
- TypeScript μ§μμ μν μΆκ° νμ
μ μ
### API κ°μ
- **GET /api/templates**: λͺ¨λ μ¬μ© κ°λ₯ν ν
νλ¦Ώ λͺ©λ‘
- **PUT /api/templates/:name**: ν
νλ¦Ώ μ½ν
μΈ μ
λ°μ΄νΈ
- **POST /api/templates/:name/duplicate**: ν
νλ¦Ώ 볡μ
- **GET /api/history/:profileId**: νλ‘μ νΈ νμ€ν 리 κ°μ Έμ€κΈ°
- **ν₯μλ μ€λ₯ μλ΅**: λ μμΈν API μ€λ₯ λ©μμ§
### μν€ν
μ² κ°μ
- **μ»΄ν¬λνΈ λͺ¨λν**: κ΄μ¬μ¬ λΆλ¦¬ κ°μ
- **μ¬μ©μ μ μ Hooks**: μ¬μ¬μ© κ°λ₯ν λ‘μ§μ hooksλ‘ μΆμΆ
- **컨ν
μ€νΈ μ 곡μ**: μ€μμ§μ€μ μν κ΄λ¦¬
- **μ νΈλ¦¬ν° ν¨μ**: κ³΅ν΅ μμ
μ μν 곡μ μ νΈλ¦¬ν°
## π νΈνμ± λ³κ²½μ¬ν
### μ€μ μ
λ°μ΄νΈ
- **μΈμ΄ μ€μ **: μλ‘μ΄ μΈμ΄ μ νΈλ μ μ₯ νμ
- **ν
νλ¦Ώ μ μ₯μ**: ν
νλ¦Ώμ΄ μ΄μ μ¬μ©μ ν λλ ν 리μ μ μ₯
- **URL ꡬ쑰**: λ λμ λ€λΉκ²μ΄μ
μ μν μ
λ°μ΄νΈλ URL ν¨ν΄
### API λ³κ²½
- **νλ‘ν μλν¬μΈνΈ**: λ λ§μ λ©νλ°μ΄ν°λ₯Ό ν¬ν¨νλλ‘ μλ΅ νμ μ
λ°μ΄νΈ
- **μμ
μλν¬μΈνΈ**: μΆκ° νν°λ§ μ΅μ
μΌλ‘ ν₯μ
- **ν
νλ¦Ώ μλν¬μΈνΈ**: ν
νλ¦Ώ κ΄λ¦¬λ₯Ό μν μλ‘μ΄ μλν¬μΈνΈ ꡬ쑰
## π λ§μ΄κ·Έλ μ΄μ
κ°μ΄λ
### v2.1μμ v3.0μΌλ‘
1. **μΈμ΄ μ ν**: κΈ°λ³Έ μΈμ΄λ μμ΄μ΄λ©°, μ μ νκΈ°μμ μ νΈ μΈμ΄ μ ν
2. **ν
νλ¦Ώ**: κΈ°μ‘΄ μ¬μ©μ μ μ ν
νλ¦Ώμ 보쑴λμ§λ§ μ¬νμ±νκ° νμν μ μμ
3. **λΈλΌμ°μ μΊμ**: μ΅μ μ μ±λ₯μ μν΄ λΈλΌμ°μ μΊμ μ§μ°κΈ°
4. **νλ‘ν λ°μ΄ν°**: λͺ¨λ κΈ°μ‘΄ νλ‘νμ λ³κ²½ μμ΄ κ³μ μλ
## π― μμ½
λ²μ 3.0μ Task Viewerμ μ£Όμ λμ½μ λνλ΄λ©°, λ¨μν μμ
μκ°ν λꡬμμ ν¬κ΄μ μΈ μμ
κ΄λ¦¬ λ° μ»€μ€ν°λ§μ΄μ μ΄μ
νλ«νΌμΌλ‘ λ³νλμμ΅λλ€. μμ ν κ΅μ ν μ§μ, κ°λ ₯ν ν
νλ¦Ώ κ΄λ¦¬, AI κΈ°λ° μλν, Git κΈ°λ° νμ€ν 리 μΆμ κΈ°λ₯μ ν΅ν΄ μ΄ λ¦΄λ¦¬μ€λ νμκ² AI μ§μ κ°λ° μν¬νλ‘μ°μ λν μ λ‘ μλ μ μ΄λ₯Ό μ 곡ν©λλ€.
μ΄ λ¦΄λ¦¬μ€μ μ£Όμ νμ΄λΌμ΄νΈ:
- **AI κΈ°λ° μμ΄μ νΈ λ°°μ **: GPT-4λ₯Ό νμ©νμ¬ μμ
μ κ°μ₯ μ μ ν μμ΄μ νΈλ₯Ό μλμΌλ‘ λ°°μ
- **Git λ²μ κ΄λ¦¬**: νμμ€ν¬ν 컀λ°μ ν΅ν λͺ¨λ μμ
λ³κ²½μ¬ν μλ μΆμ
- **λ€κ΅μ΄ μ§μ**: μμ΄, μ€κ΅μ΄, μ€νμΈμ΄λ₯Ό μ§μνλ μμ ν κ΅μ ν
- **ν
νλ¦Ώ κ΄λ¦¬**: ν
νλ¦Ώ νΈμ§μ ν΅ν AI λμμ κΉμ 컀μ€ν°λ§μ΄μ μ΄μ
- **νμ€ν 리 λ·°**: Git 컀λ°κ³Ό λ©λͺ¨λ¦¬ μ€λ
μ·μ ν΅ν νλ‘μ νΈ μ§νμ μμ ν κ°μμ±
μΈ μΈμ΄ μ§μ(μμ΄, μ€κ΅μ΄, μ€νμΈμ΄) μΆκ°λ‘ λꡬλ₯Ό μ μΈκ³ μ¬μ©μκ° μ¬μ©ν μ μκ² λμμΌλ©°, ν
νλ¦Ώ κ΄λ¦¬ μμ€ν
μ AI λμμ κΉμ 컀μ€ν°λ§μ΄μ μ΄μ
μ κ°λ₯νκ² ν©λλ€. Git ν΅ν©μ λͺ¨λ μμ
μμ μ μꡬ κ°μ¬ μΆμ μ μ 곡νκ³ , AI κΈ°λ° μΌκ΄ λ°°μ κΈ°λ₯μ μμ
κ΅¬μ± μλλ₯Ό ν¬κ² λμ
λλ€.
μ΄ λ¦΄λ¦¬μ€λ ν₯ν κ°μ μ κΈ°λ°μ λ§λ ¨νκ³ Task Viewerλ₯Ό νλ AI μ§μ κ°λ° λꡬν€νΈμ νμ λκ΅¬λ‘ μ리맀κΉν©λλ€.