@wooojin/forgen 0.2.1 โ 0.3.1
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/CHANGELOG.md +76 -0
- package/README.ko.md +25 -14
- package/README.md +61 -17
- package/agents/analyst.md +48 -4
- package/agents/architect.md +39 -4
- package/agents/code-reviewer.md +107 -77
- package/agents/critic.md +47 -4
- package/agents/debugger.md +46 -4
- package/agents/designer.md +40 -4
- package/agents/executor.md +112 -30
- package/agents/explore.md +45 -5
- package/agents/git-master.md +48 -4
- package/agents/planner.md +121 -18
- package/agents/solution-evolver.md +115 -0
- package/agents/test-engineer.md +58 -4
- package/agents/verifier.md +92 -77
- package/commands/architecture-decision.md +127 -258
- package/commands/calibrate.md +225 -0
- package/commands/code-review.md +163 -178
- package/commands/compound.md +127 -68
- package/commands/deep-interview.md +212 -110
- package/commands/docker.md +68 -178
- package/commands/forge-loop.md +215 -0
- package/commands/learn.md +231 -0
- package/commands/retro.md +215 -0
- package/commands/ship.md +277 -0
- package/dist/cli.js +25 -9
- package/dist/core/auto-compound-runner.js +14 -0
- package/dist/core/config-injector.d.ts +2 -1
- package/dist/core/config-injector.js +2 -1
- package/dist/core/dashboard.d.ts +17 -0
- package/dist/core/dashboard.js +158 -2
- package/dist/core/harness.d.ts +6 -1
- package/dist/core/harness.js +75 -19
- package/dist/core/paths.d.ts +31 -1
- package/dist/core/paths.js +43 -2
- package/dist/core/spawn.d.ts +3 -2
- package/dist/core/spawn.js +27 -8
- package/dist/core/types.d.ts +34 -0
- package/dist/engine/compound-lifecycle.d.ts +4 -3
- package/dist/engine/compound-lifecycle.js +91 -46
- package/dist/engine/learn-cli.d.ts +1 -0
- package/dist/engine/learn-cli.js +182 -0
- package/dist/engine/meta-learning/adaptive-thresholds.d.ts +20 -0
- package/dist/engine/meta-learning/adaptive-thresholds.js +126 -0
- package/dist/engine/meta-learning/extraction-tuner.d.ts +15 -0
- package/dist/engine/meta-learning/extraction-tuner.js +99 -0
- package/dist/engine/meta-learning/matcher-weight-tuner.d.ts +21 -0
- package/dist/engine/meta-learning/matcher-weight-tuner.js +151 -0
- package/dist/engine/meta-learning/runner.d.ts +14 -0
- package/dist/engine/meta-learning/runner.js +90 -0
- package/dist/engine/meta-learning/scope-promoter.d.ts +21 -0
- package/dist/engine/meta-learning/scope-promoter.js +84 -0
- package/dist/engine/meta-learning/session-quality-scorer.d.ts +61 -0
- package/dist/engine/meta-learning/session-quality-scorer.js +166 -0
- package/dist/engine/meta-learning/types.d.ts +114 -0
- package/dist/engine/meta-learning/types.js +43 -0
- package/dist/engine/solution-candidate.d.ts +30 -0
- package/dist/engine/solution-candidate.js +124 -0
- package/dist/engine/solution-fitness.d.ts +52 -0
- package/dist/engine/solution-fitness.js +95 -0
- package/dist/engine/solution-fixup.d.ts +30 -0
- package/dist/engine/solution-fixup.js +116 -0
- package/dist/engine/solution-format.d.ts +10 -2
- package/dist/engine/solution-format.js +287 -57
- package/dist/engine/solution-index.d.ts +1 -1
- package/dist/engine/solution-index.js +10 -0
- package/dist/engine/solution-matcher.d.ts +7 -1
- package/dist/engine/solution-matcher.js +137 -37
- package/dist/engine/solution-outcomes.d.ts +70 -0
- package/dist/engine/solution-outcomes.js +242 -0
- package/dist/engine/solution-quarantine.d.ts +36 -0
- package/dist/engine/solution-quarantine.js +172 -0
- package/dist/engine/solution-weakness.d.ts +45 -0
- package/dist/engine/solution-weakness.js +225 -0
- package/dist/engine/solution-writer.d.ts +5 -0
- package/dist/engine/solution-writer.js +18 -0
- package/dist/fgx.js +12 -8
- package/dist/hooks/context-guard.d.ts +5 -0
- package/dist/hooks/context-guard.js +118 -2
- package/dist/hooks/hooks-generator.d.ts +3 -0
- package/dist/hooks/hooks-generator.js +23 -6
- package/dist/hooks/keyword-detector.js +16 -100
- package/dist/hooks/post-tool-failure.js +7 -0
- package/dist/hooks/skill-injector.d.ts +4 -3
- package/dist/hooks/skill-injector.js +6 -4
- package/dist/hooks/solution-injector.js +20 -0
- package/dist/host/codex-adapter.d.ts +10 -0
- package/dist/host/codex-adapter.js +154 -0
- package/dist/mcp/solution-reader.d.ts +5 -5
- package/dist/mcp/solution-reader.js +34 -24
- package/dist/mcp/tools.js +8 -0
- package/dist/services/session.d.ts +19 -0
- package/dist/services/session.js +62 -0
- package/hooks/hooks.json +2 -2
- package/package.json +2 -1
- package/skills/architecture-decision/SKILL.md +113 -257
- package/skills/calibrate/SKILL.md +207 -0
- package/skills/code-review/SKILL.md +151 -178
- package/skills/compound/SKILL.md +126 -68
- package/skills/deep-interview/SKILL.md +210 -110
- package/skills/docker/SKILL.md +57 -179
- package/skills/forge-loop/SKILL.md +198 -0
- package/skills/learn/SKILL.md +216 -0
- package/skills/retro/SKILL.md +199 -0
- package/skills/ship/SKILL.md +259 -0
- package/agents/code-simplifier.md +0 -197
- package/agents/performance-reviewer.md +0 -172
- package/agents/qa-tester.md +0 -158
- package/agents/refactoring-expert.md +0 -168
- package/agents/scientist.md +0 -144
- package/agents/security-reviewer.md +0 -137
- package/agents/writer.md +0 -184
- package/commands/api-design.md +0 -268
- package/commands/ci-cd.md +0 -270
- package/commands/database.md +0 -263
- package/commands/debug-detective.md +0 -99
- package/commands/documentation.md +0 -276
- package/commands/ecomode.md +0 -51
- package/commands/frontend.md +0 -271
- package/commands/git-master.md +0 -90
- package/commands/incident-response.md +0 -292
- package/commands/migrate.md +0 -101
- package/commands/performance.md +0 -288
- package/commands/refactor.md +0 -105
- package/commands/security-review.md +0 -288
- package/commands/specify.md +0 -128
- package/commands/tdd.md +0 -183
- package/commands/testing-strategy.md +0 -265
- package/skills/api-design/SKILL.md +0 -262
- package/skills/ci-cd/SKILL.md +0 -264
- package/skills/database/SKILL.md +0 -257
- package/skills/debug-detective/SKILL.md +0 -95
- package/skills/documentation/SKILL.md +0 -270
- package/skills/ecomode/SKILL.md +0 -46
- package/skills/frontend/SKILL.md +0 -265
- package/skills/git-master/SKILL.md +0 -86
- package/skills/incident-response/SKILL.md +0 -286
- package/skills/migrate/SKILL.md +0 -96
- package/skills/performance/SKILL.md +0 -282
- package/skills/refactor/SKILL.md +0 -100
- package/skills/security-review/SKILL.md +0 -282
- package/skills/specify/SKILL.md +0 -122
- package/skills/tdd/SKILL.md +0 -178
- package/skills/testing-strategy/SKILL.md +0 -260
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: documentation
|
|
3
|
-
description: This skill should be used when the user asks to "documentation,๋ฌธ์ํ,docs,๊ธฐ์ ๋ฌธ์,readme,API docs". Technical documentation writing with audience analysis and structured content
|
|
4
|
-
triggers:
|
|
5
|
-
- "documentation"
|
|
6
|
-
- "๋ฌธ์ํ"
|
|
7
|
-
- "docs"
|
|
8
|
-
- "๊ธฐ์ ๋ฌธ์"
|
|
9
|
-
- "readme"
|
|
10
|
-
- "API docs"
|
|
11
|
-
---
|
|
12
|
-
<!-- forgen-managed -->
|
|
13
|
-
|
|
14
|
-
<Purpose>
|
|
15
|
-
๊ธฐ์ ๋ฌธ์๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์์ฑํฉ๋๋ค.
|
|
16
|
-
๋์ ๋
์ ๋ถ์, ์ ๋ณด ๊ตฌ์กฐ ์ค๊ณ, ์ด์ ์์ฑ, ๋ฆฌ๋ทฐ, ๋ฐฐํฌ๊น์ง
|
|
17
|
-
๊ธฐ์ ๋ฌธ์์ ์ ์ฒด ๋ผ์ดํ์ฌ์ดํด์ ๋ค๋ฃน๋๋ค.
|
|
18
|
-
</Purpose>
|
|
19
|
-
|
|
20
|
-
<Steps>
|
|
21
|
-
1. **๋์ ๋
์ ๋ถ์**: ๋ฌธ์๋ฅผ ์ฝ์ ์ฌ๋์ ํ์
ํฉ๋๋ค
|
|
22
|
-
- ๋
์์ ๊ธฐ์ ์์ค (์ด๊ธ/์ค๊ธ/๊ณ ๊ธ)
|
|
23
|
-
- ๋
์์ ์ญํ (๊ฐ๋ฐ์, DevOps, PM, ์ต์ข
์ฌ์ฉ์)
|
|
24
|
-
- ๋
์๊ฐ ๋ฌ์ฑํ๋ ค๋ ๋ชฉํ (์ค์น, ํตํฉ, ํธ๋ฌ๋ธ์ํ
)
|
|
25
|
-
- ์ฌ์ ์ง์ ๊ฐ์ (ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ํ๋ ์์ํฌ, ๋๋ฉ์ธ)
|
|
26
|
-
- ๋ฌธ์ ์ ๊ทผ ๋งฅ๋ฝ (์ฒ์ ์ฌ์ฉ vs ์ฐธ์กฐ vs ๋ฌธ์ ํด๊ฒฐ)
|
|
27
|
-
|
|
28
|
-
2. **์ ๋ณด ๊ตฌ์กฐ ์ค๊ณ**: ๋ฌธ์์ ๋ผ๋๋ฅผ ๊ตฌ์ฑํฉ๋๋ค
|
|
29
|
-
- ๋ฌธ์ ์ ํ ๊ฒฐ์ :
|
|
30
|
-
* Tutorial (ํ์ต ์งํฅ) -- "์ด๋ ๊ฒ ํด๋ณด์ธ์"
|
|
31
|
-
* How-to Guide (๋ชฉํ ์งํฅ) -- "์ด๋ ๊ฒ ํ๋ฉด ๋ฉ๋๋ค"
|
|
32
|
-
* Reference (์ ๋ณด ์งํฅ) -- "์ด๊ฒ์ ์ด๋ ์ต๋๋ค"
|
|
33
|
-
* Explanation (์ดํด ์งํฅ) -- "์ด๊ฒ์ด ์ ์ด๋ ๊ฒ ๋์ํฉ๋๋ค"
|
|
34
|
-
- ๋ชฉ์ฐจ(TOC) ์ด์ ์์ฑ
|
|
35
|
-
- ์น์
๋ณ ๊น์ด์ ๋ฒ์ ๊ฒฐ์
|
|
36
|
-
- ๋ค๋น๊ฒ์ด์
๊ตฌ์กฐ (์ ํ vs ๋น์ ํ)
|
|
37
|
-
- ์ฐ๊ด ๋ฌธ์ ๋งํฌ ๋งต
|
|
38
|
-
|
|
39
|
-
3. **์ด์ ์์ฑ**: ๋ด์ฉ์ ์ฑ์๋ฃ์ต๋๋ค
|
|
40
|
-
- ๋ช
ํํ ์ ๋ชฉ๊ณผ ๋ถ์ (์ค์บ ๊ฐ๋ฅ)
|
|
41
|
-
- ๊ฐ ์น์
์ฒซ ๋ฌธ์ฅ์ ํต์ฌ ๋ด์ฉ (์ญํผ๋ผ๋ฏธ๋ ๊ตฌ์กฐ)
|
|
42
|
-
- ์ฝ๋ ์์ (๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ ๊ฐ๋ฅ, ์คํ ๊ฐ๋ฅ)
|
|
43
|
-
- ๋จ๊ณ๋ณ ์ ์ฐจ (๋ฒํธ ๋งค๊ธฐ๊ธฐ, ๊ฒ์ฆ ๋จ๊ณ ํฌํจ)
|
|
44
|
-
- ์๊ฐ์ ๋ณด์กฐ ์๋ฃ (๋ค์ด์ด๊ทธ๋จ, ์คํฌ๋ฆฐ์ท, ํ)
|
|
45
|
-
- ์ฃผ์ ์ฌํญ ํ์ (Note, Warning, Caution, Tip)
|
|
46
|
-
- ์ฉ์ด ์ผ๊ด์ฑ ์ ์ง (์ฉ์ด์ง ์ฐธ์กฐ)
|
|
47
|
-
- ๋ค๊ตญ์ด ๊ณ ๋ ค (์์ด + ํ๊ตญ์ด ๋ณํ ์ฌ๋ถ)
|
|
48
|
-
|
|
49
|
-
4. **๋ฆฌ๋ทฐ ๋ฐ ๊ฒ์ฆ**: ๋ฌธ์ ํ์ง์ ํ์ธํฉ๋๋ค
|
|
50
|
-
- ๊ธฐ์ ์ ์ ํ์ฑ -- ์ฝ๋ ์์ ์คํ ํ์ธ
|
|
51
|
-
- ์์ ์ฑ -- ๋๋ฝ๋ ๋จ๊ณ๋ ์ ๋ณด ํ์ธ
|
|
52
|
-
- ๋ช
ํ์ฑ -- ๋ชจํธํ ํํ, ์ ๋ฌธ ์ฉ์ด ๊ณผ๋ค ์ฌ์ฉ ์ ๊ฒ
|
|
53
|
-
- ์ผ๊ด์ฑ -- ์ฉ์ด, ํฌ๋งท, ์คํ์ผ ํต์ผ
|
|
54
|
-
- ์ ๊ทผ์ฑ -- ์คํฌ๋ฆฐ ๋ฆฌ๋ ํธํ, ๋์ฒด ํ
์คํธ
|
|
55
|
-
- ๊ฒ์ ๊ฐ๋ฅ์ฑ -- ํต์ฌ ํค์๋๊ฐ ์ ์ ํ ํฌํจ
|
|
56
|
-
|
|
57
|
-
5. **๋ฐฐํฌ ๋ฐ ์ ์ง๋ณด์**: ๋ฌธ์๋ฅผ ๊ณต๊ฐํ๊ณ ๊ด๋ฆฌํฉ๋๋ค
|
|
58
|
-
- ๋ฐฐํฌ ์ฑ๋ ๊ฒฐ์ (GitHub Pages, Docusaurus, Notion)
|
|
59
|
-
- ๋ฒ์ ๊ด๋ฆฌ (๋ฌธ์ ๋ฒ์ = ์ํํธ์จ์ด ๋ฒ์ )
|
|
60
|
-
- ํผ๋๋ฐฑ ์์ง ์ฒด๊ณ (์ด์, ์ฝ๋ฉํธ, ๋ถ์)
|
|
61
|
-
- ์ ๊ธฐ ๋ฆฌ๋ทฐ ์ผ์ ์ค์
|
|
62
|
-
- ํ๊ธฐ(deprecation) ์ ์ฐจ
|
|
63
|
-
</Steps>
|
|
64
|
-
|
|
65
|
-
## ์์ด์ ํธ ์์
|
|
66
|
-
|
|
67
|
-
`writer` ์์ด์ ํธ(Haiku ๋ชจ๋ธ)์ ์์ํ์ฌ ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค:
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
Agent(
|
|
71
|
-
subagent_type="writer",
|
|
72
|
-
model="haiku",
|
|
73
|
-
prompt="DOCUMENTATION TASK
|
|
74
|
-
|
|
75
|
-
๊ธฐ์ ๋ฌธ์๋ฅผ ์์ฑํ์ธ์.
|
|
76
|
-
|
|
77
|
-
Subject: [๋ฌธ์ํ ๋์]
|
|
78
|
-
Audience: [๋์ ๋
์]
|
|
79
|
-
Type: [Tutorial / How-to / Reference / Explanation]
|
|
80
|
-
|
|
81
|
-
Writing Checklist:
|
|
82
|
-
1. ๋์ ๋
์ ์์ค์ ๋ง๋ ์ด์กฐ ์ฌ์ฉ
|
|
83
|
-
2. ์คํ ๊ฐ๋ฅํ ์ฝ๋ ์์ ํฌํจ
|
|
84
|
-
3. ๋จ๊ณ๋ณ ์ ์ฐจ์ ๊ฒ์ฆ ๋จ๊ณ ํฌํจ
|
|
85
|
-
4. ์๊ฐ์ ๋ณด์กฐ ์๋ฃ ํ์ฉ (ํ, ๋ค์ด์ด๊ทธ๋จ)
|
|
86
|
-
5. ์ฉ์ด ์ผ๊ด์ฑ ์ ์ง
|
|
87
|
-
|
|
88
|
-
Output: ์์ฑ๋ ๊ธฐ์ ๋ฌธ์:
|
|
89
|
-
- ๋ชฉ์ฐจ
|
|
90
|
-
- ์น์
๋ณ ๋ด์ฉ
|
|
91
|
-
- ์ฝ๋ ์์
|
|
92
|
-
- ์ฃผ์ ์ฌํญ
|
|
93
|
-
- ๊ด๋ จ ๋ฌธ์ ๋งํฌ"
|
|
94
|
-
)
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## External Consultation (Optional)
|
|
98
|
-
|
|
99
|
-
writer ์์ด์ ํธ๋ ๊ต์ฐจ ๊ฒ์ฆ์ ์ํด Claude Task ์์ด์ ํธ์ ์๋ฌธํ ์ ์์ต๋๋ค.
|
|
100
|
-
|
|
101
|
-
### Protocol
|
|
102
|
-
1. **์์ฒด ๋ฌธ์ ์ด์์ ๋จผ์ ์๋ฃ** -- ๋
๋ฆฝ์ ์ผ๋ก ์์ฑ
|
|
103
|
-
2. **๊ฒ์ฆ์ ์ํ ์๋ฌธ** -- Claude Task ์์ด์ ํธ๋ฅผ ํตํด ๊ธฐ์ ์ ํ์ฑ ๊ต์ฐจ ํ์ธ
|
|
104
|
-
3. **๋นํ์ ํ๊ฐ** -- ์ธ๋ถ ์ ์์ ๋งน๋ชฉ์ ์ผ๋ก ์์ฉํ์ง ์์
|
|
105
|
-
4. **์ฐ์ํ ํด๋ฐฑ** -- ์์์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ๋ ์ฐจ๋จํ์ง ์์
|
|
106
|
-
|
|
107
|
-
### ์๋ฌธ์ด ํ์ํ ๊ฒฝ์ฐ
|
|
108
|
-
- ๊ณต๊ฐ API ๋ฌธ์ (์ธ๋ถ ๊ฐ๋ฐ์ ๋์)
|
|
109
|
-
- ์ํคํ
์ฒ ์ค๋ช
๋ฌธ์
|
|
110
|
-
- ๋ณต์กํ ํตํฉ ๊ฐ์ด๋
|
|
111
|
-
- ๋ค๊ตญ์ด ๋ฌธ์
|
|
112
|
-
|
|
113
|
-
### ์๋ฌธ์ ์๋ตํ๋ ๊ฒฝ์ฐ
|
|
114
|
-
- ๋ด๋ถ README ์
๋ฐ์ดํธ
|
|
115
|
-
- ๊ฐ๋จํ ์ค์น ๊ฐ์ด๋
|
|
116
|
-
- ์ธ๋ผ์ธ ์ฝ๋ ๋ฌธ์ (JSDoc, TSDoc)
|
|
117
|
-
- ๋ณ๊ฒฝ ์ด๋ ฅ (CHANGELOG)
|
|
118
|
-
|
|
119
|
-
## ๋ฌธ์ ์ ํ ๊ฐ์ด๋
|
|
120
|
-
|
|
121
|
-
| ์ ํ | ๋ชฉ์ | ๊ตฌ์กฐ | ์์ |
|
|
122
|
-
|------|------|------|------|
|
|
123
|
-
| **Tutorial** | ํ์ต | ๋จ๊ณ๋ณ ์งํ | "์ฒซ ๋ฒ์งธ ์ฑ ๋ง๋ค๊ธฐ" |
|
|
124
|
-
| **How-to** | ๋ฌธ์ ํด๊ฒฐ | ๋ชฉํ โ ๋จ๊ณ โ ๊ฒฐ๊ณผ | "์ธ์ฆ ์ถ๊ฐํ๊ธฐ" |
|
|
125
|
-
| **Reference** | ์ ๋ณด ์กฐํ | ์ํ๋ฒณ/์นดํ
๊ณ ๋ฆฌ ์ ๋ ฌ | "API ๋ ํผ๋ฐ์ค" |
|
|
126
|
-
| **Explanation** | ์ดํด | ๋ฐฐ๊ฒฝ โ ์์ธ โ ๊ฒฐ๊ณผ | "์ธ์ฆ ๊ตฌ์กฐ ์ดํดํ๊ธฐ" |
|
|
127
|
-
|
|
128
|
-
## ๋ฌธ์ ํ์ง ์ฒดํฌ๋ฆฌ์คํธ
|
|
129
|
-
|
|
130
|
-
### ๋ด์ฉ (5๊ฐ)
|
|
131
|
-
- [ ] ๊ธฐ์ ์ ์ผ๋ก ์ ํํจ (์ฝ๋ ์์ ์คํ ํ์ธ)
|
|
132
|
-
- [ ] ๋์ ๋
์ ์์ค์ ์ ํฉ
|
|
133
|
-
- [ ] ๋ชจ๋ ํ์ ๋จ๊ณ๊ฐ ํฌํจ๋จ
|
|
134
|
-
- [ ] ์ฌ์ ์กฐ๊ฑด(prerequisites)์ด ๋ช
์๋จ
|
|
135
|
-
- [ ] ์ฝ๋ ์์๊ฐ ๋ณต์ฌ-์คํ ๊ฐ๋ฅ
|
|
136
|
-
|
|
137
|
-
### ๊ตฌ์กฐ (4๊ฐ)
|
|
138
|
-
- [ ] ๋ชฉ์ฐจ๊ฐ ๋
ผ๋ฆฌ์ ์ผ๋ก ๊ตฌ์ฑ๋จ
|
|
139
|
-
- [ ] ์ ๋ชฉ์ด ๋ด์ฉ์ ์ ํํ ์ค๋ช
|
|
140
|
-
- [ ] ์ค์บ์ด ๊ฐ๋ฅํ ํ์ (์งง์ ๋จ๋ฝ, ๋ชฉ๋ก, ํ)
|
|
141
|
-
- [ ] ๊ด๋ จ ๋ฌธ์์ ๋ํ ๋งํฌ ํฌํจ
|
|
142
|
-
|
|
143
|
-
### ์คํ์ผ (4๊ฐ)
|
|
144
|
-
- [ ] ์ผ๊ด๋ ์ฉ์ด ์ฌ์ฉ
|
|
145
|
-
- [ ] ๋ฅ๋ํ ์ฌ์ฉ (์๋ํ ์ต์ํ)
|
|
146
|
-
- [ ] ๋ถํ์ํ ์ ๋ฌธ ์ฉ์ด ์์ (์์ผ๋ฉด ์ค๋ช
ํฌํจ)
|
|
147
|
-
- [ ] Note/Warning/Tip์ด ์ ์ ํ ์ฌ์ฉ๋จ
|
|
148
|
-
|
|
149
|
-
### ์ ๊ทผ์ฑ (3๊ฐ)
|
|
150
|
-
- [ ] ์ด๋ฏธ์ง์ ๋์ฒด ํ
์คํธ ์ ๊ณต
|
|
151
|
-
- [ ] ์ฝ๋ ๋ธ๋ก์ ์ธ์ด ํ๊ทธ ๋ช
์
|
|
152
|
-
- [ ] ์์์ผ๋ก๋ง ์ ๋ณด๋ฅผ ์ ๋ฌํ์ง ์์
|
|
153
|
-
|
|
154
|
-
## ์์ฑ ์์น
|
|
155
|
-
|
|
156
|
-
| ์์น | ๋์ ์ | ์ข์ ์ |
|
|
157
|
-
|------|---------|---------|
|
|
158
|
-
| **๊ตฌ์ฒด์ ** | "์ค์ ์ ๋ณ๊ฒฝํฉ๋๋ค" | "`config.json`์ `port` ๊ฐ์ `3000`์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค" |
|
|
159
|
-
| **๋ฅ๋ํ** | "ํ์ผ์ด ์์ฑ๋ฉ๋๋ค" | "์ด ๋ช
๋ น์ด ํ์ผ์ ์์ฑํฉ๋๋ค" |
|
|
160
|
-
| **๊ฒ์ฆ ํฌํจ** | "์คํํฉ๋๋ค" | "์คํํฉ๋๋ค. `Started on port 3000` ๋ฉ์์ง๊ฐ ๋ณด์ด๋ฉด ์ฑ๊ณต์
๋๋ค" |
|
|
161
|
-
| **์ด์ ์ค๋ช
** | "์บ์๋ฅผ ๋น์๋๋ค" | "์ด์ ๋น๋ ์ํฐํฉํธ๊ฐ ๊ฐ์ญํ ์ ์์ผ๋ฏ๋ก ์บ์๋ฅผ ๋น์๋๋ค" |
|
|
162
|
-
|
|
163
|
-
<Output>
|
|
164
|
-
```
|
|
165
|
-
DOCUMENTATION PLAN / ๋ฌธ์ํ ๊ณํ
|
|
166
|
-
==================================
|
|
167
|
-
|
|
168
|
-
Subject: [๋ฌธ์ํ ๋์]
|
|
169
|
-
Type: [Tutorial / How-to / Reference / Explanation]
|
|
170
|
-
Audience: [๋์ ๋
์] ([๊ธฐ์ ์์ค])
|
|
171
|
-
|
|
172
|
-
TABLE OF CONTENTS / ๋ชฉ์ฐจ
|
|
173
|
-
--------------------------
|
|
174
|
-
1. ๊ฐ์
|
|
175
|
-
- ์ด ๋ฌธ์์ ๋ชฉ์
|
|
176
|
-
- ์ฌ์ ์กฐ๊ฑด
|
|
177
|
-
2. [ํต์ฌ ์น์
1]
|
|
178
|
-
- [ํ์ ํญ๋ชฉ]
|
|
179
|
-
3. [ํต์ฌ ์น์
2]
|
|
180
|
-
4. ํธ๋ฌ๋ธ์ํ
|
|
181
|
-
5. ๋ค์ ๋จ๊ณ
|
|
182
|
-
6. ๊ด๋ จ ๋ฌธ์
|
|
183
|
-
|
|
184
|
-
CONTENT / ๋ด์ฉ
|
|
185
|
-
---------------
|
|
186
|
-
## 1. ๊ฐ์
|
|
187
|
-
|
|
188
|
-
[๊ฐ๊ฒฐํ ์ค๋ช
-- ์ด ๋ฌธ์๋ฅผ ์ฝ์ผ๋ฉด ๋ฌด์์ ํ ์ ์๋์ง]
|
|
189
|
-
|
|
190
|
-
### ์ฌ์ ์กฐ๊ฑด
|
|
191
|
-
- [ํ์ํ ๋๊ตฌ/์ง์ 1]
|
|
192
|
-
- [ํ์ํ ๋๊ตฌ/์ง์ 2]
|
|
193
|
-
|
|
194
|
-
## 2. [ํต์ฌ ์น์
]
|
|
195
|
-
|
|
196
|
-
### ๋จ๊ณ 1: [๋์]
|
|
197
|
-
|
|
198
|
-
[์ ์ด ๋จ๊ณ๊ฐ ํ์ํ์ง ํ ์ค ์ค๋ช
]
|
|
199
|
-
|
|
200
|
-
```bash
|
|
201
|
-
npm install @example/sdk
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
> **Tip:** [์ ์ฉํ ์ถ๊ฐ ์ ๋ณด]
|
|
205
|
-
|
|
206
|
-
### ๊ฒ์ฆ
|
|
207
|
-
[์ฑ๊ณต ์ ๋ณด์ด๋ ๊ฒฐ๊ณผ ์ค๋ช
]
|
|
208
|
-
|
|
209
|
-
## ํธ๋ฌ๋ธ์ํ
|
|
210
|
-
|
|
211
|
-
| ๋ฌธ์ | ์์ธ | ํด๊ฒฐ |
|
|
212
|
-
|------|------|------|
|
|
213
|
-
| [์๋ฌ ๋ฉ์์ง] | [์์ธ] | [ํด๊ฒฐ ๋ฐฉ๋ฒ] |
|
|
214
|
-
|
|
215
|
-
REVIEW STATUS / ๋ฆฌ๋ทฐ ์ํ
|
|
216
|
-
----------------------------
|
|
217
|
-
- [ ] ๊ธฐ์ ์ ํ์ฑ ๊ฒ์ฆ
|
|
218
|
-
- [ ] ์ฝ๋ ์์ ์คํ ํ์ธ
|
|
219
|
-
- [ ] ์ฉ์ด ์ผ๊ด์ฑ ํ์ธ
|
|
220
|
-
- [ ] ์ ๊ทผ์ฑ ๊ฒํ
|
|
221
|
-
```
|
|
222
|
-
</Output>
|
|
223
|
-
|
|
224
|
-
<Policy>
|
|
225
|
-
- ์ฝ๋ ์์๋ ๋ฐ๋์ ์คํ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค (๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ๋ก ๋์)
|
|
226
|
-
- ๋ชจ๋ ๋จ๊ณ์ ๊ฒ์ฆ ๋ฐฉ๋ฒ์ ํฌํจํฉ๋๋ค ("์ด๋ ๊ฒ ๋ณด์ด๋ฉด ์ฑ๊ณต")
|
|
227
|
-
- ๋
์๋ฅผ ๊ฐ์ ํ์ง ์์ต๋๋ค -- ์ฌ์ ์กฐ๊ฑด์ ๋ช
์ํฉ๋๋ค
|
|
228
|
-
- ์ฉ์ด๋ ํ๋ก์ ํธ ์ ์ฒด์์ ์ผ๊ด๋๊ฒ ์ฌ์ฉํฉ๋๋ค
|
|
229
|
-
- ๋ฌธ์๋ ์ํํธ์จ์ด์ ํจ๊ป ๋ฒ์ ๊ด๋ฆฌํฉ๋๋ค
|
|
230
|
-
- ์ต์ 1๋ช
์ ๊ธฐ์ ๋ฆฌ๋ทฐ์ด๋ฅผ ๊ฑฐ์น ํ ๋ฐฐํฌํฉ๋๋ค
|
|
231
|
-
</Policy>
|
|
232
|
-
|
|
233
|
-
## ๋ค๋ฅธ ์คํฌ๊ณผ์ ์ฐ๋
|
|
234
|
-
|
|
235
|
-
**API ์ค๊ณ ์ฐ๋:**
|
|
236
|
-
```
|
|
237
|
-
/forgen:api-design OpenAPI ์คํค๋ง ๊ธฐ๋ฐ ๋ฌธ์
|
|
238
|
-
```
|
|
239
|
-
API ์ค๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฌธ์ํ
|
|
240
|
-
|
|
241
|
-
**์ํคํ
์ฒ ๊ฒฐ์ ์ฐ๋:**
|
|
242
|
-
```
|
|
243
|
-
/forgen:architecture-decision ADR ๋ฌธ์ํ
|
|
244
|
-
```
|
|
245
|
-
์ํคํ
์ฒ ๊ฒฐ์ ๊ธฐ๋ก ๋ฌธ์ํ
|
|
246
|
-
|
|
247
|
-
**์ฝ๋ ๋ฆฌ๋ทฐ ์ฐ๋:**
|
|
248
|
-
```
|
|
249
|
-
/forgen:code-review ๋ฌธ์ ์ฝ๋ ์์
|
|
250
|
-
```
|
|
251
|
-
๋ฌธ์ ๋ด ์ฝ๋ ์์์ ์ ํ์ฑ ๊ฒ์ฆ
|
|
252
|
-
|
|
253
|
-
## Best Practices
|
|
254
|
-
|
|
255
|
-
- **๋
์ ์ค์ฌ** -- ์์ ์ด ์๋ ๋
์์ ๊ด์ ์์ ์์ฑ
|
|
256
|
-
- **์คํ ๊ฐ๋ฅ** -- ๋ชจ๋ ์ฝ๋ ์์๋ ์ค์ ๋ก ๋์ํด์ผ ํจ
|
|
257
|
-
- **์ค์บ ๊ฐ๋ฅ** -- ๊ธด ํ
์คํธ๋ณด๋ค ๋ชฉ๋ก, ํ, ์ฝ๋ ๋ธ๋ก ํ์ฉ
|
|
258
|
-
- **์ต์ ์ ์ง** -- ์ฝ๋ ๋ณ๊ฒฝ ์ ๋ฌธ์๋ ํจ๊ป ์
๋ฐ์ดํธ
|
|
259
|
-
- **ํผ๋๋ฐฑ ์์ฉ** -- ๋
์ ํผ๋๋ฐฑ์ ์ ๊ทน์ ์ผ๋ก ๋ฐ์
|
|
260
|
-
|
|
261
|
-
<Arguments>
|
|
262
|
-
## ์ฌ์ฉ๋ฒ
|
|
263
|
-
`/forgen:documentation {๋ฌธ์ํ ๋์}`
|
|
264
|
-
|
|
265
|
-
### ์์
|
|
266
|
-
- `/forgen:documentation ํ๋ก์ ํธ README ์์ฑ`
|
|
267
|
-
- `/forgen:documentation API ๋ ํผ๋ฐ์ค ๋ฌธ์`
|
|
268
|
-
- `/forgen:documentation ์ค์น ๊ฐ์ด๋ (์ด๋ณด์์ฉ)`
|
|
269
|
-
- `/forgen:documentation ์ํคํ
์ฒ ์ค๋ช
๋ฌธ์`
|
|
270
|
-
|
|
271
|
-
### ์ธ์
|
|
272
|
-
- ๋ฌธ์ํํ ๋์, ๋
์, ๋ฌธ์ ์ ํ ๋ฑ์ ์ค๋ช
|
|
273
|
-
- ์ธ์ ์์ผ๋ฉด ํ๋ก์ ํธ๋ฅผ ๋ถ์ํ์ฌ ํ์ํ ๋ฌธ์๋ฅผ ์ ์
|
|
274
|
-
</Arguments>
|
|
275
|
-
|
|
276
|
-
$ARGUMENTS
|
package/commands/ecomode.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ecomode
|
|
3
|
-
description: This skill should be used when the user asks to "eco,ecomode,์ ์ฝ,๋น์ฉ์ ์ฝ". Token-saving eco mode with Haiku priority and minimal responses
|
|
4
|
-
triggers:
|
|
5
|
-
- "eco"
|
|
6
|
-
- "ecomode"
|
|
7
|
-
- "์ ์ฝ"
|
|
8
|
-
- "๋น์ฉ์ ์ฝ"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
<Purpose>
|
|
12
|
-
Compound Harness Ecomode โ ํ ํฐ ์ ์ฝ ๋ชจ๋.
|
|
13
|
-
๋น์ฉ์ ์ต์ํํ๋ฉด์ ์์
์ ์ํํฉ๋๋ค. Haiku ๋ชจ๋ธ์ ์ฐ์ ์ฌ์ฉํ๊ณ , ๊ฐ๊ฒฐํ ์๋ต์ ์งํฅํฉ๋๋ค.
|
|
14
|
-
</Purpose>
|
|
15
|
-
|
|
16
|
-
<Execution_Policy>
|
|
17
|
-
1. ๋ชจ๋ ํ์์ ์ต์ํ์ผ๋ก (Glob/Grep ์ฐ์ , Agent ์ต์ํ)
|
|
18
|
-
2. ์๋ต์ ๊ฐ๊ฒฐํ๊ฒ (๋ถํ์ํ ์ค๋ช
์๋ต)
|
|
19
|
-
3. ์ฝ๋ ๋ธ๋ก ์์ฃผ๋ก ๋ต๋ณ, ๋ถ์ฐ ์ค๋ช
์ต์ํ
|
|
20
|
-
4. ํ ๋ฒ์ ์ ํํ ์์ (๋ฐ๋ณต ์์ ํํผ)
|
|
21
|
-
5. ์์ด์ ํธ ์คํฐ ์ ์ ๋ถ Haiku ๋ชจ๋ธ ์ฌ์ฉ
|
|
22
|
-
</Execution_Policy>
|
|
23
|
-
|
|
24
|
-
<Model_Routing>
|
|
25
|
-
- ๋ชจ๋ ์์
: Haiku (๊ฐ์ )
|
|
26
|
-
- ์์ด์ ํธ ์คํฐ: Haiku (๊ฐ์ )
|
|
27
|
-
- ๋ณต์กํ ์ํคํ
์ฒ ํ๋จ์ด ํ์ํ ๊ฒฝ์ฐ์๋ง Sonnet ํ์ฉ
|
|
28
|
-
</Model_Routing>
|
|
29
|
-
|
|
30
|
-
<Constraints>
|
|
31
|
-
- Agent ๋๊ตฌ ์ฌ์ฉ ์ต์ํ (์ง์ Glob/Grep/Read๋ก ํด๊ฒฐ)
|
|
32
|
-
- ๋ถํ์ํ ํ์ผ ํ์ ๊ธ์ง (๋ชฉ์ ์ด ๋ช
ํํ ํ์๋ง)
|
|
33
|
-
- ์ฝ๋ ์ค๋ช
์ ์์ฒญ ์์๋ง ์ ๊ณต
|
|
34
|
-
- ๋ฐ๋ณต ์์ ์ ์ฆ์ ์ค๋จํ๊ณ ์ ์ฒด ๊ตฌ์กฐ ํ์
ํ ๋จ์ผ ์์
|
|
35
|
-
- ์์ด์ ํธ ์คํฐ ์ model: "haiku" ํ๋ผ๋ฏธํฐ ํ์
|
|
36
|
-
</Constraints>
|
|
37
|
-
|
|
38
|
-
<Arguments>
|
|
39
|
-
## ์ฌ์ฉ๋ฒ
|
|
40
|
-
`/forgen:ecomode {์์
๋ด์ฉ}`
|
|
41
|
-
|
|
42
|
-
### ์์
|
|
43
|
-
- `/forgen:ecomode ๋ฒ๊ทธ ์์ : login API 500 ์๋ฌ`
|
|
44
|
-
- `/forgen:ecomode ํ์
์ ์ ์ถ๊ฐ: UserProfile ์ธํฐํ์ด์ค`
|
|
45
|
-
- `eco ์ด ํจ์ ๋ฆฌํฉํ ๋งํด์ค`
|
|
46
|
-
|
|
47
|
-
### ์ธ์
|
|
48
|
-
- ๊ฐ๋จํ ์์
์ค๋ช
์ ์ ๋ฌํ๋ฉด ์ต์ ๋น์ฉ์ผ๋ก ์ฒ๋ฆฌ
|
|
49
|
-
</Arguments>
|
|
50
|
-
|
|
51
|
-
$ARGUMENTS
|
package/commands/frontend.md
DELETED
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: frontend
|
|
3
|
-
description: This skill should be used when the user asks to "frontend,ํ๋ก ํธ์๋,component,์ ๊ทผ์ฑ,accessibility,์ปดํฌ๋ํธ ์ค๊ณ". Frontend component design, accessibility audit, and responsive implementation
|
|
4
|
-
triggers:
|
|
5
|
-
- "frontend"
|
|
6
|
-
- "ํ๋ก ํธ์๋"
|
|
7
|
-
- "component"
|
|
8
|
-
- "์ ๊ทผ์ฑ"
|
|
9
|
-
- "accessibility"
|
|
10
|
-
- "์ปดํฌ๋ํธ ์ค๊ณ"
|
|
11
|
-
---
|
|
12
|
-
<!-- forgen-managed -->
|
|
13
|
-
|
|
14
|
-
<Purpose>
|
|
15
|
-
ํ๋ก ํธ์๋ ์ปดํฌ๋ํธ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ค๊ณํ๊ณ ๊ตฌํํฉ๋๋ค.
|
|
16
|
-
์ปดํฌ๋ํธ ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ, Props ์ธํฐํ์ด์ค ์ ์, ์ ๊ทผ์ฑ ๊ฐ์ฌ,
|
|
17
|
-
๋ฐ์ํ ๋ ์ด์์, ์ฑ๋ฅ ์ต์ ํ๋ฅผ ํฌํจํ ํ๋ก ํธ์๋ ๊ฐ๋ฐ ์ ์ฒด๋ฅผ ๋ค๋ฃน๋๋ค.
|
|
18
|
-
</Purpose>
|
|
19
|
-
|
|
20
|
-
<Steps>
|
|
21
|
-
1. **์ปดํฌ๋ํธ ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ**: ์ปดํฌ๋ํธ ํธ๋ฆฌ๋ฅผ ์ค๊ณํฉ๋๋ค
|
|
22
|
-
- ํ์ด์ง/๊ธฐ๋ฅ ์๊ตฌ์ฌํญ ๋ถ์
|
|
23
|
-
- Atomic Design ์์น ์ ์ฉ (Atoms โ Molecules โ Organisms โ Templates โ Pages)
|
|
24
|
-
- ์ปดํฌ๋ํธ ์ฑ
์ ๋ถ๋ฆฌ (UI vs ๋ก์ง)
|
|
25
|
-
- ๊ณต์ ์ปดํฌ๋ํธ vs ๋๋ฉ์ธ ์ปดํฌ๋ํธ ๊ตฌ๋ถ
|
|
26
|
-
- ์ปดํฌ๋ํธ ํธ๋ฆฌ ๋ค์ด์ด๊ทธ๋จ ์์ฑ
|
|
27
|
-
- ์ํ ๊ด๋ฆฌ ์์น ๊ฒฐ์ (๋ก์ปฌ vs ์ ์ญ vs ์๋ฒ)
|
|
28
|
-
- ๋ฐ์ดํฐ ํ๋ฆ ๋ฐฉํฅ ์ ์ (๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ)
|
|
29
|
-
|
|
30
|
-
2. **Props ์ธํฐํ์ด์ค ์ค๊ณ**: ์ปดํฌ๋ํธ API๋ฅผ ์ ์ํฉ๋๋ค
|
|
31
|
-
- TypeScript ์ธํฐํ์ด์ค ์ ์
|
|
32
|
-
- ํ์/์ ํ Props ๊ตฌ๋ถ
|
|
33
|
-
- ๊ธฐ๋ณธ๊ฐ ์ค์ (defaultProps ๋๋ default parameter)
|
|
34
|
-
- ์ฝ๋ฐฑ Props ๋ค์ด๋ฐ ์ปจ๋ฒค์
(onXxx, handleXxx)
|
|
35
|
-
- children ํจํด ํ์ฉ (ํฉ์ฑ ํจํด)
|
|
36
|
-
- Render Props ๋๋ Compound Component ํจํด ๊ณ ๋ ค
|
|
37
|
-
- Props ๊ณผ๋ ํ์ฐ(prop drilling) ๋ฐฉ์ง ์ ๋ต
|
|
38
|
-
- Discriminated Union ํ์
์ผ๋ก ๋ณํ(variant) ๊ด๋ฆฌ
|
|
39
|
-
|
|
40
|
-
3. **์ ๊ทผ์ฑ ๊ฐ์ฌ**: WCAG 2.1 AA ๊ธฐ์ค์ผ๋ก ์ ๊ทผ์ฑ์ ๊ฒ์ฆํฉ๋๋ค
|
|
41
|
-
- ์๋งจํฑ HTML ์ฌ์ฉ (button, nav, main, section, article)
|
|
42
|
-
- ARIA ์์ฑ ์ ์ ์ฌ์ฉ (aria-label, aria-describedby, role)
|
|
43
|
-
- ํค๋ณด๋ ๋ด๋น๊ฒ์ด์
(Tab, Enter, Escape, Arrow keys)
|
|
44
|
-
- ํฌ์ปค์ค ๊ด๋ฆฌ (ํฌ์ปค์ค ํธ๋ฉ, ํฌ์ปค์ค ๋ณต์)
|
|
45
|
-
- ์์ ๋๋น (์ต์ 4.5:1 for text, 3:1 for large text)
|
|
46
|
-
- ์คํฌ๋ฆฐ ๋ฆฌ๋ ํธํ์ฑ (๋ผ์ด๋ธ ๋ฆฌ์ , ์ํ ์๋ฆผ)
|
|
47
|
-
- ๋ชจ์
๊ฐ์ ๋์ (prefers-reduced-motion)
|
|
48
|
-
- ํฐ์น ํ๊ฒ ํฌ๊ธฐ (์ต์ 44x44px)
|
|
49
|
-
- ๋์ฒด ํ
์คํธ (์ด๋ฏธ์ง alt, ์์ด์ฝ aria-label)
|
|
50
|
-
- ํผ ์ ๊ทผ์ฑ (label ์ฐ๊ฒฐ, ์๋ฌ ๋ฉ์์ง ์ฐ๊ฒฐ)
|
|
51
|
-
|
|
52
|
-
4. **๋ฐ์ํ ๊ตฌํ**: ๋ค์ํ ํ๋ฉด ํฌ๊ธฐ๋ฅผ ์ง์ํฉ๋๋ค
|
|
53
|
-
- ๋ธ๋ ์ดํฌํฌ์ธํธ ์ ์ (mobile: 320px, tablet: 768px, desktop: 1024px+)
|
|
54
|
-
- Mobile-first ์ ๊ทผ๋ฒ ์ ์ฉ
|
|
55
|
-
- ์ ๋์ ๋ ์ด์์ (Flexbox, Grid)
|
|
56
|
-
- ๋ฐ์ํ ํ์ดํฌ๊ทธ๋ํผ (clamp, fluid type)
|
|
57
|
-
- ์ด๋ฏธ์ง ๋ฐ์ํ ์ฒ๋ฆฌ (srcset, picture, next/image)
|
|
58
|
-
- ํฐ์น/๋ง์ฐ์ค ์ธํฐ๋์
์ฐจ์ด ๋์
|
|
59
|
-
- ๊ฐ๋ก/์ธ๋ก ๋ชจ๋ ๋์
|
|
60
|
-
|
|
61
|
-
5. **์ฑ๋ฅ ์ต์ ํ**: ๋ ๋๋ง ์ฑ๋ฅ์ ์ต์ ํํฉ๋๋ค
|
|
62
|
-
- React.memo๋ก ๋ถํ์ํ ๋ฆฌ๋ ๋๋ง ๋ฐฉ์ง
|
|
63
|
-
- useMemo/useCallback ์ ์ ์ฌ์ฉ (๋จ์ฉ ๋ฐฉ์ง)
|
|
64
|
-
- ์ฝ๋ ์คํ๋ฆฌํ
(React.lazy + Suspense)
|
|
65
|
-
- ๊ฐ์ ์คํฌ๋กค (๋๋ ๋ฆฌ์คํธ, react-window)
|
|
66
|
-
- ์ด๋ฏธ์ง ์ง์ฐ ๋ก๋ฉ (loading="lazy", Intersection Observer)
|
|
67
|
-
- Web Vitals ๋ชจ๋ํฐ๋ง (LCP, FID, CLS)
|
|
68
|
-
- ๋ฒ๋ค ๋ถ์ (webpack-bundle-analyzer)
|
|
69
|
-
</Steps>
|
|
70
|
-
|
|
71
|
-
## ์์ด์ ํธ ์์
|
|
72
|
-
|
|
73
|
-
`designer` ์์ด์ ํธ(Sonnet ๋ชจ๋ธ)์ ์์ํ์ฌ ์ปดํฌ๋ํธ๋ฅผ ์ค๊ณํฉ๋๋ค:
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
Agent(
|
|
77
|
-
subagent_type="designer",
|
|
78
|
-
model="sonnet",
|
|
79
|
-
prompt="FRONTEND COMPONENT TASK
|
|
80
|
-
|
|
81
|
-
ํ๋ก ํธ์๋ ์ปดํฌ๋ํธ๋ฅผ ์ค๊ณํ๊ณ ๊ตฌํํ์ธ์.
|
|
82
|
-
|
|
83
|
-
Feature: [๊ธฐ๋ฅ/ํ์ด์ง ์ค๋ช
]
|
|
84
|
-
Framework: [React / Vue / Svelte / etc.]
|
|
85
|
-
Styling: [Tailwind / CSS Modules / styled-components]
|
|
86
|
-
|
|
87
|
-
Design Checklist:
|
|
88
|
-
1. ์ปดํฌ๋ํธ ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ
|
|
89
|
-
2. Props ์ธํฐํ์ด์ค (TypeScript)
|
|
90
|
-
3. ์ ๊ทผ์ฑ ๊ฐ์ฌ (WCAG 2.1 AA)
|
|
91
|
-
4. ๋ฐ์ํ ๋ ์ด์์ (Mobile-first)
|
|
92
|
-
5. ์ฑ๋ฅ ์ต์ ํ (๋ฆฌ๋ ๋๋ง, ์ฝ๋ ์คํ๋ฆฌํ
)
|
|
93
|
-
|
|
94
|
-
Output: ์ปดํฌ๋ํธ ์ค๊ณ ๋ฌธ์:
|
|
95
|
-
- ์ปดํฌ๋ํธ ํธ๋ฆฌ
|
|
96
|
-
- Props ์ธํฐํ์ด์ค
|
|
97
|
-
- ์ ๊ทผ์ฑ ์ฒดํฌ๋ฆฌ์คํธ ๊ฒฐ๊ณผ
|
|
98
|
-
- ๋ฐ์ํ ๋ธ๋ ์ดํฌํฌ์ธํธ
|
|
99
|
-
- ์ฑ๋ฅ ์ต์ ํ ํฌ์ธํธ"
|
|
100
|
-
)
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## External Consultation (Optional)
|
|
104
|
-
|
|
105
|
-
designer ์์ด์ ํธ๋ ๊ต์ฐจ ๊ฒ์ฆ์ ์ํด Claude Task ์์ด์ ํธ์ ์๋ฌธํ ์ ์์ต๋๋ค.
|
|
106
|
-
|
|
107
|
-
### Protocol
|
|
108
|
-
1. **์์ฒด ์ค๊ณ๋ฅผ ๋จผ์ ์๋ฃ** -- ๋
๋ฆฝ์ ์ผ๋ก ์ปดํฌ๋ํธ ์ค๊ณ
|
|
109
|
-
2. **๊ฒ์ฆ์ ์ํ ์๋ฌธ** -- Claude Task ์์ด์ ํธ๋ฅผ ํตํด ์ ๊ทผ์ฑ/UX ๊ต์ฐจ ํ์ธ
|
|
110
|
-
3. **๋นํ์ ํ๊ฐ** -- ์ธ๋ถ ์ ์์ ๋งน๋ชฉ์ ์ผ๋ก ์์ฉํ์ง ์์
|
|
111
|
-
4. **์ฐ์ํ ํด๋ฐฑ** -- ์์์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ๋ ์ฐจ๋จํ์ง ์์
|
|
112
|
-
|
|
113
|
-
### ์๋ฌธ์ด ํ์ํ ๊ฒฝ์ฐ
|
|
114
|
-
- ๋ณต์กํ ์ธํฐ๋์
ํจํด (๋๋๊ทธ์ค๋๋กญ, ๊ฐ์ ์คํฌ๋กค)
|
|
115
|
-
- ์ ๊ทผ์ฑ์ด ์ค์ํ ๊ณต๊ฐ ์น์ฌ์ดํธ
|
|
116
|
-
- ๋๊ท๋ชจ ์ํ ๊ด๋ฆฌ ์ํคํ
์ฒ
|
|
117
|
-
- ๋์์ธ ์์คํ
๊ตฌ์ถ
|
|
118
|
-
|
|
119
|
-
### ์๋ฌธ์ ์๋ตํ๋ ๊ฒฝ์ฐ
|
|
120
|
-
- ๋จ์ ํผ ์ปดํฌ๋ํธ
|
|
121
|
-
- ์ ์๋ ค์ง UI ํจํด
|
|
122
|
-
- ๋ด๋ถ ์ด๋๋ฏผ ๋๊ตฌ
|
|
123
|
-
- ํ๋กํ ํ์
์์ค์ UI
|
|
124
|
-
|
|
125
|
-
## ์ ๊ทผ์ฑ ์ฒดํฌ๋ฆฌ์คํธ (WCAG 2.1 AA)
|
|
126
|
-
|
|
127
|
-
### ์ธ์ง ๊ฐ๋ฅ (Perceivable) (5๊ฐ)
|
|
128
|
-
- [ ] ๋ชจ๋ ์ด๋ฏธ์ง์ ๋์ฒด ํ
์คํธ (alt) ์ ๊ณต
|
|
129
|
-
- [ ] ์์ ๋๋น 4.5:1 ์ด์ (ํ
์คํธ), 3:1 ์ด์ (๋ํ ํ
์คํธ)
|
|
130
|
-
- [ ] ์์๋ง์ผ๋ก ์ ๋ณด๋ฅผ ์ ๋ฌํ์ง ์์ (์์ด์ฝ/ํ
์คํธ ๋ณํ)
|
|
131
|
-
- [ ] ํ
์คํธ ํฌ๊ธฐ 200%๊น์ง ํ๋ ๊ฐ๋ฅ (๋ ์ด์์ ๊นจ์ง ์์ด)
|
|
132
|
-
- [ ] ์๋ ์ฌ์ ๋ฏธ๋์ด์ ์ ์ง ๋ฒํผ ์ ๊ณต
|
|
133
|
-
|
|
134
|
-
### ์กฐ์ ๊ฐ๋ฅ (Operable) (5๊ฐ)
|
|
135
|
-
- [ ] ๋ชจ๋ ๊ธฐ๋ฅ์ด ํค๋ณด๋๋ก ์ ๊ทผ ๊ฐ๋ฅ
|
|
136
|
-
- [ ] ํฌ์ปค์ค ์์๊ฐ ๋
ผ๋ฆฌ์
|
|
137
|
-
- [ ] ํฌ์ปค์ค ํ์๊ฐ ๋ช
ํ (outline ์ ๊ฑฐ ๊ธ์ง)
|
|
138
|
-
- [ ] ํฐ์น ํ๊ฒ ์ต์ 44x44px
|
|
139
|
-
- [ ] ์๊ฐ ์ ํ์ด ์๋ ๊ธฐ๋ฅ์ ์ฐ์ฅ ์ต์
์ ๊ณต
|
|
140
|
-
|
|
141
|
-
### ์ดํด ๊ฐ๋ฅ (Understandable) (4๊ฐ)
|
|
142
|
-
- [ ] ํผ ํ๋์ label์ด ์ฐ๊ฒฐ๋จ
|
|
143
|
-
- [ ] ์๋ฌ ๋ฉ์์ง๊ฐ ํด๋น ํ๋ ๊ทผ์ฒ์ ํ์๋จ
|
|
144
|
-
- [ ] ๋งํฌ ํ
์คํธ๊ฐ ๋ชฉ์ ์ง๋ฅผ ์ค๋ช
("์ฌ๊ธฐ๋ฅผ ํด๋ฆญ" ๊ธ์ง)
|
|
145
|
-
- [ ] ์ธ์ด ์์ฑ (lang)์ด ์ค์ ๋จ
|
|
146
|
-
|
|
147
|
-
### ๊ฒฌ๊ณ ํจ (Robust) (4๊ฐ)
|
|
148
|
-
- [ ] ์๋งจํฑ HTML ์์ ์ฌ์ฉ (div ๋จ์ฉ ๊ธ์ง)
|
|
149
|
-
- [ ] ARIA ์์ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉ๋จ
|
|
150
|
-
- [ ] ๋์ ์ฝํ
์ธ ์ aria-live ์ ์ฉ
|
|
151
|
-
- [ ] ์ปค์คํ
์์ ฏ์ ์ ์ ํ role ์ค์
|
|
152
|
-
|
|
153
|
-
## ์ปดํฌ๋ํธ ๋ณต์ก๋ ๊ฐ์ด๋
|
|
154
|
-
|
|
155
|
-
| ๋ณต์ก๋ | Props ์ | ์ํ | ํจํด |
|
|
156
|
-
|--------|---------|------|------|
|
|
157
|
-
| **๋จ์** | 0~3 | Stateless | ํจ์ ์ปดํฌ๋ํธ |
|
|
158
|
-
| **๋ณดํต** | 4~8 | ๋ก์ปฌ ์ํ | useState/useReducer |
|
|
159
|
-
| **๋ณต์ก** | 9+ | ์ ์ญ + ๋ก์ปฌ | Compound Component, Context |
|
|
160
|
-
|
|
161
|
-
<Output>
|
|
162
|
-
```
|
|
163
|
-
FRONTEND COMPONENT DESIGN / ํ๋ก ํธ์๋ ์ปดํฌ๋ํธ ์ค๊ณ
|
|
164
|
-
=====================================================
|
|
165
|
-
|
|
166
|
-
Feature: [๊ธฐ๋ฅ๋ช
]
|
|
167
|
-
Framework: [React 18 + TypeScript]
|
|
168
|
-
Styling: [Tailwind CSS]
|
|
169
|
-
|
|
170
|
-
COMPONENT TREE / ์ปดํฌ๋ํธ ํธ๋ฆฌ
|
|
171
|
-
---------------------------------
|
|
172
|
-
<ProductPage>
|
|
173
|
-
โโโ <ProductHeader>
|
|
174
|
-
โ โโโ <Breadcrumb />
|
|
175
|
-
โ โโโ <ProductTitle />
|
|
176
|
-
โโโ <ProductGallery>
|
|
177
|
-
โ โโโ <ImageCarousel />
|
|
178
|
-
โ โโโ <ThumbnailStrip />
|
|
179
|
-
โโโ <ProductInfo>
|
|
180
|
-
โ โโโ <PriceDisplay />
|
|
181
|
-
โ โโโ <VariantSelector />
|
|
182
|
-
โ โโโ <AddToCartButton />
|
|
183
|
-
โโโ <ProductReviews>
|
|
184
|
-
โโโ <ReviewSummary />
|
|
185
|
-
โโโ <ReviewList />
|
|
186
|
-
|
|
187
|
-
PROPS INTERFACES / Props ์ธํฐํ์ด์ค
|
|
188
|
-
--------------------------------------
|
|
189
|
-
interface ProductInfoProps {
|
|
190
|
-
product: Product;
|
|
191
|
-
selectedVariant: Variant | null;
|
|
192
|
-
onVariantSelect: (variant: Variant) => void;
|
|
193
|
-
onAddToCart: (quantity: number) => void;
|
|
194
|
-
isLoading?: boolean;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
ACCESSIBILITY AUDIT / ์ ๊ทผ์ฑ ๊ฐ์ฌ
|
|
198
|
-
-----------------------------------
|
|
199
|
-
Perceivable: [5/5 PASS]
|
|
200
|
-
Operable: [4/5 - ํฐ์น ํ๊ฒ ํฌ๊ธฐ ์์ ํ์]
|
|
201
|
-
Understandable: [4/4 PASS]
|
|
202
|
-
Robust: [4/4 PASS]
|
|
203
|
-
|
|
204
|
-
RESPONSIVE BREAKPOINTS / ๋ฐ์ํ ๋ธ๋ ์ดํฌํฌ์ธํธ
|
|
205
|
-
-------------------------------------------------
|
|
206
|
-
Mobile (< 768px): ๋จ์ผ ์ปฌ๋ผ, ๊ฐค๋ฌ๋ฆฌ ์ค์์ดํ
|
|
207
|
-
Tablet (768~1024px): 2์ปฌ๋ผ (๊ฐค๋ฌ๋ฆฌ + ์ ๋ณด)
|
|
208
|
-
Desktop (> 1024px): 3์ปฌ๋ผ (๊ฐค๋ฌ๋ฆฌ + ์ ๋ณด + ๋ฆฌ๋ทฐ)
|
|
209
|
-
|
|
210
|
-
PERFORMANCE / ์ฑ๋ฅ
|
|
211
|
-
-------------------
|
|
212
|
-
- ImageCarousel: React.lazy๋ก ์ง์ฐ ๋ก๋ฉ
|
|
213
|
-
- ReviewList: ๊ฐ์ ์คํฌ๋กค (react-window)
|
|
214
|
-
- ์ด๋ฏธ์ง: next/image with srcset
|
|
215
|
-
- ๋ฒ๋ค ๊ธฐ์ฌ: ~25KB (gzip)
|
|
216
|
-
```
|
|
217
|
-
</Output>
|
|
218
|
-
|
|
219
|
-
<Policy>
|
|
220
|
-
- ์ ๊ทผ์ฑ์ ์ ํ์ด ์๋ ๊ธฐ๋ณธ์
๋๋ค -- WCAG 2.1 AA๋ฅผ ํญ์ ์ถฉ์กฑ
|
|
221
|
-
- ์ปดํฌ๋ํธ๋ ๋จ์ผ ์ฑ
์ ์์น์ ๋ฐ๋ฆ
๋๋ค
|
|
222
|
-
- Props ์ธํฐํ์ด์ค๋ TypeScript๋ก ๋ช
์ํฉ๋๋ค
|
|
223
|
-
- Mobile-first๋ก ์ค๊ณํ๊ณ ๋ฐ์คํฌํฑ์ผ๋ก ํ์ฅํฉ๋๋ค
|
|
224
|
-
- ์ฑ๋ฅ ์ต์ ํ๋ ์ธก์ ํ ํ์ํ ๊ณณ์๋ง ์ ์ฉํฉ๋๋ค (์ฌ์ ์ต์ ํ ๊ธ์ง)
|
|
225
|
-
- ๋์์ธ ์์คํ
/ํ ํฐ์ด ์์ผ๋ฉด ๋ฐ๋์ ํ์ฉํฉ๋๋ค
|
|
226
|
-
</Policy>
|
|
227
|
-
|
|
228
|
-
## ๋ค๋ฅธ ์คํฌ๊ณผ์ ์ฐ๋
|
|
229
|
-
|
|
230
|
-
**์ฑ๋ฅ ์ฐ๋:**
|
|
231
|
-
```
|
|
232
|
-
/forgen:performance ํ๋ก ํธ์๋ ๋ฒ๋ค ๋ถ์
|
|
233
|
-
```
|
|
234
|
-
๋ฒ๋ค ํฌ๊ธฐ์ ๋ ๋๋ง ์ฑ๋ฅ ์ต์ ํ
|
|
235
|
-
|
|
236
|
-
**TDD ์ฐ๋:**
|
|
237
|
-
```
|
|
238
|
-
/forgen:tdd ์ปดํฌ๋ํธ ์ ๋ ํ
์คํธ
|
|
239
|
-
```
|
|
240
|
-
์ปดํฌ๋ํธ๋ณ ํ
์คํธ ์์ฑ
|
|
241
|
-
|
|
242
|
-
**์ฝ๋ ๋ฆฌ๋ทฐ ์ฐ๋:**
|
|
243
|
-
```
|
|
244
|
-
/forgen:code-review src/components/
|
|
245
|
-
```
|
|
246
|
-
์ปดํฌ๋ํธ ์ฝ๋ ํ์ง ๊ฒ์ฆ
|
|
247
|
-
|
|
248
|
-
## Best Practices
|
|
249
|
-
|
|
250
|
-
- **ํฉ์ฑ ์ฐ์ ** -- ์์๋ณด๋ค ํฉ์ฑ(composition) ํจํด ์ฌ์ฉ
|
|
251
|
-
- **์ ๊ทผ์ฑ ๋ด์ฅ** -- ๋์ค์ ์ถ๊ฐํ์ง ์๊ณ ์ฒ์๋ถํฐ ํฌํจ
|
|
252
|
-
- **ํ์
์์ ** -- Props์ TypeScript ํ์
์ ๋ช
์
|
|
253
|
-
- **์ธก์ ํ ์ต์ ํ** -- React Profiler๋ก ํ์ธ ํ ์ต์ ํ
|
|
254
|
-
- **์ผ๊ด๋ ํจํด** -- ํ๋ก์ ํธ ์ ์ฒด์์ ๋์ผํ ํจํด ์ ์ง
|
|
255
|
-
|
|
256
|
-
<Arguments>
|
|
257
|
-
## ์ฌ์ฉ๋ฒ
|
|
258
|
-
`/forgen:frontend {์ค๊ณ ๋์}`
|
|
259
|
-
|
|
260
|
-
### ์์
|
|
261
|
-
- `/forgen:frontend ์ํ ์์ธ ํ์ด์ง ์ปดํฌ๋ํธ ์ค๊ณ`
|
|
262
|
-
- `/forgen:frontend ๊ธฐ์กด ํผ ์ปดํฌ๋ํธ ์ ๊ทผ์ฑ ๊ฐ์ `
|
|
263
|
-
- `/forgen:frontend ๋์๋ณด๋ ๋ ์ด์์ ๋ฐ์ํ ๊ตฌํ`
|
|
264
|
-
- `/forgen:frontend ๋์์ธ ์์คํ
๊ธฐ๋ณธ ์ปดํฌ๋ํธ ์ค๊ณ`
|
|
265
|
-
|
|
266
|
-
### ์ธ์
|
|
267
|
-
- ์ค๊ณํ ํ์ด์ง/๊ธฐ๋ฅ, ํ๋ ์์ํฌ, ์ ๊ทผ์ฑ ์๊ตฌ์ฌํญ ๋ฑ์ ์ค๋ช
|
|
268
|
-
- ์ธ์ ์์ผ๋ฉด ํ๋ก์ ํธ์ ํ๋ก ํธ์๋ ๊ตฌ์กฐ๋ฅผ ๋ถ์ํ์ฌ ๊ฐ์ ์ ์ ์
|
|
269
|
-
</Arguments>
|
|
270
|
-
|
|
271
|
-
$ARGUMENTS
|
package/commands/git-master.md
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: git-master
|
|
3
|
-
description: This skill should be used when the user asks to "git-master,๊น๋ง์คํฐ,atomic commit". Atomic commits, smart rebasing, and history management
|
|
4
|
-
triggers:
|
|
5
|
-
- "git-master"
|
|
6
|
-
- "๊น๋ง์คํฐ"
|
|
7
|
-
- "atomic commit"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
<Purpose>
|
|
11
|
-
์์์ ์ปค๋ฐ ์ ๋ต๊ณผ ์ฒด๊ณ์ ์ธ Git ํ์คํ ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์คํํฉ๋๋ค.
|
|
12
|
-
Conventional Commits ์ปจ๋ฒค์
, ์ธํฐ๋ํฐ๋ธ ๋ฆฌ๋ฒ ์ด์ค, ๋ธ๋์น ์ ๋ต์ ํตํด
|
|
13
|
-
์ฝ๊ธฐ ์ฝ๊ณ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
|
|
14
|
-
</Purpose>
|
|
15
|
-
|
|
16
|
-
<Steps>
|
|
17
|
-
1. **์์์ ์ปค๋ฐ ์ ๋ต**
|
|
18
|
-
- ํ๋์ ์ปค๋ฐ = ํ๋์ ๋
ผ๋ฆฌ์ ๋ณ๊ฒฝ ๋จ์
|
|
19
|
-
- ๋น๋ ๊ฐ๋ฅํ๊ณ ํ
์คํธ ํต๊ณผ ์ํ๋ก ์ ์ง
|
|
20
|
-
- `git add <specific-files>`๋ก ๋ณ๊ฒฝ์ฌํญ์ ํ์ผ ๋จ์๋ก ์ ํ์ ์คํ
์ด์ง
|
|
21
|
-
> **Note:** `git add -p`(์ธํฐ๋ํฐ๋ธ ํจ์น ๋ชจ๋)์ `git add -i`๋ Claude Code์์ ์ง์๋์ง ์์ต๋๋ค. `git add <specific-files>`๋ฅผ ์ฌ์ฉํ์ธ์.
|
|
22
|
-
|
|
23
|
-
2. **Conventional Commits ๋ฉ์์ง ์ปจ๋ฒค์
**
|
|
24
|
-
```
|
|
25
|
-
<type>(<scope>): <subject>
|
|
26
|
-
|
|
27
|
-
<body>
|
|
28
|
-
|
|
29
|
-
<footer>
|
|
30
|
-
```
|
|
31
|
-
- **type**: feat, fix, docs, style, refactor, test, chore, perf
|
|
32
|
-
- **scope**: ๋ณ๊ฒฝ๋ ๋ชจ๋/์ปดํฌ๋ํธ (์ ํ)
|
|
33
|
-
- **subject**: ํ์ฌํ ๋์ฌ๋ก ์์, 50์ ์ด๋ด
|
|
34
|
-
- **Breaking Change**: footer์ `BREAKING CHANGE:` ๋ช
์
|
|
35
|
-
|
|
36
|
-
3. **์ธํฐ๋ํฐ๋ธ ๋ฆฌ๋ฒ ์ด์ค**
|
|
37
|
-
> **Note:** `git rebase -i`๋ Claude Code์์ ์ง์๋์ง ์์ต๋๋ค (์ธํฐ๋ํฐ๋ธ ์
๋ ฅ ๋ถ๊ฐ). ๋์ `git rebase` with explicit commit range ๋๋ `git commit --fixup` + `git rebase --autosquash`๋ฅผ ์ฌ์ฉํ์ธ์.
|
|
38
|
-
```bash
|
|
39
|
-
git rebase -i HEAD~N # N๊ฐ ์ปค๋ฐ ์ฌ์ ๋ฆฌ (Claude Code ์ธ๋ถ์์ ์คํ)
|
|
40
|
-
```
|
|
41
|
-
- `pick`: ๊ทธ๋๋ก ์ ์ง
|
|
42
|
-
- `squash`/`fixup`: ์ด์ ์ปค๋ฐ๊ณผ ํฉ์น๊ธฐ
|
|
43
|
-
- `reword`: ๋ฉ์์ง๋ง ์์
|
|
44
|
-
- `edit`: ์ปค๋ฐ ๋ด์ฉ ์์
|
|
45
|
-
- `drop`: ์ปค๋ฐ ์ญ์
|
|
46
|
-
- โ ๊ณต์ ๋ธ๋์น์์ ๋ฆฌ๋ฒ ์ด์ค ๊ธ์ง
|
|
47
|
-
|
|
48
|
-
4. **๋ธ๋์น ์ ๋ต**
|
|
49
|
-
- `main/master`: ํญ์ ๋ฐฐํฌ ๊ฐ๋ฅ ์ํ
|
|
50
|
-
- `develop`: ํตํฉ ๋ธ๋์น (Git Flow)
|
|
51
|
-
- `feature/<ticket>-<short-desc>`: ๊ธฐ๋ฅ ๊ฐ๋ฐ
|
|
52
|
-
- `fix/<ticket>-<short-desc>`: ๋ฒ๊ทธ ์์
|
|
53
|
-
- `hotfix/<ticket>`: ๊ธด๊ธ ์์
|
|
54
|
-
- ๋ธ๋์น๋ช
์ ํฐ์ผ ๋ฒํธ ํฌํจ ๊ถ์ฅ
|
|
55
|
-
|
|
56
|
-
5. **Squash & Fixup ์ํฌํ๋ก์ฐ**
|
|
57
|
-
```bash
|
|
58
|
-
git commit --fixup <sha> # ํน์ ์ปค๋ฐ์ fixup ์์ฑ
|
|
59
|
-
git rebase -i --autosquash main # fixup ์๋ ์ ๋ ฌ
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
6. **Conflict ํด๊ฒฐ ์ ๋ต**
|
|
63
|
-
- `git mergetool` ๋๋ IDE ํตํฉ ๋๊ตฌ ์ฌ์ฉ
|
|
64
|
-
- ๋ณต์กํ ์ถฉ๋: `git checkout --ours/--theirs <file>` ์ ํ
|
|
65
|
-
- ์ถฉ๋ ํด๊ฒฐ ํ ๋ฐ๋์ ํ
์คํธ ์คํ
|
|
66
|
-
- `git log --merge`: ์ถฉ๋์ ๊ธฐ์ฌํ ์ปค๋ฐ ํ์ธ
|
|
67
|
-
</Steps>
|
|
68
|
-
|
|
69
|
-
<Policy>
|
|
70
|
-
- ๊ณต์ ๋ธ๋์น(main, develop)์์ force push ๊ธ์ง
|
|
71
|
-
- ์ปค๋ฐ ์ `git diff --staged`๋ก ๋ณ๊ฒฝ์ฌํญ ์ต์ข
ํ์ธ
|
|
72
|
-
- WIP ์ปค๋ฐ์ push ์ squash ์ฒ๋ฆฌ
|
|
73
|
-
- ์ปค๋ฐ ๋ฉ์์ง์ '์์ ', 'fix', 'update'๋ง ์ฐ์ง ์๊ณ ๊ตฌ์ฒด์ ๋งฅ๋ฝ ํฌํจ
|
|
74
|
-
</Policy>
|
|
75
|
-
|
|
76
|
-
<Arguments>
|
|
77
|
-
## ์ฌ์ฉ๋ฒ
|
|
78
|
-
`/forgen:git-master {์์
๋ด์ฉ}`
|
|
79
|
-
|
|
80
|
-
### ์์
|
|
81
|
-
- `/forgen:git-master 3๊ฐ์ WIP ์ปค๋ฐ์ ์์์ ์ปค๋ฐ์ผ๋ก ์ฌ์ ๋ฆฌ`
|
|
82
|
-
- `/forgen:git-master feature ๋ธ๋์น๋ฅผ main์ ๋ฆฌ๋ฒ ์ด์คํ๋ฉฐ ์ถฉ๋ ํด๊ฒฐ`
|
|
83
|
-
- `/forgen:git-master ์ปค๋ฐ ํ์คํ ๋ฆฌ ํด๋ฆฐ์
ํ PR ์ค๋น`
|
|
84
|
-
|
|
85
|
-
### ์ธ์
|
|
86
|
-
- ํ์ฌ Git ์ํ ๋๋ ์ํํ ์์
์ ์ค๋ช
|
|
87
|
-
- ๋ธ๋์น๋ช
, ์ปค๋ฐ ๋ฒ์, ๋ชฉํ ๋ธ๋์น ๋ฑ ๊ตฌ์ฒด์ ์ ๋ณด ํฌํจ ๊ถ์ฅ
|
|
88
|
-
</Arguments>
|
|
89
|
-
|
|
90
|
-
$ARGUMENTS
|