Service2025.09.14
GitHub - github/spec-kit: π« Toolkit to help you get started with Spec-Driven Development
μμ½
Spec-Driven Development (SDD)λ μ€ν κ°λ₯ν μ€νμ΄ μ§μ ꡬνμ μμ±νλλ‘ νμ¬ μ½λλ₯Ό μ°μ νλ κ°λ° λ°©μμμ λ²μ΄λ μ€νμ μ°μ νλ λ°©λ²λ‘ μ΄λ©°,
spec-kitμ μ΄λ₯Ό λλ ν΄ν·μ
λλ€.οΈ μ΄ ν΄ν·μ
Specify CLIμ AI μμ΄μ νΈλ₯Ό νμ©νμ¬ /speckit.constitution, /speckit.specify, /speckit.plan, /speckit.tasks, /speckit.implementμ κ°μ ν΅μ¬ μ¬λμ λͺ
λ Ήμ΄λ₯Ό ν΅ν΄ 체κ³μ μΈ κ°λ° μν¬νλ‘μ°λ₯Ό μλ΄ν©λλ€.spec-kitμ μ¬μ μμ±, κ³ν, μμ
λΆν΄ λ° μ½λ μ€νμ ν¬ν¨νλ λ€λ¨κ³ μ μ νλ‘μΈμ€λ₯Ό ν΅ν΄ λμ νμ§μ μννΈμ¨μ΄λ₯Ό λ λΉ λ₯΄κ² ꡬμΆνκ³ , κΈ°μ λ
λ¦½μ± λ° λ°λ³΅μ μΈ κΈ°λ₯ κ°λ°μ λͺ©νλ‘ ν©λλ€.μμΈ λ΄μ©
Spec-Driven Development(SDD)λ κΈ°μ‘΄ μννΈμ¨μ΄ κ°λ° λ°©μμ ν¨λ¬λ€μμ μ ννλ μ κ·Ό λ°©μμΌλ‘, μ½λ©μ΄ μ€μ¬μ΄ μλ μ€ν κ°λ₯ν(executable) λͺ
μΈ(specifications)κ° ν΅μ¬μ΄ λμ΄ μ§μ λμνλ ꡬν체λ₯Ό μμ±νλλ‘ νλ λ°©λ²λ‘ μ
λλ€. μ΄λ λ¨μν μ½λ μμ±μ μν κ°μ΄λ μν μ λμ΄, λͺ
μΈ μμ²΄κ° μ€μ ꡬνμ μμ²μ΄ λλ κ²μ λͺ©νλ‘ ν©λλ€. Spec Kitμ μ΄λ¬ν SDDλ₯Ό κ°λ₯νκ² νλ μ€ν μμ€ ν΄ν·μ
λλ€. Specify CLI μ€μΉ (Install Specify CLI):
* : μ νλ‘μ νΈλ₯Ό μμ±νκ±°λ κΈ°μ‘΄ νλ‘μ νΈλ₯Ό μ΄κΈ°νν©λλ€. μ΄ κ³Όμ μμ
* νλ‘μ νΈ μμΉ μ립 (Establish project principles):
νλ‘μ νΈ λλ ν 리μμ AI μμ΄μ νΈλ₯Ό μ€ννκ³ , λͺ
μΈ μμ± (Create the spec):
* λͺ μΈ λͺ νν (Functional specification clarification): κΈ°μ κ³νμ μΈμ°κΈ° μ , κΈ°μ ꡬν κ³ν μμ± (Create a technical implementation plan):
νμ€ν¬ λΆν΄ (Break down into tasks):
* μ¬μ©μ μ€ν 리μ λ°λ₯Έ νμ€ν¬ λΆν΄ (κ° μ¬μ©μ μ€ν 리λ λ³λμ ꡬν λ¨κ³κ° λ¨)
* μμ‘΄μ± κ΄λ¦¬ (μ»΄ν¬λνΈ κ° μμ‘΄μ± κ³ λ €νμ¬ νμ€ν¬ μμ μ§μ )
* λ³λ ¬ μ€ν κ°λ₯ν νμ€ν¬ νμ (
* νμΌ κ²½λ‘ λͺ μ (κ° νμ€ν¬μ ꡬν μμΉ)
* ν μ€νΈ μ£Όλ κ°λ°(TDD) ꡬ쑰 (ν μ€νΈ νμ€ν¬ ν¬ν¨ λ° κ΅¬ν μ μμ± μμ)
* 체ν¬ν¬μΈνΈ μ ν¨μ± κ²μ¬ (κ° μ¬μ©μ μ€ν 리 λ¨κ³μμ λ 립μ μΈ κΈ°λ₯ κ²μ¬) ꡬν μ€ν (Execute implementation):
λͺ¨λ μ€λΉκ° μλ£λλ©΄
ν΅μ¬ λ°©λ²λ‘ μ λ€μκ³Ό κ°μ λ¨κ³λ‘ μ§νλ©λλ€:
uv tool install specify-cli λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ Specify CLIλ₯Ό μ€μΉν©λλ€. μ΄ CLI λꡬλ νλ‘μ νΈ μ΄κΈ°ν λ° λꡬ μν νμΈ λ±μ κΈ°λ₯μ μ 곡ν©λλ€.* : μ νλ‘μ νΈλ₯Ό μμ±νκ±°λ κΈ°μ‘΄ νλ‘μ νΈλ₯Ό μ΄κΈ°νν©λλ€. μ΄ κ³Όμ μμ
--ai νλκ·Έλ₯Ό ν΅ν΄ μ¬μ©ν AI μμ΄μ νΈλ₯Ό μ§μ ν μ μμΌλ©°, --here νλκ·Έλ‘ νμ¬ λλ ν 리μ μ΄κΈ°νν μ μμ΅λλ€.*
specify check: νμν λꡬλ€μ΄ μ€μΉλμ΄ μλμ§ νμΈν©λλ€./speckit.constitution λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ νλ‘μ νΈμ κΈ°λ³Έμ μΈ μμΉκ³Ό κ°λ° κ°μ΄λλΌμΈμ μ μν©λλ€. μ΄λ memory/constitution.md νμΌμ κΈ°λ‘λλ©°, μ½λ νμ§, ν
μ€ν
νμ€, μ¬μ©μ κ²½ν μΌκ΄μ±, μ±λ₯ μꡬμ¬ν λ± μ λ°μ μΈ κ°λ° κ³Όμ μ μμ¬κ²°μ μ μλ΄νλ μν μ ν©λλ€./speckit.specify λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ κ΅¬μΆνκ³ μ νλ κ²μ λν μꡬμ¬νκ³Ό μ¬μ©μ μ€ν 리λ₯Ό λͺ
μΈν©λλ€. μ΄ λ¨κ³μμλ κΈ°μ μ€ν보λ€λ 무μμ(what) λ§λ€κ³ μ(why) λ§λλμ§μ μ§μ€ν΄μΌ ν©λλ€. AI μμ΄μ νΈ(μ: Claude Code)λ μ΄ μ
λ ₯μ λ°νμΌλ‘ μ¬μ©μ μ€ν λ¦¬κ° ν¬ν¨λ μμΈ λͺ
μΈ(μ: specs/001-create-taskify/spec.md)λ₯Ό μμ±νλ©°, μ΄λ₯Ό μν΄ μλ‘μ΄ Git λΈλμΉ(μ: 001-create-taskify)λ₯Ό μμ±νκΈ°λ ν©λλ€.* λͺ μΈ λͺ νν (Functional specification clarification): κΈ°μ κ³νμ μΈμ°κΈ° μ ,
/speckit.clarify λͺ
λ Ήμ΄λ₯Ό ν΅ν΄ λͺ
μΈλ₯Ό ꡬ쑰μ μΌλ‘ λͺ
νννλ κ³Όμ μ κ±°μΉ©λλ€. μ΄λ λͺ¨νΈνκ±°λ λΆμμ ν λΆλΆμ μ§λ¬Έκ³Ό λ΅λ³μ ν΅ν΄ 보μνκ³ , λͺ
μΈμ μΌκ΄μ±κ³Ό μμ μ±μ κ²μ¦νλ λ° λμμ μ€λλ€. νμμ μμ νμμ μΆκ° μ§λ¬Έμ΄λ Review & Acceptance Checklistλ₯Ό νμ©νμ¬ λͺ
μΈλ₯Ό κ°μ ν μ μμ΅λλ€./speckit.plan λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ κΈ°μ μ€νκ³Ό μν€ν
μ² μ νμ ν¬ν¨ν κΈ°μ ꡬν κ³νμ μ 곡ν©λλ€. μλ₯Ό λ€μ΄, .NET Aspire, Postgres, Blazor server, REST API λ±μ ꡬ체μ μΈ κΈ°μ μμλ₯Ό μ§μ ν μ μμ΅λλ€. μ΄ λ¨κ³μ κ²°κ³Όλ¬Όμ plan.md, data-model.md, api-spec.json, research.md λ± λ€μν ꡬν μμΈ λ¬Έμλ€μ ν¬ν¨ν©λλ€. AI μμ΄μ νΈμ μνΈμμ©νλ©° κ³νμ μ νμ±μ κ²ν νκ³ , νμν κ²½μ° μΆκ°μ μΈ μ‘°μ¬λ₯Ό μ§μνμ¬ κΈ°μ μ νμ νλΉμ±μ ν보ν©λλ€./speckit.tasks λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ κ΅¬ν κ³νμ ꡬ체μ μ΄κ³ μ€ν κ°λ₯ν νμ€ν¬ λͺ©λ‘μΌλ‘ λΆν΄ν©λλ€. μ΄ κ³Όμ μμ tasks.md νμΌμ΄ μμ±λλ©°, λ€μμ ν¬ν¨ν©λλ€:* μ¬μ©μ μ€ν 리μ λ°λ₯Έ νμ€ν¬ λΆν΄ (κ° μ¬μ©μ μ€ν 리λ λ³λμ ꡬν λ¨κ³κ° λ¨)
* μμ‘΄μ± κ΄λ¦¬ (μ»΄ν¬λνΈ κ° μμ‘΄μ± κ³ λ €νμ¬ νμ€ν¬ μμ μ§μ )
* λ³λ ¬ μ€ν κ°λ₯ν νμ€ν¬ νμ (
[P])* νμΌ κ²½λ‘ λͺ μ (κ° νμ€ν¬μ ꡬν μμΉ)
* ν μ€νΈ μ£Όλ κ°λ°(TDD) ꡬ쑰 (ν μ€νΈ νμ€ν¬ ν¬ν¨ λ° κ΅¬ν μ μμ± μμ)
* 체ν¬ν¬μΈνΈ μ ν¨μ± κ²μ¬ (κ° μ¬μ©μ μ€ν 리 λ¨κ³μμ λ 립μ μΈ κΈ°λ₯ κ²μ¬)
/speckit.implement λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ κ΅¬ν κ³νμ λ°λΌ νμ€ν¬λ₯Ό μ€ννκ³ κΈ°λ₯μ ꡬμΆν©λλ€. μ΄ λͺ
λ Ήμ constitution, spec, plan, tasksμ μ ν¨μ±μ κ²μ¬νκ³ , tasks.mdμ νμ€ν¬ λΆν΄λ₯Ό νμ±νμ¬ μμ‘΄μ±κ³Ό λ³λ ¬ μ€ν λ§μ»€λ₯Ό μ€μνλ©° νμ€ν¬λ₯Ό μμλλ‘ μ€νν©λλ€. AI μμ΄μ νΈλ λ‘컬 CLI λͺ
λ Ή(μ: dotnet, npm)μ μ€ννμ¬ μ½λλ₯Ό μμ±νλ―λ‘, ν΄λΉ λꡬλ€μ΄ μμ€ν
μ μ€μΉλμ΄ μμ΄μΌ ν©λλ€. ꡬν μλ£ νμλ μ ν리μΌμ΄μ
μ ν
μ€νΈνκ³ , λ°νμ μ€λ₯ λ°μ μ AI μμ΄μ νΈμ μ€λ₯ λ©μμ§λ₯Ό μ 곡νμ¬ ν΄κ²°νλλ‘ ν μ μμ΅λλ€.Spec-Driven Developmentλ μ΄λ¬ν λ€λ¨κ³μ μ μ κ³Όμ μ ν΅ν΄ λ¨μΌ ν둬ννΈμμ μ½λλ₯Ό μμ±νλ κ²μ΄ μλ, AI λͺ¨λΈμ κ³ κΈ κΈ°λ₯μ νμ©νμ¬ λͺ μΈλ₯Ό ν΄μνκ³ , μ΄λ₯Ό λ°νμΌλ‘ 체κ³μ μΈ μννΈμ¨μ΄ κ°λ°μ μ λν©λλ€. μ΄ λ°©λ²λ‘ μ κΈ°μ λ 립μ μΈ μ ν리μΌμ΄μ μμ±, μν°νλΌμ΄μ¦ μ μ½ μ‘°κ±΄ ν΅ν©, μ¬μ©μ μ€μ¬ κ°λ°, κ·Έλ¦¬κ³ μ°½μμ μ΄κ³ λ°λ³΅μ μΈ κ°λ° νλ‘μΈμ€ μ§μμ λͺ©νλ‘ ν©λλ€.
GitHub
Shared by Anonymous