-
Notifications
You must be signed in to change notification settings - Fork 0
04 Agent Workflow
μ΄ λ¬Έμλ λ΄κ° Agentμ ν¨κ» ν featureλ₯Ό λλΌ λ λ°λ₯΄λ μ μ°¨λ€. Week 3 κΈ°μ€ μ΅μ’ λ³Έμ΄λ©°, μμΈν νκ³ ν 리ν¬νΈλ
08-Agent-Workflow-Reportμ λλ€.
- μ½λ© μμ΄μ νΈλ λ‘컬 GJC (Gajae Code) + λ³΄μ‘°λ‘ ChatGPT/Claude μΉ.
- "Agent skill" = λ°λ³΅λλ μμ
μ μ°¨λ₯Ό MDλ‘ μ 리ν κ². β repoμ
.gjc/skills/murun-feature/SKILL.mdμ°Έκ³ . - Wikiλ μ¬λμ μν μ§μ€μ μμ²,
.gjc/λ Agentμκ² μ£Όλ 컨ν μ€νΈ.
ν PR = ν μ¬μ©μ μ€ν 리λ₯Ό λκΉμ§.
"μ΄μμ§μ΄ μΈμ μ λ±λ‘ν μ μλ€" = Prisma schema λ³κ²½ + Server Action + νΌ νμ΄μ§ + μ±κ³΅ ν 리λ€μ΄λ νΈ + 1κ° μ€λͺ¨ν¬ ν μ€νΈ
μ΄μ :
- νμ κΈ°μ€ λΈλμΉκ° λμνλ μνλ‘ μ μ§λλ€ β PR λ¨μλ‘ CIμ λ°°ν¬ smokeλ₯Ό νμΈνλ€.
- νκ³ /λ¦¬λ·°κ° "μ΄ κΈ°λ₯ μΌκ³ λκΈ°" λ¨μλ‘ λ¨μ΄μ§λ€.
Vertical sliceκ° 2μκ°μ λκΈ°λ©΄ μμμ λ€μ μμλ‘ sub-taskλ₯Ό λ§λ λ€.
1. schema (Prisma)
2. server (Server Action / loader)
3. ui (page + components)
4. test (μ€λͺ¨ν¬ 1κ°)
κ° sub-taskλ λ³λ PRμ΄ μλλΌ κ°μ PR μμ 컀λ°μΌλ‘ λλ€. PR 1κ° = feature 1κ°.
- "UIλ§ λ¨Όμ , λ°μ΄ν°λ λ€μ μ£Ό" β devμ μ£½μ νλ©΄μ΄ μμΈλ€.
- "μ¬λ¬ featureλ₯Ό ν PRμ" β 리뷰 λΉμ© νλ°.
κ° λ¨κ³λ§λ€ λκ° νλμ§(π€=λ, π€=Agent)λ₯Ό νμνλ€.
0. issue μμ± π€ "μ·무μΒ·μμ© κΈ°μ€"μ issueμ λ¨Όμ μ΄λ€
1. spec/acceptance νμΈ π€+π€ μ΄λ² PRμμ ν μΌκ³Ό μ ν μΌμ κ³ μ
2. plan π€ spec β νμΌ λ³κ²½ κ³ν. π€κ° κ²ν /μμ
3. branch + scaffold π€ feature/<n>-<slug> λλ fix/<n>-<slug>
4. implement π€ domain β server β ui β test μμ
5. self-verify π€ 체ν¬ν¬μΈνΈ 06 + ν
μ€νΈ λͺ
λ Ή μ§μ νμΈ
6. PR open π€ issue μ°κ²°, κ²μ¦ κ²°κ³Ό, fidelity checklist ν¬ν¨
7. squash merge π€ main merge μ N100 prod μλ λ°°ν¬ νμΈ
λ΄κ° 5μ€μ§λ¦¬ μ΄μμ μ°κ³ Agentμκ² "μμ© κΈ°μ€"Β·"μ£μ§ μΌμ΄μ€"Β·"μ΄λ²μ μ νλ κ²"μ μ±μ°λΌκ³ μν¨λ€. λ΄κ° λ§μ§λ§μ κ²ν .
ν νλ¦Ώ:
# <feature>
## Story
μ΄μμ§μΌλ‘μ ... νκΈ° μν΄ ... νκ³ μΆλ€.
## Acceptance
- [ ] ...
- [ ] ...
## Out of scope
- ...
## Touched files (μμ)
- prisma/schema.prisma
- app/(app)/sessions/new/page.tsx
- lib/...
## Open questions
- ...Agentμκ²:
"μ΄ specμ λ³΄κ³ , λ³κ²½ν νμΌ λͺ©λ‘κ³Ό κ° νμΌ λ³κ²½ μμ§λ₯Ό νλ‘ λ§λ€μ΄. μ νμΌ/μμ νμΌμ ꡬλΆνκ³ , schema λ³κ²½μ΄ μλ€λ©΄ migration λͺ λ Ήλ κ°μ΄ μ μ΄."
π€ κ²ν ν¬μΈνΈ:
- schema λ³κ²½μ΄ μλλ° specμ μμλ? β spec λ¨Όμ μμ .
- κΈ°μ‘΄ ν¨ν΄ 무μνκ³ μ μΆμνλ₯Ό λ§λ€μλ? β "κΈ°μ‘΄ X ν¨ν΄μ λ°λ₯΄λΌ"κ³ λ€μ μ§μ.
git switch main && git pull
git switch -c feature/<issue-num>-<slug>N100μ prod λ¨μΌ μ΄μμ΄λ―λ‘ λ°°ν¬ λμ λ³κ²½μ main PRλ‘ νλ€. devλ λ‘컬 ν΅ν©/μ€ν λΈλμΉλ‘λ§ μ¬μ©νκ³ , dev pushλ GHCR staging image build μμ λ§κΉμ§λ§ λλ€.
Agentκ° λΉ νμΌ + import μ λλ§ λ¨Όμ λ§λ€κ³ commit. κ·ΈλμΌ κ·Έ λ€μ λ³κ²½ diffκ° μμμ§λ€.
- domain β server β ui β test μμλ₯Ό μ΄κΈ°μ§ μλλ€.
- schema λ³κ²½ νμ νμ
pnpm prisma generate && pnpm prisma migrate dev --name <slug>. - Server Actionμ νμ zod/input parser + guard νΈμΆλΆν°.
- UIλ inline error, pending state, λΉ μνλ₯Ό ν¬ν¨ν΄ μ§ λ€.
- Vitest/RTL λλ Playwright μ€ λ³κ²½ μ±κ²©μ λ§λ ν μ€νΈλ₯Ό μΆκ°νλ€.
β 06-Checkpoints μ 체ν¬λ¦¬μ€νΈλ₯Ό μ¬λμ΄ λ³Έλ€. Agentκ° "ν΅κ³Όνλ€"κ³ μ μ μ€μ κ·Έλλ‘ λ―Ώμ§ μλλ€.
PR λ³Έλ¬Έμ issue μλ μ°κ²°(Closes #N) + λ³κ²½ μμ½ + μ€ν¬λ¦°μ·(λͺ¨λ°μΌ/λ°μ€ν¬ν) + 체ν¬λ¦¬μ€νΈ.
- CIμμ typecheck / lint / unitΒ·component test / build / E2E smoke νμΈ.
- main merge ν N100 prod μλ λ°°ν¬ κ²°κ³Ό νμΈ.
- merge ν issue μλ λ«ν νμΈ.
ββββββββββββββββ
β Idea / Issue β π€
ββββββββ¬ββββββββ
β
βΌ
ββββββββββββββββββββ
β .gjc/specs/*.md β π€+π€
ββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββ
β plan (file list) β π€ β π€ review
ββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββ
β feat branch β
β schema β server β
β β ui β test β π€
ββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Checkpoints β π€ β μ¬κΈ°κ° μ¬λμ μ±
μ
ββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββ
β PR β main merge β π€ open / π€ merge
ββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββββββ
β N100 prod deploy β GitHub Actions
β + smoke νμΈ β π€
ββββββββββββββββββββ
-
DB migration μ μ© (
prisma migrate deploy) mainλΈλμΉλ‘μ merge- secret / env κ° λ³κ²½
- μΈλΆ μλΉμ€(Google Cloud Console, duckdns, N100 νΈμ€νΈ) μ½μ μ€μ λ³κ²½ μλ
- μꡬμ¬ν μ체μ μμ (spec MDλ λ΄κ° μ΅μ’ λ³Έμ κ°μ§λ€)
- Agent skillμ
/auto-develop <issue>μμ€μΌλ‘ μλννλ, mergeμ prod λ°°ν¬ νλ¨μ μ¬λμ΄ μ μ§. - μΈμ¦λ μ¬μ©μμ ν΅μ¬ νλ¦μ Playwrightμμ μ¬νν test-only seed μ€κ³.
- λ°°ν¬ ν
/api/healthμ μ£Όμ νμ΄μ§λ₯Ό νμΈνλ post-deploy smoke job μΆκ°.