AI 툴 소개: GitHub Spec Kit: AI 에이전트 개발을 위한 명세서
GitHub Spec Kit은 코드와 상호작용하는 AI 에이전트 및 모델 개발자를 위한 명세(spec) 모음입니다. 이 명세들은 AI 에이전트가 파일 시스템과 상호작용하고, 명령을 실행하며, 사용자와 소통하는 방식에 대한 모범 사례(best practice)를 정의합니다.
이러한 표준을 채택함으로써, 우리는 AI 에이전트 개발 생태계가 더욱 강력하고 상호 운용 가능하도록 만들 수 있습니다.
원문: https://github.com/github/spec-kit (Translated by Google Gemini) (2025-09-17 기준)
🤔 명세 기반 개발이란 무엇입니까?#
명세 기반 개발은 전통적인 소프트웨어 개발의 판도를 뒤집습니다. 수십 년 동안 코드가 왕이었습니다 — 명세는 코딩이라는 “진짜 작업"이 시작되면 만들어졌다가 버려지는 비계(scaffolding)에 불과했습니다. 명세 기반 개발은 이를 변화시킵니다: 명세가 실행 가능해지며, 단지 구현을 안내하는 것을 넘어 직접 작동하는 구현체를 생성합니다.
⚡ 시작하기#
1. Specify 설치#
사용 중인 코딩 에이전트에 따라 프로젝트를 초기화합니다.
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>
2. 명세 생성#
/specify
명령을 사용하여 만들고 싶은 것을 설명합니다. 기술 스택이 아닌 무엇을(what), 왜(why) 에 집중하세요.
/specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
3. 기술 구현 계획 수립#
/plan
명령을 사용하여 기술 스택과 아키텍처 선택사항을 제공합니다.
/plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
4. 분해 및 구현#
/tasks
를 사용하여 실행 가능한 작업 목록을 생성한 다음, 에이전트에게 기능 구현을 요청합니다.
자세한 단계별 지침은 종합 가이드를 참조하세요.
📽️ 영상 개요#
Spec Kit이 실제로 작동하는 모습을 보고 싶으신가요? 영상 개요를 시청하세요!
🔧 Specify CLI 참조#
specify
명령은 다음 옵션을 지원합니다.
명령어#
명령어 | 설명 |
---|---|
init |
최신 템플릿으로 새 Specify 프로젝트를 초기화합니다. |
check |
설치된 도구들(git , claude , gemini , code /code-insiders , cursor-agent )을 확인합니다. |
specify init
인자 & 옵션#
인자/옵션 | 타입 | 설명 |
---|---|---|
<project-name> |
인자 | 새 프로젝트 디렉터리의 이름입니다 (--here 사용 시 선택 사항). |
--ai |
옵션 | 사용할 AI 어시스턴트: claude , gemini , copilot , 또는 cursor . |
--script |
옵션 | 사용할 스크립트 변형: sh (bash/zsh) 또는 ps (PowerShell). |
--ignore-agent-tools |
플래그 | Claude Code와 같은 AI 에이전트 도구 확인을 건너뜁니다. |
--no-git |
플래그 | git 저장소 초기화를 건너뜁니다. |
--here |
플래그 | 새 디렉터리를 만드는 대신 현재 디렉터리에 프로젝트를 초기화합니다. |
--skip-tls |
플래그 | SSL/TLS 검증을 건너뜁니다 (권장하지 않음). |
--debug |
플래그 | 문제 해결을 위한 상세 디버그 출력을 활성화합니다. |
📚 핵심 철학#
명세 기반 개발은 다음을 강조하는 구조화된 프로세스입니다.
- 명세가 “어떻게“보다 “무엇을” 먼저 정의하는 의도 기반 개발(Intent-driven development)
- 가드레일과 조직적 원칙을 사용한 풍부한 명세 생성(Rich specification creation)
- 프롬프트로부터 한 번에 코드를 생성하는 것이 아닌 다단계 정제(Multi-step refinement)
- 명세 해석을 위한 고급 AI 모델 능력에 대한 높은 의존성(Heavy reliance)
🌟 개발 단계#
단계 | 초점 | 주요 활동 |
---|---|---|
0-to-1 개발 (“그린필드”) | 처음부터 생성 | <ul><li>높은 수준의 요구사항에서 시작</li><li>명세 생성</li><li>구현 단계 계획</li><li>프로덕션 수준의 애플리케이션 구축</li></ul> |
창의적 탐색 | 병렬 구현 | <ul><li>다양한 솔루션 탐색</li><li>여러 기술 스택 및 아키텍처 지원</li><li>UX 패턴 실험</li></ul> |
반복적 개선 (“브라운필드”) | 브라운필드 현대화 | <ul><li>반복적으로 기능 추가</li><li>레거시 시스템 현대화</li><li>프로세스 조정</li></ul> |
🎯 실험적 목표#
저희의 연구 및 실험은 다음에 초점을 맞추고 있습니다.
기술 독립성#
- 다양한 기술 스택을 사용하여 애플리케이션 생성
- 명세 기반 개발이 특정 기술, 프로그래밍 언어 또는 프레임워크에 얽매이지 않는 프로세스라는 가설 검증
엔터프라이즈 제약 조건#
- 미션 크리티컬 애플리케이션 개발 시연
- 조직적 제약 조건(클라우드 제공자, 기술 스택, 엔지니어링 관행) 통합
- 엔터프라이즈 디자인 시스템 및 규정 준수 요구사항 지원
사용자 중심 개발#
- 다양한 사용자 집단과 선호도에 맞는 애플리케이션 구축
- 다양한 개발 접근 방식(바이브 코딩부터 AI 네이티브 개발까지) 지원
창의적 및 반복적 프로세스#
- 병렬 구현 탐색 개념 검증
- 강력한 반복적 기능 개발 워크플로우 제공
- 업그레이드 및 현대화 작업을 처리하도록 프로세스 확장
🔧 사전 요구사항#
- Linux/macOS (또는 Windows의 WSL2)
- AI 코딩 에이전트: Claude Code, GitHub Copilot, Gemini CLI, 또는 Cursor
- 패키지 관리를 위한 uv
- Python 3.11+
- Git