OpenSpec - 코딩 에이전트와 구현 전에 명세를 맞추는 개발 도구

14 hours ago 9

대화 기록에만 남아 있던 요구사항을 명세와 구현 계획으로 정리하고, 사람이 검토한 뒤 AI가 코드를 작성하도록 돕는 도구 변경 작업마다 제안서, 요구사항과 시나리오, 기술 설계, 작업 목록을 별도 폴더에 모아 무엇을 왜 바꾸는지 함께 관리 문제 탐색부터 구현과 검증, 완료한 변경의 보관까지 지원하며, 진행 중에도 명세와 계획을 수정할 수 있어 정해진 단계를 일방향으로 따를 필요는 없음 명세는 Markdown 파일로 저장하며, Claude Code, Codex, Cursor, GitHub Copilot 등 기존 코딩 도구에서 명령과 스킬로 활용 가능 새 프로젝트뿐 아니라 기존 코드베이스의 기능 추가와 변경에도 사용할 수 있으며, MIT 라이선스로 공개됨 대화 속 요구사항을 검토 가능한 명세로 남김 OpenSpec은 코딩 에이전트를 대체하는 도구가 아니라, 기존 에이전트와 무엇을 만들지 합의하고 구현 과정을 관리하는 명세 중심 개발 도구임 요구사항이 대화에만 남아 있으면 구현 전에 오해를 확인하기 어렵고, 이후 변경 이유를 찾으려면 과거 대화를 뒤져야 함 AI가 요구사항과 계획의 초안을 작성하고, 사람이 검토하고 조정한 뒤 구현을 시작하는 흐름을 제공 문서는 Markdown 파일로 저장해 코드와 함께 관리하며, 다음 에이전트 세션에서도 같은 요구사항과 계획을 참고할 수 있음 변경 하나에 제안, 명세, 설계와 작업 목록을 묶음 기능 추가나 수정마다 openspec/changes/ 아래에 별도 폴더를 만들고, 해당 작업에 필요한 문서를 모음 proposal.md: 왜 바꾸는지, 무엇을 바꾸는지 specs/: 요구사항과 구체적인 동작 시나리오 design.md: 기술적인 구현 접근법 tasks.md: 구현할 작업의 체크리스트 명세는 추상적인 목표뿐 아니라 어떤 상황에서 어떤 결과가 나와야 하는지를 기술함 다크 모드라면 “사용자가 테마 전환 버튼을 누르면 화면이 바뀌고, 선택한 테마가 저장됨” 같은 시나리오를 작성 현재 시스템의 명세와 진행 중인 변경을 구분해 관리함 openspec/specs/에는 현재 시스템의 동작을 정리 개별 변경에는 추가, 수정, 삭제할 요구사항만 기록하는 변경 명세(delta specs) 를 작성 기존 코드베이스 전체를 먼저 문서화하지 않고도, 이번 작업에서 달라지는 부분부터 명세로 관리할 수 있음 탐색부터 구현, 명세 반영까지 기본 작업 흐름은 문제 탐색, 변경 제안, 구현, 명세 동기화와 보관...

Read Entire Article