create-ax-project 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +374 -0
- package/bin/create.js +193 -0
- package/package.json +38 -0
- package/template/.claude/CLAUDE.md +7 -0
- package/template/.claude/commands/CLAUDE.md +0 -0
- package/template/.claude/commands/benchmark.md +103 -0
- package/template/.claude/commands/brainstorm.md +67 -0
- package/template/.claude/commands/checkpoint.md +93 -0
- package/template/.claude/commands/codex.md +107 -0
- package/template/.claude/commands/collaborate.md +85 -0
- package/template/.claude/commands/context.md +154 -0
- package/template/.claude/commands/deploy.md +102 -0
- package/template/.claude/commands/fork.md +142 -0
- package/template/.claude/commands/gemini.md +84 -0
- package/template/.claude/commands/handoff.md +80 -0
- package/template/.claude/commands/implement.md +82 -0
- package/template/.claude/commands/init-project.md +49 -0
- package/template/.claude/commands/next.md +125 -0
- package/template/.claude/commands/planning.md +69 -0
- package/template/.claude/commands/qa.md +81 -0
- package/template/.claude/commands/refactor.md +95 -0
- package/template/.claude/commands/research.md +60 -0
- package/template/.claude/commands/restore.md +113 -0
- package/template/.claude/commands/run-stage.md +78 -0
- package/template/.claude/commands/stages.md +109 -0
- package/template/.claude/commands/status.md +73 -0
- package/template/.claude/commands/tasks.md +80 -0
- package/template/.claude/commands/test.md +93 -0
- package/template/.claude/commands/ui-ux.md +61 -0
- package/template/.claude/commands/validate.md +174 -0
- package/template/.claude/hooks/CLAUDE.md +0 -0
- package/template/.claude/hooks/ai-selector.sh +223 -0
- package/template/.claude/hooks/auto-checkpoint.sh +187 -0
- package/template/.claude/hooks/output-validator.sh +289 -0
- package/template/.claude/hooks/post-stage.sh +123 -0
- package/template/.claude/hooks/pre-stage.sh +186 -0
- package/template/.claude/hooks/session-start.sh +90 -0
- package/template/.claude/hooks/statusline.sh +115 -0
- package/template/.claude/hooks/stop.sh +104 -0
- package/template/.claude/settings.json +149 -0
- package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
- package/template/.claude/skills/ai-collaboration/README.md +61 -0
- package/template/.claude/skills/ai-collaboration/debate.md +148 -0
- package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
- package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
- package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
- package/template/.claude/skills/auto-checkpoint/README.md +77 -0
- package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
- package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
- package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
- package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/README.md +121 -0
- package/template/.claude/skills/context-compression/analyze.md +114 -0
- package/template/.claude/skills/context-compression/compress.md +175 -0
- package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
- package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
- package/template/.claude/skills/output-validator/README.md +86 -0
- package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
- package/template/.claude/skills/output-validator/validate.md +182 -0
- package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
- package/template/.claude/skills/smart-handoff/README.md +59 -0
- package/template/.claude/skills/smart-handoff/extract.md +76 -0
- package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
- package/template/.claude/skills/smart-handoff/summarize.md +94 -0
- package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/README.md +84 -0
- package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
- package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
- package/template/.claude/skills/stage-transition/validate.md +108 -0
- package/template/CLAUDE.md +528 -0
- package/template/config/CLAUDE.md +0 -0
- package/template/config/ai_benchmarking.yaml +184 -0
- package/template/config/ai_collaboration.yaml +159 -0
- package/template/config/ai_logging.yaml +129 -0
- package/template/config/auto_checkpoint.yaml +189 -0
- package/template/config/context.yaml +78 -0
- package/template/config/git.yaml +161 -0
- package/template/config/handoff_intelligence.yaml +229 -0
- package/template/config/implementation.yaml.template +181 -0
- package/template/config/mcp_fallbacks.yaml +252 -0
- package/template/config/memory_integration.yaml +200 -0
- package/template/config/model_enforcement.yaml +141 -0
- package/template/config/models.yaml +242 -0
- package/template/config/output_validation.yaml +352 -0
- package/template/config/pipeline.yaml +357 -0
- package/template/config/pipeline_forking.yaml +236 -0
- package/template/config/qa_logging.yaml +166 -0
- package/template/config/smart_rollback.yaml +209 -0
- package/template/config/stage_personas.yaml +354 -0
- package/template/config/workflow.yaml +54 -0
- package/template/scripts/CLAUDE.md +0 -0
- package/template/scripts/ai-benchmark.sh +272 -0
- package/template/scripts/codex-wrapper.sh +97 -0
- package/template/scripts/context-manager.sh +528 -0
- package/template/scripts/create-checkpoint.sh +116 -0
- package/template/scripts/gemini-wrapper.sh +96 -0
- package/template/scripts/init-project.sh +109 -0
- package/template/scripts/list-stages.sh +245 -0
- package/template/scripts/next-stage.sh +228 -0
- package/template/scripts/output-validate.sh +12 -0
- package/template/scripts/pipeline-fork.sh +293 -0
- package/template/scripts/pre-run-check.sh +361 -0
- package/template/scripts/restore-checkpoint.sh +247 -0
- package/template/scripts/run-stage.sh +139 -0
- package/template/scripts/show-status.sh +185 -0
- package/template/scripts/smart-handoff.sh +254 -0
- package/template/stages/01-brainstorm/CLAUDE.md +103 -0
- package/template/stages/01-brainstorm/HANDOFF.md +110 -0
- package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
- package/template/stages/01-brainstorm/README.md +97 -0
- package/template/stages/01-brainstorm/config.yaml +92 -0
- package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/inputs/project_brief.md +40 -0
- package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/outputs/ideas.md +159 -0
- package/template/stages/01-brainstorm/outputs/requirements_analysis.md +222 -0
- package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
- package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
- package/template/stages/01-brainstorm/prompts/persona.md +73 -0
- package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
- package/template/stages/01-brainstorm/prompts/validation.md +50 -0
- package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/templates/ideas.md +91 -0
- package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
- package/template/stages/02-research/CLAUDE.md +101 -0
- package/template/stages/02-research/HANDOFF.md +158 -0
- package/template/stages/02-research/HANDOFF.md.template +102 -0
- package/template/stages/02-research/config.yaml +68 -0
- package/template/stages/02-research/inputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/CLAUDE.md +0 -0
- package/template/stages/02-research/outputs/feasibility_report.md +176 -0
- package/template/stages/02-research/outputs/tech_research.md +403 -0
- package/template/stages/02-research/prompts/CLAUDE.md +0 -0
- package/template/stages/02-research/prompts/collaboration.md +51 -0
- package/template/stages/02-research/prompts/feasibility.md +73 -0
- package/template/stages/02-research/prompts/market_analysis.md +58 -0
- package/template/stages/02-research/prompts/tech_stack.md +60 -0
- package/template/stages/02-research/prompts/validation.md +51 -0
- package/template/stages/02-research/templates/.gitkeep +0 -0
- package/template/stages/03-planning/CLAUDE.md +98 -0
- package/template/stages/03-planning/HANDOFF.md +168 -0
- package/template/stages/03-planning/HANDOFF.md.template +91 -0
- package/template/stages/03-planning/config.yaml +64 -0
- package/template/stages/03-planning/inputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
- package/template/stages/03-planning/outputs/architecture.md +400 -0
- package/template/stages/03-planning/outputs/implementation.yaml +209 -0
- package/template/stages/03-planning/outputs/project_plan.md +204 -0
- package/template/stages/03-planning/outputs/tech_stack.md +176 -0
- package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
- package/template/stages/03-planning/prompts/architecture.md +62 -0
- package/template/stages/03-planning/prompts/collaboration.md +57 -0
- package/template/stages/03-planning/prompts/validation.md +59 -0
- package/template/stages/03-planning/templates/.gitkeep +0 -0
- package/template/stages/04-ui-ux/CLAUDE.md +88 -0
- package/template/stages/04-ui-ux/HANDOFF.md +165 -0
- package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
- package/template/stages/04-ui-ux/config.yaml +57 -0
- package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/outputs/design_system.md +449 -0
- package/template/stages/04-ui-ux/outputs/user_flows.md +321 -0
- package/template/stages/04-ui-ux/outputs/wireframes.md +241 -0
- package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
- package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
- package/template/stages/04-ui-ux/prompts/validation.md +54 -0
- package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
- package/template/stages/05-task-management/CLAUDE.md +105 -0
- package/template/stages/05-task-management/HANDOFF.md +187 -0
- package/template/stages/05-task-management/HANDOFF.md.template +97 -0
- package/template/stages/05-task-management/config.yaml +81 -0
- package/template/stages/05-task-management/inputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
- package/template/stages/05-task-management/outputs/milestones.md +253 -0
- package/template/stages/05-task-management/outputs/sprint_plan.md +203 -0
- package/template/stages/05-task-management/outputs/tasks.md +402 -0
- package/template/stages/05-task-management/prompts/.gitkeep +0 -0
- package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
- package/template/stages/05-task-management/prompts/collaboration.md +54 -0
- package/template/stages/05-task-management/prompts/validation.md +66 -0
- package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
- package/template/stages/05-task-management/templates/notion_integration.md +176 -0
- package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
- package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
- package/template/stages/06-implementation/CLAUDE.md +163 -0
- package/template/stages/06-implementation/HANDOFF.md +184 -0
- package/template/stages/06-implementation/HANDOFF.md.template +192 -0
- package/template/stages/06-implementation/config.yaml +62 -0
- package/template/stages/06-implementation/inputs/.gitkeep +0 -0
- package/template/stages/06-implementation/outputs/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
- package/template/stages/06-implementation/prompts/collaboration.md +64 -0
- package/template/stages/06-implementation/prompts/validation.md +65 -0
- package/template/stages/06-implementation/templates/.gitkeep +0 -0
- package/template/stages/07-refactoring/CLAUDE.md +180 -0
- package/template/stages/07-refactoring/HANDOFF.md +82 -0
- package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
- package/template/stages/07-refactoring/config.yaml +68 -0
- package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/refactoring_report.md +102 -0
- package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
- package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
- package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
- package/template/stages/07-refactoring/prompts/validation.md +76 -0
- package/template/stages/07-refactoring/templates/.gitkeep +0 -0
- package/template/stages/08-qa/CLAUDE.md +93 -0
- package/template/stages/08-qa/HANDOFF.md +114 -0
- package/template/stages/08-qa/HANDOFF.md.template +96 -0
- package/template/stages/08-qa/config.yaml +56 -0
- package/template/stages/08-qa/inputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/qa_report.md +138 -0
- package/template/stages/08-qa/prompts/.gitkeep +0 -0
- package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
- package/template/stages/08-qa/prompts/collaboration.md +65 -0
- package/template/stages/08-qa/prompts/validation.md +71 -0
- package/template/stages/08-qa/templates/.gitkeep +0 -0
- package/template/stages/09-testing/CLAUDE.md +124 -0
- package/template/stages/09-testing/HANDOFF.md +118 -0
- package/template/stages/09-testing/HANDOFF.md.template +113 -0
- package/template/stages/09-testing/config.yaml +65 -0
- package/template/stages/09-testing/inputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/test_report.md +146 -0
- package/template/stages/09-testing/prompts/.gitkeep +0 -0
- package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
- package/template/stages/09-testing/prompts/collaboration.md +77 -0
- package/template/stages/09-testing/prompts/validation.md +83 -0
- package/template/stages/09-testing/templates/.gitkeep +0 -0
- package/template/stages/10-deployment/CLAUDE.md +117 -0
- package/template/stages/10-deployment/HANDOFF.md +141 -0
- package/template/stages/10-deployment/HANDOFF.md.template +148 -0
- package/template/stages/10-deployment/config.yaml +61 -0
- package/template/stages/10-deployment/inputs/.gitkeep +0 -0
- package/template/stages/10-deployment/outputs/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
- package/template/stages/10-deployment/prompts/collaboration.md +80 -0
- package/template/stages/10-deployment/prompts/validation.md +93 -0
- package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
- package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
- package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
- package/template/state/progress.json.template +111 -0
- package/template/state/templates/CLAUDE.md +0 -0
- package/template/state/templates/handoff_base.md.template +187 -0
- package/template/state/templates/phase_state.md.template +97 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# HANDOFF: 01-brainstorm โ 02-research
|
|
2
|
+
|
|
3
|
+
> ์์ฑ์ผ: 2026-01-21
|
|
4
|
+
> ํ๋ก์ ํธ: snake-game
|
|
5
|
+
> ํ์ฌ ์คํ
์ด์ง: 01-brainstorm (์๋ฃ)
|
|
6
|
+
> ๋ค์ ์คํ
์ด์ง: 02-research
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## โ
์๋ฃ๋ ์์
|
|
11
|
+
|
|
12
|
+
- [x] ํ๋ก์ ํธ ๋ธ๋ฆฌํ ์์ฑ (`inputs/project_brief.md`)
|
|
13
|
+
- [x] ํต์ฌ ๊ธฐ๋ฅ ์์ด๋์ด 12๊ฐ ๋ธ๋ ์ธ์คํ ๋ฐ
|
|
14
|
+
- [x] ์ฌ์ฉ์ ํ๋ฅด์๋ 3๊ฐ ์ ์
|
|
15
|
+
- [x] ์ ์ฌ ํ๋ก์ ํธ ์ฌ๋ก ์กฐ์ฌ
|
|
16
|
+
- [x] ์ฅ๋จ์ ๋ถ์ ์๋ฃ
|
|
17
|
+
- [x] MVP ๋ฒ์ ์ ์
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ๐ ํต์ฌ ๊ฒฐ์ ์ฌํญ
|
|
22
|
+
|
|
23
|
+
### 1. ๊ธฐ์ ์คํ ๋ฐฉํฅ
|
|
24
|
+
- **๋ ๋๋ง**: Canvas (์ฑ๋ฅ ์ฐ์ , ๋ชจ๋ฐ์ผ ์ง์)
|
|
25
|
+
- **์ํ๊ด๋ฆฌ**: useReducer + Custom Hook
|
|
26
|
+
- **๊ฒ์ ๋ฃจํ**: requestAnimationFrame
|
|
27
|
+
|
|
28
|
+
### 2. MVP ๊ธฐ๋ฅ ๋ฒ์
|
|
29
|
+
| ์ฐ์ ์์ | ๊ธฐ๋ฅ |
|
|
30
|
+
|---------|------|
|
|
31
|
+
| ๐ด ํ์ | ๊ธฐ๋ณธ ์กฐ์, ๋จน์ด ์์คํ
, ์ถฉ๋ ๊ฐ์ง, ์ ์, ์ฌ์์ |
|
|
32
|
+
| ๐ก ์ค์ | ๋ ๋ฒจ ์์คํ
, ํ์ด์ค์ฝ์ด ์ ์ฅ, ์ผ์์ ์ง, ๋ชจ๋ฐ์ผ ํฐ์น |
|
|
33
|
+
| ๐ข ์ ํ | Combo System, Portal Edges, Different Food |
|
|
34
|
+
|
|
35
|
+
### 3. ํ๊ฒ ์ฌ์ฉ์ (์ฐ์ ์์)
|
|
36
|
+
1. **Persona A**: ์บ์ฃผ์ผ ๊ฒ์ด๋จธ (๋ชจ๋ฐ์ผ, 5-10๋ถ ํ๋ ์ด)
|
|
37
|
+
2. **Persona B**: ๊ฒฝ์์ ๊ฒ์ด๋จธ (๋ฐ์คํฌํฑ, ํ์ด์ค์ฝ์ด ์ถ๊ตฌ)
|
|
38
|
+
3. **Persona C**: ๋ ํธ๋ก ํฌ (ํด๋์ ์คํ์ผ ์ ํธ)
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## ๐ ์์ฑ๋ ์ฐ์ถ๋ฌผ
|
|
43
|
+
|
|
44
|
+
| ํ์ผ | ์ค๋ช
|
|
|
45
|
+
|------|------|
|
|
46
|
+
| `inputs/project_brief.md` | ํ๋ก์ ํธ ๊ฐ์ ๋ฐ ์๊ตฌ์ฌํญ |
|
|
47
|
+
| `outputs/ideas.md` | ๋ธ๋ ์ธ์คํ ๋ฐ ์์ด๋์ด (12๊ฐ) |
|
|
48
|
+
| `outputs/requirements_analysis.md` | ์๊ตฌ์ฌํญ ๋ถ์ |
|
|
49
|
+
| `HANDOFF.md` | ์ด ๋ฌธ์ |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## ๐ ๋ค์ ์คํ
์ด์ง ์ฆ์ ์คํ ์์
|
|
54
|
+
|
|
55
|
+
### 02-research์์ ์กฐ์ฌํ ํญ๋ชฉ
|
|
56
|
+
|
|
57
|
+
1. **Canvas ๊ฒ์ ๋ฃจํ ๊ตฌํ ๋ฐฉ๋ฒ**
|
|
58
|
+
- requestAnimationFrame vs setInterval
|
|
59
|
+
- ์ต์ ํ ๊ธฐ๋ฒ (๋๋ธ ๋ฒํผ๋ง)
|
|
60
|
+
|
|
61
|
+
2. **React + Canvas ํตํฉ ํจํด**
|
|
62
|
+
- useRef๋ก Canvas ์ ๊ทผ
|
|
63
|
+
- Canvas ๋ฆฌ๋ ๋๋ง ์ต์ํ
|
|
64
|
+
|
|
65
|
+
3. **๋ชจ๋ฐ์ผ ํฐ์น ์ด๋ฒคํธ ์ฒ๋ฆฌ**
|
|
66
|
+
- touchstart/touchmove/touchend
|
|
67
|
+
- ์ค์์ดํ ๋ฐฉํฅ ๊ฐ์ง ๋ก์ง
|
|
68
|
+
|
|
69
|
+
4. **localStorage ํ์ด์ค์ฝ์ด ์ ์ฅ**
|
|
70
|
+
- ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ค๊ณ
|
|
71
|
+
- ๋ณด์ ๊ณ ๋ ค์ฌํญ
|
|
72
|
+
|
|
73
|
+
5. **์ถฉ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ**
|
|
74
|
+
- O(n) ์๊ธฐ ๋ชธ ์ถฉ๋
|
|
75
|
+
- ์ต์ ํ ๋ฐฉ์
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## โ ๏ธ ์ฃผ์์ฌํญ
|
|
80
|
+
|
|
81
|
+
1. **์ธ๋ถ ๊ฒ์ ์์ง ๋ฏธ์ฌ์ฉ**: Phaser, PixiJS ๋ฑ ๊ธ์ง
|
|
82
|
+
2. **์์ React ๊ตฌํ**: jQuery ๋ฏธ์ฌ์ฉ
|
|
83
|
+
3. **์ ์ ๋ฐฐํฌ ๊ฐ๋ฅ**: ๋ฐฑ์๋ ์๋ฒ ์์
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## ๐ AI ํธ์ถ ๊ธฐ๋ก
|
|
88
|
+
|
|
89
|
+
| AI | ์๊ฐ | ํ๋กฌํํธ | ๊ฒฐ๊ณผ | ์ํ |
|
|
90
|
+
|----|------|---------|------|------|
|
|
91
|
+
| Gemini | 11:58 | Snake Game ๋ธ๋ ์ธ์คํ ๋ฐ | 12๊ฐ ์์ด๋์ด, 3 ํ๋ฅด์๋ | โ
|
|
|
92
|
+
| ClaudeCode | 11:57 | ๊ฒฐ๊ณผ ๊ตฌ์กฐํ | ideas.md, HANDOFF.md | โ
|
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## ๐ ๋ค์ ๋จ๊ณ
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# ๋ค์ ์คํ
์ด์ง ์คํ
|
|
100
|
+
/run-stage 02-research
|
|
101
|
+
|
|
102
|
+
# ๋๋
|
|
103
|
+
/research
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
**์์ฑ์**: ClaudeCode
|
|
109
|
+
**๊ฒํ ์**: -
|
|
110
|
+
**์น์ธ**: ๋๊ธฐ
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Stage Handoff: 01-brainstorm โ 02-research
|
|
2
|
+
|
|
3
|
+
**์์ฑ์ผ**: {{TIMESTAMP}}
|
|
4
|
+
**์์ฑ์**: {{MODEL}}
|
|
5
|
+
**์์ ์๊ฐ**: {{DURATION}}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ์๋ฃ๋ ์์
|
|
10
|
+
|
|
11
|
+
- [ ] ํ๋ก์ ํธ ๋ธ๋ฆฌํ ๋ถ์
|
|
12
|
+
- [ ] ๋ธ๋ ์ธ์คํ ๋ฐ ({{IDEA_COUNT}}๊ฐ ์์ด๋์ด)
|
|
13
|
+
- [ ] ์ฌ์ฉ์ ํ๋ฅด์๋ ์์ฑ ({{PERSONA_COUNT}}๊ฐ)
|
|
14
|
+
- [ ] ์๊ตฌ์ฌํญ ๋ถ์
|
|
15
|
+
- [ ] MVP ๋ฒ์ ์ ์
|
|
16
|
+
- [ ] HANDOFF.md ์์ฑ
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## ๋ค์ ์์ด์ ํธ๋ฅผ ์ํ ์ปจํ
์คํธ
|
|
21
|
+
|
|
22
|
+
### ํต์ฌ ๊ฒฐ์ ์ฌํญ
|
|
23
|
+
|
|
24
|
+
| ๊ฒฐ์ | ์ด์ | ๋๋๋ฆด ์ ์์ |
|
|
25
|
+
|------|------|----------------|
|
|
26
|
+
| {{DECISION_1}} | {{REASON_1}} | Yes/No |
|
|
27
|
+
| {{DECISION_2}} | {{REASON_2}} | Yes/No |
|
|
28
|
+
|
|
29
|
+
### ์ฑ๊ณตํ ์ ๊ทผ๋ฒ
|
|
30
|
+
- {{SUCCESSFUL_APPROACH_1}}
|
|
31
|
+
- {{SUCCESSFUL_APPROACH_2}}
|
|
32
|
+
|
|
33
|
+
### ์คํจํ ์ ๊ทผ๋ฒ
|
|
34
|
+
- {{FAILED_APPROACH_1}}: {{FAILURE_REASON_1}}
|
|
35
|
+
|
|
36
|
+
### ์ฐ์ ์์ ์์ด๋์ด (Top 5)
|
|
37
|
+
1. **{{IDEA_1}}** - {{IDEA_1_VALUE}}
|
|
38
|
+
2. **{{IDEA_2}}** - {{IDEA_2_VALUE}}
|
|
39
|
+
3. **{{IDEA_3}}** - {{IDEA_3_VALUE}}
|
|
40
|
+
4. **{{IDEA_4}}** - {{IDEA_4_VALUE}}
|
|
41
|
+
5. **{{IDEA_5}}** - {{IDEA_5_VALUE}}
|
|
42
|
+
|
|
43
|
+
### MVP ํต์ฌ ๊ธฐ๋ฅ
|
|
44
|
+
1. {{MVP_FEATURE_1}}
|
|
45
|
+
2. {{MVP_FEATURE_2}}
|
|
46
|
+
3. {{MVP_FEATURE_3}}
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ์์ฑ๋ ์ฐ์ถ๋ฌผ
|
|
51
|
+
|
|
52
|
+
| ํ์ผ | ์ค๋ช
| ์์น |
|
|
53
|
+
|------|------|------|
|
|
54
|
+
| ideas.md | ๋ธ๋ ์ธ์คํ ๋ฐ ์์ด๋์ด | `outputs/ideas.md` |
|
|
55
|
+
| requirements_analysis.md | ์๊ตฌ์ฌํญ ๋ถ์ | `outputs/requirements_analysis.md` |
|
|
56
|
+
| personas.md | ์ฌ์ฉ์ ํ๋ฅด์๋ | `outputs/personas.md` (์ ํ) |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 02-research ์คํ
์ด์ง ๊ฐ์ด๋
|
|
61
|
+
|
|
62
|
+
### ์ฆ์ ์คํํ ์์
|
|
63
|
+
1. `outputs/requirements_analysis.md` ์ฝ๊ณ MVP ๋ฒ์ ํ์ธ
|
|
64
|
+
2. ์ฐ์ ์์ ์์ด๋์ด ๊ธฐ์ ์คํ ๋ฆฌ์์น
|
|
65
|
+
3. ๊ฒฝ์์ฌ ์ฌ์ธต ๋ถ์
|
|
66
|
+
|
|
67
|
+
### ๋ฆฌ์์น ์ฐ์ ์์
|
|
68
|
+
1. {{RESEARCH_PRIORITY_1}}
|
|
69
|
+
2. {{RESEARCH_PRIORITY_2}}
|
|
70
|
+
3. {{RESEARCH_PRIORITY_3}}
|
|
71
|
+
|
|
72
|
+
### ๊ฒ์ฆ ํ์ ๊ฐ์
|
|
73
|
+
- {{ASSUMPTION_1}}
|
|
74
|
+
- {{ASSUMPTION_2}}
|
|
75
|
+
|
|
76
|
+
### ๊ถ์ฅ MCP ์๋ฒ
|
|
77
|
+
- `firecrawl`: ์น ํฌ๋กค๋ง
|
|
78
|
+
- `exa`: AI ๊ฒ์
|
|
79
|
+
- `context7`: ๋ฌธ์ ๊ฒ์
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ์ฒดํฌํฌ์ธํธ ์ฐธ์กฐ
|
|
84
|
+
> ์ด ์คํ
์ด์ง๋ ์ฒดํฌํฌ์ธํธ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## AI ํธ์ถ ๊ธฐ๋ก
|
|
89
|
+
|
|
90
|
+
| AI | ํธ์ถ ์๊ฐ | ํ๋กฌํํธ | ๊ฒฐ๊ณผ | ์ํ |
|
|
91
|
+
|----|----------|---------|------|------|
|
|
92
|
+
| {{AI_1}} | {{TIME_1}} | {{PROMPT_1}} | {{OUTPUT_1}} | {{STATUS_1}} |
|
|
93
|
+
| {{AI_2}} | {{TIME_2}} | {{PROMPT_2}} | {{OUTPUT_2}} | {{STATUS_2}} |
|
|
94
|
+
|
|
95
|
+
> ์ค์ : `config/ai_logging.yaml`
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## ๋ฉํ๋ฐ์ดํฐ
|
|
100
|
+
|
|
101
|
+
```yaml
|
|
102
|
+
stage: "01-brainstorm"
|
|
103
|
+
status: "completed"
|
|
104
|
+
next_stage: "02-research"
|
|
105
|
+
models_used:
|
|
106
|
+
- gemini
|
|
107
|
+
- claudecode
|
|
108
|
+
tokens_used: {{TOKENS_USED}}
|
|
109
|
+
outputs_generated:
|
|
110
|
+
- ideas.md
|
|
111
|
+
- requirements_analysis.md
|
|
112
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Stage 01: Brainstorming
|
|
2
|
+
|
|
3
|
+
๋ฐ์ฐ์ ์์ด๋์ด ์์ฑ ๋ฐ ์๊ตฌ์ฌํญ ํ์
|
|
4
|
+
|
|
5
|
+
## ๊ฐ์
|
|
6
|
+
|
|
7
|
+
์ด ์คํ
์ด์ง๋ ํ๋ก์ ํธ์ ์์์ ์ผ๋ก, ์ฐฝ์์ ์์ด๋์ด ๋ฐ์ฐ๊ณผ ์ด๊ธฐ ์๊ตฌ์ฌํญ ๋ถ์์ ์ํํฉ๋๋ค.
|
|
8
|
+
|
|
9
|
+
## ์คํ ๋ชจ๋ธ
|
|
10
|
+
|
|
11
|
+
| ์ญํ | ๋ชจ๋ธ | ๋ชฉ์ |
|
|
12
|
+
|------|------|------|
|
|
13
|
+
| Primary | Gemini | ์ฐฝ์์ ์์ด๋์ด ์์ฑ, ์น ๋ฆฌ์์น |
|
|
14
|
+
| Secondary | ClaudeCode | ๊ตฌ์กฐํ, ์คํ ๊ฐ๋ฅ์ฑ ๊ฒํ |
|
|
15
|
+
|
|
16
|
+
## ์์ํ๊ธฐ
|
|
17
|
+
|
|
18
|
+
### 1. ์
๋ ฅ ํ์ผ ์ค๋น
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# ํ๋ก์ ํธ ๋ธ๋ฆฌํ ์์ฑ
|
|
22
|
+
cp templates/project_brief.md inputs/project_brief.md
|
|
23
|
+
# ํธ์ง ํ ๋ด์ฉ ์ฑ์ฐ๊ธฐ
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. ์คํ
์ด์ง ์คํ
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# ๋ฐฉ๋ฒ 1: ์ฌ๋์ ์ปค๋งจ๋
|
|
30
|
+
/run-stage 01-brainstorm
|
|
31
|
+
|
|
32
|
+
# ๋ฐฉ๋ฒ 2: ์คํฌ๋ฆฝํธ ์ง์ ์คํ
|
|
33
|
+
../../scripts/run-stage.sh 01-brainstorm
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 3. ์๋ ์ํฌํ๋ก์ฐ
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Step 1: Gemini๋ก ์์ด๋์ด ๋ฐ์ฐ
|
|
40
|
+
/gemini "$(cat prompts/ideation.md)"
|
|
41
|
+
|
|
42
|
+
# Step 2: ๊ฒฐ๊ณผ๋ฅผ outputs/ideas.md์ ์ ์ฅ
|
|
43
|
+
|
|
44
|
+
# Step 3: ์๊ตฌ์ฌํญ ๋ถ์
|
|
45
|
+
# ClaudeCode๊ฐ ์๋ ์ํ
|
|
46
|
+
|
|
47
|
+
# Step 4: HANDOFF.md ์์ฑ
|
|
48
|
+
/handoff
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
01-brainstorm/
|
|
55
|
+
โโโ README.md # ์ด ํ์ผ
|
|
56
|
+
โโโ CLAUDE.md # AI ์ง์นจ
|
|
57
|
+
โโโ config.yaml # ์คํ
์ด์ง ์ค์
|
|
58
|
+
โโโ prompts/
|
|
59
|
+
โ โโโ ideation.md # ์์ด๋์ด ๋ฐ์ฐ ํ๋กฌํํธ
|
|
60
|
+
โ โโโ persona.md # ํ๋ฅด์๋ ์์ฑ ํ๋กฌํํธ
|
|
61
|
+
โ โโโ requirements.md # ์๊ตฌ์ฌํญ ๋ถ์ ํ๋กฌํํธ
|
|
62
|
+
โโโ templates/
|
|
63
|
+
โ โโโ ideas.md # ์์ด๋์ด ์ถ๋ ฅ ํ
ํ๋ฆฟ
|
|
64
|
+
โ โโโ requirements_analysis.md # ์๊ตฌ์ฌํญ ์ถ๋ ฅ ํ
ํ๋ฆฟ
|
|
65
|
+
โโโ inputs/ # ์
๋ ฅ ํ์ผ
|
|
66
|
+
โโโ outputs/ # ์ถ๋ ฅ ํ์ผ
|
|
67
|
+
โโโ HANDOFF.md.template # ํธ๋์คํ ํ
ํ๋ฆฟ
|
|
68
|
+
โโโ HANDOFF.md # ์์ฑ๋ ํธ๋์คํ (์๋ฃ ์)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## ์๋ฃ ์กฐ๊ฑด
|
|
72
|
+
|
|
73
|
+
- [ ] ์ต์ 10๊ฐ ์์ด๋์ด ์์ฑ
|
|
74
|
+
- [ ] 3๊ฐ ์ด์ ์ฌ์ฉ์ ํ๋ฅด์๋ ์ ์
|
|
75
|
+
- [ ] ์๊ตฌ์ฌํญ ๋ถ์ ๋ฌธ์ ์์ฑ
|
|
76
|
+
- [ ] MVP ๋ฒ์ ์ ์
|
|
77
|
+
- [ ] HANDOFF.md ์์ฑ
|
|
78
|
+
|
|
79
|
+
## ์ถ๋ ฅ๋ฌผ
|
|
80
|
+
|
|
81
|
+
| ํ์ผ | ์ค๋ช
|
|
|
82
|
+
|------|------|
|
|
83
|
+
| `outputs/ideas.md` | ๋ธ๋ ์ธ์คํ ๋ฐ ์์ด๋์ด ๋ชฉ๋ก |
|
|
84
|
+
| `outputs/requirements_analysis.md` | ์๊ตฌ์ฌํญ ๋ถ์ ๊ฒฐ๊ณผ |
|
|
85
|
+
| `outputs/personas.md` | ์ฌ์ฉ์ ํ๋ฅด์๋ (์ ํ) |
|
|
86
|
+
| `HANDOFF.md` | ๋ค์ ์คํ
์ด์ง ์ธ๊ณ ๋ฌธ์ |
|
|
87
|
+
|
|
88
|
+
## ๋ค์ ์คํ
์ด์ง
|
|
89
|
+
|
|
90
|
+
**โ 02-research**: ๊ธฐ์ ๋ฆฌ์์น ๋ฐ ์์ฅ ๋ถ์
|
|
91
|
+
|
|
92
|
+
## ํ
|
|
93
|
+
|
|
94
|
+
1. **๋ฐ์ฐ์ ์ฌ๊ณ **: ์ด ๋จ๊ณ์์๋ ์์ด๋์ด ์ ํ ์์ด ์์ ๋กญ๊ฒ
|
|
95
|
+
2. **๋ชจ๋ ๊ฒ์ ๊ธฐ๋ก**: ๋์ค์ ์ฌ๊ฒํ ํ ์ ์๋๋ก
|
|
96
|
+
3. **Gemini ํ์ฉ**: ์น ๊ฒ์์ด ํ์ํ ๊ฒฝ์์ฌ ๋ถ์์ ํ์ฉ
|
|
97
|
+
4. **๊ตฌ์กฐํ๋ ๋์ค์**: ClaudeCode๊ฐ ๊ตฌ์กฐํ ๋ด๋น
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Stage 01: Brainstorming Configuration
|
|
2
|
+
|
|
3
|
+
stage:
|
|
4
|
+
id: "01-brainstorm"
|
|
5
|
+
name: "Brainstorming"
|
|
6
|
+
description: "๋ฐ์ฐ์ ์์ด๋์ด ์์ฑ ๋ฐ ์๊ตฌ์ฌํญ ํ์"
|
|
7
|
+
|
|
8
|
+
# Model Assignment
|
|
9
|
+
models:
|
|
10
|
+
primary: "gemini"
|
|
11
|
+
secondary: "claudecode"
|
|
12
|
+
collaboration: "parallel" # parallel | sequential | handoff
|
|
13
|
+
|
|
14
|
+
# AI ์๋ ํธ์ถ ์ค์ (Issue #12 ํด๊ฒฐ)
|
|
15
|
+
auto_invoke:
|
|
16
|
+
enabled: true
|
|
17
|
+
model: "gemini"
|
|
18
|
+
trigger: "stage_start"
|
|
19
|
+
prompt_file: "prompts/ideation.md"
|
|
20
|
+
wrapper: "scripts/gemini-wrapper.sh"
|
|
21
|
+
required: true
|
|
22
|
+
message: "๐ค Gemini ์๋ ํธ์ถ: ๋ฐ์ฐ์ ์์ด๋์ด ์์ฑ ์์"
|
|
23
|
+
|
|
24
|
+
# Execution Mode
|
|
25
|
+
execution:
|
|
26
|
+
mode: "yolo"
|
|
27
|
+
container: true
|
|
28
|
+
sandbox: false
|
|
29
|
+
timeout: 3600 # 1 hour
|
|
30
|
+
|
|
31
|
+
# Input/Output Definitions
|
|
32
|
+
inputs:
|
|
33
|
+
required:
|
|
34
|
+
- name: "project_brief.md"
|
|
35
|
+
description: "ํ๋ก์ ํธ ๊ฐ์ ๋ฐ ๋ชฉํ"
|
|
36
|
+
schema: null
|
|
37
|
+
optional:
|
|
38
|
+
- name: "user_requirements.md"
|
|
39
|
+
description: "์ด๊ธฐ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ"
|
|
40
|
+
- name: "reference_materials/"
|
|
41
|
+
description: "์ฐธ๊ณ ์๋ฃ ๋๋ ํ ๋ฆฌ"
|
|
42
|
+
|
|
43
|
+
outputs:
|
|
44
|
+
required:
|
|
45
|
+
- name: "ideas.md"
|
|
46
|
+
description: "๋ธ๋ ์ธ์คํ ๋ฐ ์์ด๋์ด ๋ชฉ๋ก"
|
|
47
|
+
template: "templates/ideas.md"
|
|
48
|
+
- name: "requirements_analysis.md"
|
|
49
|
+
description: "์๊ตฌ์ฌํญ ๋ถ์ ๊ฒฐ๊ณผ"
|
|
50
|
+
template: "templates/requirements_analysis.md"
|
|
51
|
+
- name: "HANDOFF.md"
|
|
52
|
+
description: "๋ค์ ์คํ
์ด์ง ์ธ๊ณ ๋ฌธ์"
|
|
53
|
+
template: "HANDOFF.md.template"
|
|
54
|
+
optional:
|
|
55
|
+
- name: "personas.md"
|
|
56
|
+
description: "์ฌ์ฉ์ ํ๋ฅด์๋"
|
|
57
|
+
- name: "competitive_analysis.md"
|
|
58
|
+
description: "๊ฒฝ์์ฌ ๋ถ์"
|
|
59
|
+
|
|
60
|
+
# Prompts
|
|
61
|
+
prompts:
|
|
62
|
+
- name: "ideation"
|
|
63
|
+
file: "prompts/ideation.md"
|
|
64
|
+
model: "gemini"
|
|
65
|
+
description: "๋ฐ์ฐ์ ์์ด๋์ด ์์ฑ"
|
|
66
|
+
- name: "persona"
|
|
67
|
+
file: "prompts/persona.md"
|
|
68
|
+
model: "gemini"
|
|
69
|
+
description: "์ฌ์ฉ์ ํ๋ฅด์๋ ์์ฑ"
|
|
70
|
+
- name: "requirements"
|
|
71
|
+
file: "prompts/requirements.md"
|
|
72
|
+
model: "claudecode"
|
|
73
|
+
description: "์๊ตฌ์ฌํญ ๋ถ์ ๋ฐ ๊ตฌ์กฐํ"
|
|
74
|
+
|
|
75
|
+
# Completion Criteria
|
|
76
|
+
completion:
|
|
77
|
+
checklist:
|
|
78
|
+
- "์ต์ 10๊ฐ ์์ด๋์ด ์์ฑ"
|
|
79
|
+
- "3๊ฐ ์ด์ ์ฌ์ฉ์ ํ๋ฅด์๋ ์ ์"
|
|
80
|
+
- "์๊ตฌ์ฌํญ ๋ถ์ ๋ฌธ์ ์์ฑ"
|
|
81
|
+
- "HANDOFF.md ์์ฑ"
|
|
82
|
+
validation:
|
|
83
|
+
min_ideas: 10
|
|
84
|
+
min_personas: 3
|
|
85
|
+
require_handoff: true
|
|
86
|
+
|
|
87
|
+
# Transition
|
|
88
|
+
transition:
|
|
89
|
+
next_stage: "02-research"
|
|
90
|
+
prerequisites: []
|
|
91
|
+
handoff_required: true
|
|
92
|
+
checkpoint_required: false
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Project Brief: Snake Game
|
|
2
|
+
|
|
3
|
+
## ํ๋ก์ ํธ ์ด๋ฆ
|
|
4
|
+
Snake Game
|
|
5
|
+
|
|
6
|
+
## ํ ์ค ์ค๋ช
|
|
7
|
+
ํด๋์ ์ค๋ค์ดํฌ ๊ฒ์์ ํ๋์ ์น ๋ฒ์
|
|
8
|
+
|
|
9
|
+
## ๋ฌธ์ ์ ์
|
|
10
|
+
๊ฐ๋จํ์ง๋ง ์ค๋
์ฑ ์๋ ์บ์ฃผ์ผ ๊ฒ์ ํ์
|
|
11
|
+
|
|
12
|
+
## ํ๊ฒ ์ฌ์ฉ์
|
|
13
|
+
- ์งง์ ์๊ฐ ๊ฒ์์ ์ฆ๊ธฐ๊ณ ์ถ์ ์ฌ์ฉ์
|
|
14
|
+
- ๋ ํธ๋ก ๊ฒ์ ํฌ
|
|
15
|
+
- ๋ชจ๋ฐ์ผ/๋ฐ์คํฌํฑ ๋ชจ๋์์ ๊ฒ์์ ์ํ๋ ์ฌ์ฉ์
|
|
16
|
+
|
|
17
|
+
## ํต์ฌ ๊ธฐ๋ฅ
|
|
18
|
+
1. ๋ฐฉํฅํค/ํฐ์น๋ก ๋ฑ ์กฐ์
|
|
19
|
+
2. ๋จน์ด ์์ง ๋ฐ ์ฑ์ฅ
|
|
20
|
+
3. ์ถฉ๋ ๊ฐ์ง (๋ฒฝ, ์๊ธฐ ๋ชธ)
|
|
21
|
+
4. ์ ์ ์์คํ
|
|
22
|
+
|
|
23
|
+
## ๊ธฐ์ ์๊ตฌ์ฌํญ
|
|
24
|
+
- React + TypeScript
|
|
25
|
+
- Vite ๋น๋ ๋๊ตฌ
|
|
26
|
+
- Canvas ๋๋ CSS Grid ๊ธฐ๋ฐ ๋ ๋๋ง
|
|
27
|
+
- ๋ฐ์ํ ๋์์ธ (๋ชจ๋ฐ์ผ ์ง์)
|
|
28
|
+
|
|
29
|
+
## ์ฑ๊ณต ์งํ
|
|
30
|
+
- ๊ฒ์ ํ๋ ์ด ๊ฐ๋ฅ (๊ธฐ๋ณธ ๊ธฐ๋ฅ ์์ฑ)
|
|
31
|
+
- ๋ชจ๋ฐ์ผ/๋ฐ์คํฌํฑ ๋ชจ๋ ์ง์
|
|
32
|
+
- ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง 80% ์ด์
|
|
33
|
+
- ๋ฐฐํฌ ์๋ฃ (GitHub Pages ๋๋ Vercel)
|
|
34
|
+
|
|
35
|
+
## ํ์๋ผ์ธ
|
|
36
|
+
- ์ ์ฒด ํ์ดํ๋ผ์ธ (01~10): ์ฝ 4์๊ฐ
|
|
37
|
+
|
|
38
|
+
## ์ ์ฝ์ฌํญ
|
|
39
|
+
- ์ธ๋ถ ๊ฒ์ ์์ง ๋ฏธ์ฌ์ฉ (์์ React)
|
|
40
|
+
- ๋ณต์กํ ๋ฐฑ์๋ ์์ (ํ๋ก ํธ์๋ only)
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# ๐ Snake Game - ๋ธ๋ ์ธ์คํ ๋ฐ ์์ด๋์ด
|
|
2
|
+
|
|
3
|
+
> ์์ฑ์ผ: 2026-01-21
|
|
4
|
+
> ์คํ
์ด์ง: 01-brainstorm
|
|
5
|
+
> ํ๋ก์ ํธ: snake-game
|
|
6
|
+
> AI ๋๊ตฌ: Gemini CLI + ClaudeCode
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ๐ ํต์ฌ ๊ธฐ๋ฅ ์์ด๋์ด (12๊ฐ)
|
|
11
|
+
|
|
12
|
+
### ๐ฎ ๊ธฐ๋ณธ ๊ฒ์ํ๋ ์ด (ํ์)
|
|
13
|
+
|
|
14
|
+
| # | ์์ด๋์ด | ์ค๋ช
| ์ฐ์ ์์ |
|
|
15
|
+
|---|---------|------|---------|
|
|
16
|
+
| 1 | **๊ธฐ๋ณธ ๋ฑ ์กฐ์** | ๋ฐฉํฅํค(โโโโ)๋ก ๋ฑ ์ด๋ | ๐ด ํ์ |
|
|
17
|
+
| 2 | **๋จน์ด ์์คํ
** | ๋จน์ด๋ฅผ ๋จน์ผ๋ฉด ๋ฑ ๊ธธ์ด +1, ์ ์ +10 | ๐ด ํ์ |
|
|
18
|
+
| 3 | **์ถฉ๋ ๊ฐ์ง** | ๋ฒฝ/์๊ธฐ ๋ชธ ์ถฉ๋ ์ ๊ฒ์ ์ค๋ฒ | ๐ด ํ์ |
|
|
19
|
+
| 4 | **์ ์ ์์คํ
** | ์ค์๊ฐ ์ ์ ํ์ | ๐ด ํ์ |
|
|
20
|
+
| 5 | **๊ฒ์ ์ฌ์์** | ๊ฒ์ ์ค๋ฒ ํ ๋ค์ ์์ ๊ธฐ๋ฅ | ๐ด ํ์ |
|
|
21
|
+
|
|
22
|
+
### โญ Gemini ์ ์ ๊ธฐ๋ฅ
|
|
23
|
+
|
|
24
|
+
| # | ์์ด๋์ด | ์ค๋ช
| ์ฐ์ ์์ |
|
|
25
|
+
|---|---------|------|---------|
|
|
26
|
+
| 6 | **Dash / Sprint** | ์ ํ๋ ์คํ๋ฏธ๋๋ก 2๋ฐฐ์ ์ด๋ | ๐ข ์ ํ |
|
|
27
|
+
| 7 | **Ghost Mode** | ์๊ธฐ ๋ชธ ํต๊ณผ ํ์์
(5์ด) | ๐ข ์ ํ |
|
|
28
|
+
| 8 | **Dynamic Obstacles** | 10์ด๋ง๋ค ์์น ๋ณ๊ฒฝ๋๋ ์ฅ์ ๋ฌผ | ๐ข ์ ํ |
|
|
29
|
+
| 9 | **Combo System** | ์ฐ์ ๋จน์ด ํ๋ ์ ์ ์ ๋ฐฐ์จ (x1โx2โx4) | ๐ก ์ค์ |
|
|
30
|
+
| 10 | **Portal Edges** | ๋ฒฝ ํต๊ณผ ์ ๋ฐ๋ํธ์ผ๋ก ์ด๋ (ํฉ๋งจ ์คํ์ผ) | ๐ก ์ค์ |
|
|
31
|
+
| 11 | **Different Food Types** | ์ฌ๊ณผ(+1), ํฉ๊ธ์ฌ๊ณผ(์ ์๋ง), ๊ณ ์ถ(์๋โ), ์ผ์(์๋โ) | ๐ข ์ ํ |
|
|
32
|
+
| 12 | **Puzzle Levels** | ๋ฏธ๋ก ๋ ๋ฒจ์์ ๋ชจ๋ ๋จน์ด ์์ง | ๐ข ์ ํ |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## ๐ ์ฅ๋จ์ ๋ถ์ (Gemini ๋ถ์)
|
|
37
|
+
|
|
38
|
+
| ์์ด๋์ด | ์ฅ์ | ๋จ์ |
|
|
39
|
+
|:---------|:-----|:-----|
|
|
40
|
+
| **Dash / Sprint** | ์คํฌ ์์ ์ถ๊ฐ, "ํด๋ฌ์น" ๋ชจ๋ฉํธ | ์๋๋ก ์ธํ ์ค์ ์ถฉ๋ ๊ฐ๋ฅ |
|
|
41
|
+
| **Ghost Mode** | ์ด๋ณด์ ์นํ์ , ์ข์ ๊ฐ ๊ฐ์ | ๋๋ฌด ์ฌ์์ง ์ ์์ |
|
|
42
|
+
| **Dynamic Obstacles** | ์ ์ ํจ ์ ์ง, ์์ ์ง๋ ์บ ํ ๋ฐฉ์ง | ๋ถ๊ณต์ ํ๊ฒ ๋๊ปด์ง ์ ์์ |
|
|
43
|
+
| **Combo System** | ๊ณต๊ฒฉ์ ์ด๊ณ ์ํํ ํ๋ ์ด ์ ๋ | UI ๋ณต์กํด์ง (ํ์ด๋จธ ํ์) |
|
|
44
|
+
| **Portal Edges** | ํด๋์ํ๊ณ ๋ง์กฑ์ค๋ฌ์ด ํ๋ก์ฐ | "์ฝ๋ ํจ์ " ๊ธด์ฅ๊ฐ ๊ฐ์ |
|
|
45
|
+
| **Different Food** | ์ ๋ต์ ๊น์ด (์ํ vs ๋ณด์) | ํ๋ ์ด์ด๊ฐ ์์๋ณ ํจ๊ณผ ๊ธฐ์ต ํ์ |
|
|
46
|
+
| **Puzzle Levels** | ๋ช
ํํ ์งํ๊ฐ/์๋ฃ๊ฐ | ๋ฌดํ ๋ชจ๋ ๋๋น ์ฌํ๋ ์ด์ฑ ๋ฎ์ |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ๐ฅ ์ฌ์ฉ์ ํ๋ฅด์๋ (Gemini ์์ฑ)
|
|
51
|
+
|
|
52
|
+
### ํ๋ฅด์๋ A: "The Commuter" (์บ์ฃผ์ผ)
|
|
53
|
+
- **์ธ๊ตฌํต๊ณ**: 28์ธ ์ง์ฅ์ธ
|
|
54
|
+
- **ํ๋**: ์งํ์ฒ ์์ ๋ชจ๋ฐ์ผ๋ก 5-10๋ถ ํ๋ ์ด
|
|
55
|
+
- **๋์ฆ**:
|
|
56
|
+
- ํ ์ ์กฐ์ (์ค์์ดํ)
|
|
57
|
+
- ๋น ๋ฅธ ์์ (๋ก๋ฉ ์์)
|
|
58
|
+
- ์คํ๋ผ์ธ ๊ฐ๋ฅ
|
|
59
|
+
- ๋ธ๋ผ์ฐ์ ๋ซ์๋ ์๋ ์ ์ฅ
|
|
60
|
+
- **๋ถ๋ง**: ๋ณต์กํ ๋ฉ๋ด, ์์ ๋ฒํผ, ๊ด๊ณ
|
|
61
|
+
|
|
62
|
+
### ํ๋ฅด์๋ B: "The High-Scorer" (๊ฒฝ์์ )
|
|
63
|
+
- **์ธ๊ตฌํต๊ณ**: 16์ธ ํ์
|
|
64
|
+
- **ํ๋**: ์ฌ๋ ์๊ฐ์ ๋ฐ์คํฌํฑ PC๋ก ํ๋ ์ด, ๋ฆฌ๋๋ณด๋์ ์ง์ฐฉ
|
|
65
|
+
- **๋์ฆ**:
|
|
66
|
+
- ์ ๋ฐํ ํค๋ณด๋ ์กฐ์ (์
๋ ฅ ์ง์ฐ ์ ๋ก)
|
|
67
|
+
- ๊ณ ๋๋น ์๊ฐ (์ฅ์ ๋ฌผ ๋ช
ํํ ๋ณด์)
|
|
68
|
+
- ์ฆ์ ์ฌ์์ ๊ธฐ๋ฅ ("R" ํค)
|
|
69
|
+
- ๊ธ๋ก๋ฒ ๋ฆฌ๋๋ณด๋
|
|
70
|
+
- **๋ถ๋ง**: ๋ถ๊ณต์ ํ RNG, ๋, ๋๋ฆฐ ์ ๋๋ฉ์ด์
|
|
71
|
+
|
|
72
|
+
### ํ๋ฅด์๋ C: "The Retro Fan" (ํฅ์)
|
|
73
|
+
- **์ธ๊ตฌํต๊ณ**: 40์ธ ๊ฐ๋ฐ์
|
|
74
|
+
- **ํ๋**: ํฝ์
์ํธ์ ์นฉํ ์์
์ ํธ, ํด์์ฉ ํ๋ ์ด
|
|
75
|
+
- **๋์ฆ**:
|
|
76
|
+
- ํด๋์ CRT ํํฐ ๋๋ ํฝ์
์ํธ ๋ฏธํ
|
|
77
|
+
- ๋จ์ํ๊ณ "์์ํ" ๊ฒ์ํ๋ ์ด
|
|
78
|
+
- ๊ฒ์ํจ๋/์ปจํธ๋กค๋ฌ ์ง์
|
|
79
|
+
- **๋ถ๋ง**: ๊ณผ๋ํ๊ฒ ํ๋์ ์ธ "ํ๋ คํ" ํจ๊ณผ, ์์ก๊ฒฐ์
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ๐ ์ ์ฌ ํ๋ก์ ํธ ์ฌ๋ก (Gemini ์กฐ์ฌ)
|
|
84
|
+
|
|
85
|
+
### 1. Google Snake (๊ฒ์ ์ด์คํฐ์๊ทธ)
|
|
86
|
+
- **ํน์ง**: "์ ๊ทผ ๊ฐ๋ฅํ" ์ค๋ค์ดํฌ์ ํ์ค
|
|
87
|
+
- **ํต์ฌ ๊ธฐ๋ฅ**: ํ ๊ธ ๊ฐ๋ฅํ ๋ชจ๋ (์๋, ํฌํธ, ํํ ๋ชจ๋)
|
|
88
|
+
|
|
89
|
+
### 2. Slither.io
|
|
90
|
+
- **ํน์ง**: "ํ๋ ๋ฉํฐํ๋ ์ด์ด" ์๋ ์ ์
|
|
91
|
+
- **ํต์ฌ ๊ธฐ๋ฅ**: ๋ง์ฐ์ค ๋ฐ๋ผ๊ฐ๊ธฐ (์๋ ๋ก๊ทธ), "์ฐจ๋จ" ๋ฉ์นด๋
|
|
92
|
+
|
|
93
|
+
### 3. Classic Nokia Snake (Snake II)
|
|
94
|
+
- **ํน์ง**: ์ฅ๋ฅด์ ๊ธฐ์ด
|
|
95
|
+
- **ํต์ฌ ๊ธฐ๋ฅ**: ๋จ์, ๊ทธ๋ฆฌ๋ ๊ธฐ๋ฐ, ๋ฒฝ ๋ฉ์ด๋ผ์ด๋ ์ต์
|
|
96
|
+
|
|
97
|
+
### 4. React-Snake (GitHub Topics)
|
|
98
|
+
- **๊ณตํต ๊ธฐ์ ์คํ ํจํด**:
|
|
99
|
+
- `useInterval` ํ
์ผ๋ก ๊ฒ์ ๋ฃจํ
|
|
100
|
+
- ์ขํ ๋ฐฐ์ด `[{x,y}, {x,y}]`๋ก ๋ฑ ๋ชธํต
|
|
101
|
+
- CSS Grid (์ฌ์) vs HTML5 Canvas (์ฑ๋ฅ ์ข์)
|
|
102
|
+
- Redux/Zustand๋ก ํ์ด์ค์ฝ์ด ๊ด๋ฆฌ
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## ๐ฏ MVP ๊ถ์ฅ์ฌํญ (Gemini ์ ์)
|
|
107
|
+
|
|
108
|
+
**ํ๋ฅด์๋ A (The Commuter)**์ **ํ๋ฅด์๋ B (The Competitive)**๋ฅผ ์ผ๋์ ๋๊ณ :
|
|
109
|
+
|
|
110
|
+
### ๊ธฐ์ ์คํ
|
|
111
|
+
- **๋ ๋๋ง**: React + Canvas (๋ชจ๋ฐ์ผ ์ฑ๋ฅ ์ฐ์ )
|
|
112
|
+
- **์
๋ ฅ**: ํค๋ณด๋ (Arrow/WASD) + ๋ชจ๋ฐ์ผ ์ค์์ดํ
|
|
113
|
+
|
|
114
|
+
### MVP ๊ธฐ๋ฅ ์ธํธ
|
|
115
|
+
- [x] ํด๋์ ๋ฌดํ ๋ชจ๋
|
|
116
|
+
- [x] LocalStorage์ ํ์ด์ค์ฝ์ด ์ ์ฅ
|
|
117
|
+
- [x] 3๋จ๊ณ ์๋ (๋๋ฆผ, ๋ณดํต, ๋น ๋ฆ)
|
|
118
|
+
- [x] "์ฆ์ ์ฌ์์" (ํ ๋ฒ ๋ ์๋ ๋ฃจํ)
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## ๐ ์ต์ข
์ฐ์ ์์ ๋งคํธ๋ฆญ์ค
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
๋์ ๊ฐ์น
|
|
126
|
+
โ
|
|
127
|
+
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
|
|
128
|
+
โ Combo System โ ๊ธฐ๋ณธ ์กฐ์ โ
|
|
129
|
+
โ Portal Edges โ ๋จน์ด ์์คํ
โ
|
|
130
|
+
โ ๋ ๋ฒจ ์์คํ
โ ์ถฉ๋ ๊ฐ์ง โ
|
|
131
|
+
โ โ ์ ์ ์์คํ
โ
|
|
132
|
+
์ ์ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ ๋ง์
|
|
133
|
+
๋
ธ๋ ฅ โ โ ๊ฒ์ ์ฌ์์ โ ๋
ธ๋ ฅ
|
|
134
|
+
โ ์ผ์์ ์ง โ โ
|
|
135
|
+
โ ํ์ด์ค์ฝ์ด ์ ์ฅ โ Different Food โ
|
|
136
|
+
โ โ Ghost Mode โ
|
|
137
|
+
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
|
|
138
|
+
โ
|
|
139
|
+
๋ฎ์ ๊ฐ์น
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## โ
๋ธ๋ ์ธ์คํ ๋ฐ ์๋ฃ ์ฒดํฌ๋ฆฌ์คํธ
|
|
145
|
+
|
|
146
|
+
- [x] ์ต์ 10๊ฐ ์์ด๋์ด ์์ฑ (12๊ฐ ์๋ฃ)
|
|
147
|
+
- [x] 3๊ฐ ์ด์ ์ฌ์ฉ์ ํ๋ฅด์๋ ์ ์ (3๊ฐ ์๋ฃ)
|
|
148
|
+
- [x] ๊ฐ ์์ด๋์ด ์ฅ๋จ์ ๋ถ์
|
|
149
|
+
- [x] ์ ์ฌ ํ๋ก์ ํธ ์กฐ์ฌ
|
|
150
|
+
- [x] MVP ๋ฒ์ ์ ์
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## ๐ AI ํธ์ถ ๊ธฐ๋ก
|
|
155
|
+
|
|
156
|
+
| AI | ํธ์ถ ์๊ฐ | ํ๋กฌํํธ | ๊ฒฐ๊ณผ | ์ํ |
|
|
157
|
+
|----|----------|---------|------|------|
|
|
158
|
+
| Gemini | 2026-01-21 11:58 | Snake Game ๋ธ๋ ์ธ์คํ ๋ฐ | 12๊ฐ ์์ด๋์ด, 3 ํ๋ฅด์๋, ์ฌ๋ก ์กฐ์ฌ | โ
์ฑ๊ณต |
|
|
159
|
+
| ClaudeCode | 2026-01-21 11:57 | ๊ฒฐ๊ณผ ๊ตฌ์กฐํ | ideas.md ์์ฑ | โ
์ฑ๊ณต |
|