인셔셔RSS 관심 있는 블로그, 뉴스, 기술 정보를 효율적으로 추적하고 읽으세요
원문 읽기 InertiaRSS에서 열기

추천 피드

Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
博客园 - 叶小钗
MyScale Blog
MyScale Blog
V
Visual Studio Blog
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
I
InfoQ
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky

博客园 - 许雪里

人机Agent团队协同:从Managed Agents原理到Multica实践 开源AI Agent:OpenCode集成OMO原理及实践 AI编程实战:Claude Code + IDEA 的沉浸式编程方案 XXL-JOB v3.4.0 发布 | OpenClaw集成、合并调度、健壮性及体验增强 使用OpenClaw+Skill自动发布微信公众号文章 OpenClaw部署并集成QQ搭建自动化AI助理 使用Milvus搭配Ollama搭建RAG知识库 XXL-JOB v3.3.2 发布 | 优雅停机、Docker Compose、健壮性增强 XXL-CONF v2.2.0 | 分布式配置中心与注册中心 XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy XXL-JOB v3.3.1 发布 | 升级SpringBoot4、健壮性增强 XXL-JOB v3.3.0 | 分布式任务调度平台 XXL-TOOL v2.3.0 发布 | Java工具类库 XXL-TOOL v2.1.0 发布 | Java工具类库 XXL-JOB v3.2.0 | 分布式任务调度平台 XXL-BOOT v1.2.0 | 快速开发平台 XXL-CACHE v1.4.0 | 多级缓存框架 XXL-CRAWLER v1.5.0 | Java爬虫框架 XXL-SSO v2.0.0 发布|单点登录框架 XXL-TOOL v2.0.0 发布 | Java工具类库 使用XXL-SSO实现登录认证以及权限管控 XXL-TOOL v1.5.0 发布 | Java工具类库
AI 표준 프로그래밍: SDD 이념부터 Spec-Kit 실현
许雪里 · 2026-05-24 · via 博客园 - 许雪里

제1장 SDD의 탄생 배경: AI 시대 소프트웨어 공학의 패러다임 변화

2.1 전통 개발 패러다임의 아픔

GitHub Copilot, Claude Code, Cursor와 같은 AI 코딩 어시스턴트가 보편화되기 전까지 소프트웨어 개발은 "코드 우선, 문서 이후"의 모델을 따랐으며, 세 가지 핵심 아픔을 겪고 있었습니다:

아픔 구체적인 표현 영향
의도와 구현 간의 간극 요구사항 문서가 흐릿하고 변경이 잦아, 코드와 문서가 오랫동안 이루어지지 않았습니다 커뮤니케이션 비용이 높고 리팩토링 위험이 크며 유지보수가 어려웠습니다
협업 효율 저하 팀원들이 요구사항을 달리 이해하고, 통일된 "사실의 출처"가 부족했습니다 반복적인 작업이 많고, 충돌이 자주 발생하며, 제공 주기가 길다
품질 보증이 지연되고 테스트가 코드 작성 후에 이루어지므로 결함 발견이 늦고, 수정 비용이 높다 제품의 안정성이 부족하여 사용자 경험이 손해를 입는다

AI 코드 작성 도구가 보편화되면서 이러한 문제들이 더욱 심화되고 있습니다: AI는 빠르게 코드를 생성할 수 있지만, 전체 시스템 아키텍처와 비즈니스 논리를 이해하지 못하여 "지역적으로 올바르지만 전반적으로 잘못된" 코드를 생성하기 쉽습니다; 또한 개발자들이 AI의 힌트에 과도하게 의존하여 코드 품질이 불균일해지고 유지보수성이 급격히 저하됩니다

2.2, SDD의 핵심 정의와 가치

규범에 의한 개발 (Spec-Driven Development, SDD)는 생성형 AI 시대에 맞는 엔지니어링 개발을 위한 새로운 소프트웨어 개발 방법론으로, 핵심은 기술자가 간결하고 테스트 가능하며 형식화된 시스템 사양 명세 (Spec)를 먼저 정의하고, 이를 인간, 팀, AI 간의 "동적 계약"으로서 개발 과정의 유일한 사실 출처로 사용하는 것입니다.

SDD는 세 가지 혁명적인 전환을 가져옵니다:

  • 권력 반전: 소프트웨어 개발의 "단일 사실 출처"를 변동성 있는 코드에서 인간의 의도의 직접적인 표현인 사양 자체로 전환합니다.
  • 프로세스 재구성: "코드 작성→테스트→수정→문서화"에서 "사양→설계→구현→검증"의 선형 프로세스로 변화합니다.
  • 인간-기계 협력: 사양은 AI의 "작동 설명서"가 되어 AI가 의도를 추측하는 비용을 제거하고 코드 생성 품질을 향상시킵니다.

2.3 SDD 개발 역사

SDD는 새로운 개념이 아니라 전통적인 소프트웨어 공학 이론의 발전입니다:

  • 초기 기원: 20세기 80년대의 "계약 기반 설계"(Design by Contract)와 "테스트 주도 개발"(TDD) 개념에 거슬러 올라갑니다
  • 현대적 발전: 2025년, GitHub가 Spec-Kit 도구를 출시하여 SDD를 이론에서 실천으로 전환했습니다
  • 생태계 성숙: 2026년, OpenSpec, Superpowers 등의 도구가 차례로 등장하여 완전한 SDD 도구 생태계를 형성했습니다
  • 산업 인정: 마이크로소프트, 아마존 등 기술 거대 기업들이 내부적으로 SDD 방법론을 홍보하고 공식 교육 과정에 포함시키기 시작했습니다

두 번째, SDD 도구 비교 분석: Spec-Kit, OpenSpec와 Superpowers

2.1 핵심 정의 및 설계 철학 대비

대비 차원 Spec-Kit (GitHub) OpenSpec Superpowers
핵심 정의 "도면파": 0부터 시작하는 완전한 계획, 0-1 프로젝트에 적합 "농사인파": 기존 시스템의 점진적 개선, 1-n 프로젝트에 적합 "전 과정 관리인": 요구사항부터 전달까지의 완전한 개발 프로세스 관리
설계 철학 "규격은 법률"(고정된 규칙 체계), 통제 프로세스와 상세 문서 강조 "OPSX 유연 작업 흐름"(단계가 아닌 행동), 변경 제안을 중심으로, 프로세스가 간결 "테스트 우선, 증거 주도", 시스템화된 복잡성 감소
철학적 기초 심도 있는 규격 주도, 프로세스 완전성 및 제어 가능성 추구 가벼운 규격 주도, 빠른 반복 및 최소주의주의 추구 방법론 주도 (기술 시스템), 심리학적 지도 강조 AI 행동
적용 팀 조직화 완벽, 엄격한 프로세스 준수 규정을 가진 대규모 팀 점진적 팀, 초기 창업 회사, 빠른 반복이 필요한 프로젝트 독립 개발자, 품질 지향 팀, AI 대리인 집중형 프로젝트

2.2 기술 아키텍처 및 기능 특성 비교

비교 차원 Spec-Kit (GitHub) OpenSpec Superpowers
기술 스택 Python (uv 패키지 관리자), CLI 드라이버, 다양한 플랫폼 지원 TypeScript (npm), 웹 UI+CLI 이중 모드, 가벼운 Markdown+JavaScript 플러그인, 에디터 통합, 다양한 플랫폼
핵심 프로세스 7단계 선형 프로세스: spec→plan→tasks→구현→검증→문서화→발전 3단계 점진적 프로세스: 제안→적용→보관, 관리 규범 점진적 증가 5단계 순환 프로세스: 아이디어 구상→분리→계획→TDD→검토
표준 형식 구조화된 마크다운, 복잡한 시나리오와 제약 조건 지원 최소한의 YAML, 변경 사항에 집중, 문서량 최소화 자연어 + 테스트 케이스, 실행 가능성 및 증거 검증 강조
AI 통합 내장 지원 15+AI 코드 도우미, 통일된 인터페이스 관리 Claude와 Copilot에 집중, 가벼운 통합 강조 깊이 통합 GitHub Copilot, 소크라테스식 대화 지원
변경 관리 동적 헌법 메커니즘, 버전화 표준화, 완전한 감사 추적 분리 변경, 합의 주도, 위험 관리 우선 미 작업 분리, 자동 충돌 해결, 빠른 롤백 메커니즘
학습 곡선 높은, 프로세스 의식 있는 팀에 적합 완만한, 빠르게 익힐 수 있는 시나리오에 적합 중간, 테스트 주도 개념 이해 필요

2.3 선택 제안: 시나리오에 적합한 SDD 도구 선택

다양한 시나리오에 대해, 프로젝트 유형, 팀 규모, 규범 복잡도等多각도 요소를 고려하여 전반적으로 평가하여 가장 적합한 SDD 도구를 선택하십시오:

  • Spec-Kit 선택: 신규 프로젝트, 기업급 프로젝트에 적합하며, 프로세스 규범과 아키텍처 제어를 강조하는 팀, 특히 기업급 프로젝트와 팀 간 협업 시나리오에 적합합니다.
  • OpenSpec을 선택하세요: 유지보수 중인 시스템의 개조 및 높은 호환성 요구 사항이 있는 프로젝트에 적합하며, 빠른 반복 및 위험 관리를 강조하는 애자일 팀에 적합합니다.
  • Superpowers를 선택하세요: 품질 우선의 팀에 적합하며, 자동화 및 테스트 주도 개발을 강조하는 프로젝트에 적합하며, 특히 프로토타이핑 및 AI 집중형 프로젝트에 적합합니다.
결정 요인 Spec-Kit을 선택하세요 OpenSpec을 선택하세요 Superpowers를 선택하세요
프로젝트 유형 완전히 새로운 프로젝트, 기업급 프로젝트 점진적 변경, 유지보수 중인 시스템 프로토타이핑, AI 집중형
팀 규모 10명 이상, 다단체 3-10 사람, 민첩 팀 1-3 사람, 독립 개발자
규범 복잡도 높음 (상세한 제약 필요) 낮음 (변경점에 집중) 중간 (테스트 케이스 강조)
프로세스 요구사항 엄격 (문턱 메커니즘) 유연 (증분 프로세스) 자동화 (전체 프로세스)
학습 비용 높음 (교육 필요) 낮음 (빠르게 시작) 중간 (테스트 드리븐 이해)

3. Spec-Kit 아키텍처 심층 분석: 규격 주도의 엔지니어링 기초

3.1 핵심 특징: 규격 주도의 전 과정 관리

3.1.1 실행 가능 규격 (Executable Specifications)

Spec-Kit의 핵심 혁신은 규격을 정적 문서에서 실행 가능한 개발 지시로 전환하는 데에 있다:

  • 규격은 구조화된 마크다운 형식을 사용하며, 요구사항, 시나리오, 제약 조건, 수용 기준 등의 요소를 포함한다
  • 규격은 직접 AI로 코드, 테스트 케이스, 문서를 생성하도록 주도할 수 있으며, 인간의 번역이 필요 없다
  • 규격 변경은 코드와 테스트의 업데이트를 자동으로 트리거하여 일관성을 보장한다

3.1.2 게이트 워크플로우 (Gated Workflow)

Spec-Kit의 핵심은‌ 7단계 도어컨트롤 개발 프로세스‌는 각 단계마다 검증 가능한 엔지니어링 산출물에 대응하며, 요구사항부터 구현까지 강한 제약 체인을 형성합니다. 각 단계는 엄격한 순서로 실행되며, 이전 단계의 검증이 통과되지 않으면 다음 단계로 진행할 수 없습니다.

단계 번호 단계 이름 핵심 목표 산출 파일 핵심 제약
1 Constitution 프로젝트 헌법 및 기술적 적색선 설정 constitution.md 금지 사항, 승인 사항, 허용 범위 정의; 팀 합의 서명 필요
2 자연어 요구사항을 형식화 규범으로 전환 spec.md 구조화된 의미 템플릿을 사용해야 하며, 모호한 표현은 금지
3 Clarify 의미 불명확성을 제거하고 경계와 예외를 확인 clarification.md 모든 모호한 지점은 제품/아키텍처 설계자의 서명으로 확인되어야 함
4 Plan 기술적 구현 경로와 아키텍처 선택 설계 plan.md 은 기술 스택, 데이터 흐름, 의존성 그래프, 위험 평가를 포함해야 합니다
5 Tasks 는 실행 가능하고 추적 가능한 개발 작업으로 분해되어야 합니다 tasks.md 각 작업은 담당자, 예상 작업 시간, 수락 기준을 연결해야 합니다
6 Analyze 규범 일관성 및 변경 사항 영향 분석 자동 분석 보고서 형식화 검증 통과율 ≥95%, 영향 범위는 시각화되어야 합니다
7 Implement AI로 코드 생성 및 코드 리뷰 제출 코드 생성 + 테스트 케이스 코드는 spec.md와 양방향 추적되어야 하며, 수동 덮어쓰기는 허용되지 않음

모든 단계는 specify CLI 도구로 주도되며, 각 단계의 공급물은 자동으로 버전 관리에 통합되어 검증 가능한, 추적 가능한, 검증 가능한 엔지니어링 계약 체인을 형성
어떤 단계도 게이트 체크를 통과하지 못하면 시스템은 후속 프로세스를 차단하여 "규범이 권위임"을 보장

3.1.3 동적 헌법 메커니즘 (Dynamic Constitution)

Spec-Kit은 프로젝트 헌법 (Project Constitution) 개념을 도입하여 프로젝트의 "최고 법률"로서 기능:

  • 헌법은 프로젝트의 아키텍처 원칙, 코딩 표준, 보안 규범, 테스트 전략 등 핵심 규칙을 정의
  • 모든 규범과 코드는 헌법 요구사항에 맞아야 하며, 헌법 준수 검사기는 자동으로
  • 헌법을 지원하는 버전 관리를 검증합니다. 변경 사항은 팀의 합의가 필요하며, 프로젝트 방향의 일관성을 보장합니다

3.2 핵심 개념: 규범 주도의 사고 모델 구축

3.2.1 단일 사실 출처 (Single Source of Truth)

Spec-Kit의 핵심 철학은 규범이 유일한 사실 출처이며, 모든 개발 활동은 규범을 중심으로 이루어집니다:

  • 규범은 요구사항, 설계, 구현, 테스트, 문서화의 유일한 근거입니다
  • 코드와 문서, 설계와 구현 간의 불일치를 제거합니다
  • 팀원들은 규범을 통해 합의를 이루어 커뮤니케이션 비용을 줄입니다

3.2.2 의도 우선 (Intent-First)

Spec-Kit는 먼저 의도를 명확히 하고 나서 구현을 고려한다는 점을 강조하며, 전통적인 "구현 우선" 모드와 명백한 대조를 이룹니다:

  • 규격 단계에서는 비즈니스 요구사항과 사용자 가치에 집중하며, 기술적 세부 사항은 포함하지 않습니다
  • 계획 단계에서 비즈니스 의도를 기술적 구현 방안으로 전환합니다
  • 기술 선택에 일찍 빠지지 않고, 해결책이 비즈니스 목표에 부합하도록 보장합니다

3.2.3 인간-AI 협업 (Human-AI Collaboration)

Spec-Kit는 개발자와 AI의 협업 모드를 재정의하여 "AI가 코드를 보조한다"에서 "규격이 AI 개발을 주도한다"로 업그레이드했습니다:

  • 개발자는 명확하고 정확한 규격을 정의하고, AI는 구현 세부 사항을 수행합니다
  • 규격은 개발자가 AI의 행동을 통제하는 "보호대"가 되어 코드의 품질과 일관성을 보장합니다
  • 개발자가 복잡한 코딩 작업에서 해방되어 아키텍처 설계와 비즈니스 로직에 집중할 수 있습니다.

3.3 기술 아키텍처: 계층적 설계와 컴포넌트화 구현

Spec-Kit은 모듈화되고 확장 가능한 아키텍처 설계를 채택하며, 핵심은 네 개의 계층으로 구성되어 있으며, 하부에서 상부로 차례로 다음과 같습니다.

3.3.1 핵심 엔진 계층 (Core Engine)

  • 규범 파서 (Spec Parser): 구조화된 마크다운 규범을 분석하여 요구사항, 제약조건, 시나리오 등의 핵심 정보를 추출합니다.
  • 헌법 준수 검사기 (Constitutional Compliance Checker): 모든 규범이 프로젝트 헌법 (Constitution)에서 정의한 아키텍처 원칙과 코딩 표준을 준수하는지 확인합니다.
  • 작업 생성기 (Task Generator): 규범과 계획을 AI가 실행할 수 있는 원자 작업으로 변환하고, 작업 의존성 및 우선순위 관리를 지원합니다.
  • 검증 엔진 (Validation Engine):자동화된 테스트를 수행하여 코드 구현이 규범 요구사항을 충족하는지 검증

3.3.2 도구 통합 레이어 (Tool Integration Layer)

  • AI 에이전트 어댑터 (AI Agent Adapter):統一 인터페이스를 제공하며, Claude Code, GitHub Copilot, Amazon Q 등 15개 이상의 주류 AI 코드 도우미를 지원
  • 버전 관리 통합기 (VCS Integrator):Git과 원활하게 통합되어 규범과 코드의 버전 역사를 자동으로 관리하며, 브랜치 전략 및 병합 충돌 해결을 지원
  • IDE 플러그인 (IDE Plugins):VS Code, IntelliJ 등 주류 편집기에 대한 통합 지원을 제공하며, 실시간 규범 검사 및 제안

3.3.3 명령줄 인터페이스 레이어 (CLI Layer)

  • CLI 명령어 지정: 핵심 명령줄 도구로, init, spec, plan, tasks, implement 등 7개의 핵심 명령어를 제공하여 개발 프로세스를 안내합니다.
  • 상호작용 터미널 (Interactive Terminal): 자연어 상호작용을 지원하여 규범 작성 및 작업 실행 프로세스를 간소화합니다.
  • 보고서 생성기 (Report Generator): 규범 준수 보고서, 테스트 커버리지 보고서, 코드 품질 보고서 등을 생성합니다.

3.3.4 확장 레이어 (Extension Layer)

  • 템플릿 시스템 (Template System): 규범 템플릿, 계획 템플릿, 작업 템플릿을 제공하며, 사용자 정의 확장을 지원합니다.
  • 플러그인 프레임워크 (Plugin Framework): 개발자가 사용자 정의 플러그인을 작성할 수 있도록 허용하여 Spec-Kit 기능을 확장합니다. 예를 들어 특정 테스트 도구 통합, 배포 프로세스 등을 지원합니다.
  • 사용자 정의 규칙 엔진 (Custom Rule Engine):프로젝트 특정 규정 규칙을 추가할 수 있습니다, 예를 들어 보안 표준, 성능 지표 등

4. Spec-Kit 설치

Spec-Kit은 GitHub 공식 오픈 소스의 규격 주도 개발(Spec-Driven Development, SDD) 도구 키트입니다. 표준화된 워크플로우(Specify → Plan → Tasks → Implement)를 통해 개발자들이 AI 코딩 보조 도구(claude, opencode 등)를 활용하여 고품질 소프트웨어를 구축하고, '분위기 코딩'(Vibe Coding)으로 인한 코드 품질 불일치와 프로세스 누락 문제를 해결하는 데 도움을 줍니다.

단계 1: 핵심 종속성 uv

Spec-Kit은 Python으로 개발되었으며, 패키지 관리자와 도구 실행기로 uv를 의존합니다. 이는 전통적인 pip/venv보다 더 빠르고 관리하기 쉽기 때문입니다.

# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 验证安装
uv --version

단계 2: Spec-Kit (Specify CLI) 설치

# 使用 uv 安装 Spec-Kit
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

# 验证安装
specify --version

단계 3: 프로젝트 초기화

기존 프로젝트 초기화:

# 在当前目录初始化
specify init .

# 指定特定的 AI 助手
specify init . --ai opencode

새 프로젝트 생성 및 초기화:

# 基本初始化
specify init project01

# 指定特定的 AI 助手
specify init project01 --ai claude

# 指定脚本类型 (Mac/Linux默认sh,Windows默认ps,也可强制指定)
specify init project01 --script sh

초기화 과정에서의 상호작용 안내:

  • AI Agent 선택: --ai 옵션을 명령줄에서 지정하지 않았다면, 감지된 AI 도구를 선택하라는 메시지가 표시됩니다.
  • 스크립트 유형 선택: Mac/Linux 사용자는 일반적으로 sh (Bash)를 선택합니다; Windows 사용자는 일반적으로 ps (PowerShell)를 선택합니다.
  • 파일 병합: 디렉토리에 파일이 이미 존재하면, Spec-Kit은 병합을 시도하거나 덮어쓰기를 제안할 것입니다. 제안에 따라 작업하십시오.
  • 보안 구성(중요): 초기화 후, AI 보조 프로그램은 프로젝트 루트 디렉토리에 API 키 또는 민감 정보를 포함하는 폴더를 생성할 수 있습니다(예: .opencode/, .claude/ 등). 이러한 폴더를 반드시 .gitignore에 추가하여 민감 정보 누출을 방지해야 합니다:
# 编辑 .gitignore 文件,添加以下内容(根据你使用的 AI 工具调整)
.opencode
.omo
.claude
.specify
specs

단계 4: 검증 및 사용 시작

초기화가 완료되면, AI 코딩 보조 프로그램을 엽니다(터미널에서 opencode, claude를 입력하여 해당 프로그래밍 도구를 시작하거나, VS Code/Cursor에서 프로젝트를 엽니다).

다음 Slash Commands(슬래시 명령어)이 사용 가능한지 확인:

명령 기능 설명 단계
/speckit.constitution [필수] 프로젝트 원칙 및 협상 불가능한 기준 설정 0. 준비
/speckit.specify [필수] "무엇을 하고, 왜 하느냐"를 정의하고 명세 문서 생성 1. 명세화
/speckit.clarify 계획 전에 질문을 통해 불분명한 요구 사항을 명확히 함 1.5 명확화
/speckit.plan [필수] 규격 및 기술 스택을 기반으로 기술 구현 계획 생성 2. 계획
/speckit.tasks [필수] 계획을 실행 가능하고 순서 있는 작업 목록으로 분해 3. 작업 분해
/speckit.analyze 작업 일관성 및 커버리지 분석 3.5 분석
/speckit.implement [필수] 작업 수행, 코드 및 테스트 생성 4. 구현

‌ 일반적인 워크플로우 예시:‌

  • /speckit.constitution - 프로젝트 원칙 설정(예:코드 품질, 테스트 표준)
  • /speckit.specify - 요구 사항 설명(예:“사용자 등록 시스템을 만드세요...”)
  • /speckit.plan - 실행 계획 수립
  • /speckit.tasks - 할 일 생성
  • /speckit.implement - AI로 코드 작성

문제: Spec 문서의 언어와 스타일을 어떻게 지정할까요?

  • speckit/memory/constitution.md 파일을 엽니다. 파일에 다음 규칙을 추가하거나 수정하세요(추천: 파일 맨 위 또는 "Communication" 섹션에 위치)
## Communication Guidelines
- **Language**: All specifications, plans, tasks, code comments, and commit messages MUST be written in **Simplified Chinese (zh-CN); unless explicitly requested otherwise.
- **Tone**: Professional, concise, and direct.

5. Spec-Kit 사례 연습

우리는 "XXL-API 프로젝트 코드 리팩토링"을 예시로 삼아 Spec-Kit의 완전한 실천 프로세스를 보여줍니다.

이번 개선 프로젝트는 공식 오픈소스 프로젝트로, 코드 규범성과 품질에 대한 요구사항이 있습니다. 또한, 이 리팩토링 요구사항은 "9개의 기능 모듈", "프론트엔드 및 백엔드 코드 로직 수정"을 포함하며, 총 130개 이상의 프로젝트 파일을 수정해야 하므로 중간 크기의 미세한 요구사항입니다. 이번 개선 요구사항은 일정한 복잡성을 가지고 있습니다.

Step1: Spec-Kit 초기화

프로젝트 루트 디렉토리로 이동하여 다음 명령어를 실행하여 Spec-Kit 엔지니어링 계약 체인을 생성합니다.

specify init .

명령어를 실행한 후, ".specify 계약 체인 파일 디렉토리"가 생성됩니다.

img

Step2: Constitution - 프로젝트 헌법 생성

다음 명령어를 실행하여 “프로젝트 헌법”(예: 프로젝트 약속, 기술 스택 및 제약 조건, 개발 워크플로우 등)을 생성하고, 이후 규범 및 코드 구현의 일관성과 관리 가능성을 보장합니다.

# 创建项目宪法
/speckit.constitution 
 
# 创建项目宪法,补充指定中文约束(否则默认生成 英文 内容)
/speckit.constitution 补充1条规则:所有规范文档使用中文描述

명령어 실행 후 .specify/memory/constitution.md 파일이 생성되며, 내용은 다음과 같습니다:

img

Step3: Specify - 기능 사양 생성

다음 명령어를 실행하고 기능 요구 사항 설명을 작성하여 “기능 사양(Spec)”을 생성합니다:

/speckit.specify  针对XXL-API项目按照如下要求重构:

1、按照下面项目规范结构,重构重构项目目录结构:

xxl-api-admin/src/main/java/com/xxl/api/admin
- /framework: 基础框架代码,包含公共的 登录、util、过滤器等组件。
- /business:业务代码,包含具体业务模块的 controller、service、model、mapper 子分层代码。
  xxl-api-admin/src/main/resources/templates
- /framework:基础模板,基础框架实体 对应的。
- /business:业务模板,业务领域实体对应的。
  xxl-api-admin/src/main/resources/mapper
- /framework:基础Mapper文件,基础框架实体 对应的。
- /business:业务Mapper文件,业务领域实体对应的。


2、业务代码分类判断逻辑:Java代码部分,当前 com/xxl/api/admin/controller/biz 下除了 UserController 都是 业务领域,保留User相关Java代码不变,其他按照规范调整。模板部分,当前 help.ftl、index.ftl、login.ftl 属于基础框架,其他属于业务领域;Mapper部分,当前 XxlApiUserMapper.xml 属于基础框架,其他属于业务部分。

명령어 실행 후 .specify/specs/001-project-structure-refactor/spec.md 파일이 생성되며, 내용은 다음과 같습니다:

img

Step4: Plan - 기술 계획 생성

다음 명령어를 실행하여 “기술 계획”을 생성합니다:

/speckit.plan

명령어 실행 후 .specify/plans/001-project-structure-refactor/plan.md 파일이 생성되며, 내용은 다음과 같습니다:

img

Step4: Tasks - Task Decomposition

다음 명령어를 실행하여 "Task List"을 생성하세요.

/speckit.tasks

실행 후 .specify/tasks/001-project-structure-refactor/tasks.md 파일이 생성되며, 내용은 다음과 같습니다.

img

Step5: Implement - Code Generation

다음 명령어를 실행하여 Task Decomposition(tasks.md)에 따라 "Code Generation"을 수행하세요.

/speckit.implement

Agent는 Task List(tasks.md)에 따라 각 Task를 순차적으로 구현하며, 각 Task가 완료되면 자동으로 requirements.md를 검사합니다.

모든 Task가 완료되면, 사람이 수동으로 Review를 진행하여 요구사항을 만족하는 경우 코드를 병합합니다(현재 이 PR은 XXL-API master branch에 병합되었으며, 기대에 부합합니다).

img

Spec-Kit 경험 요약

  • 프로젝트 헌법은 안정적이어야 합니다constitution.md결정되면 자주 변경하지 마시고, 모든 참여자가 통일된 규칙을 따르도록 보장해야 합니다
  • 规格은 무엇을 하는지만 작성하고 어떻게 하는지는 작성하지 않습니다SPEC.md과도한 구현 세부 사항의 제약을 피하고, AI에게 기술적 최적화 공간을 남겨야 합니다
  • 명확화 및 검토 단계를 건너뛰지 마세요:이 두 단계는 반복 작업을 줄이는 핵심이며, 불분명한 점과 편차를 사전에 발견하는 것이 후기 수정 비용보다 훨씬 저렴합니다

원문 출처https://www.xuxueli.com/blog/?blog=ai/speckit