csdd
v0.1.1
Published
Claude Skill-Driven Development Framework - AI-powered software development boilerplate
Maintainers
Readme
Claude Skill-Driven Development (CSDD) Framework
v0.1.0 - 모듈화된 AI 개발 파이프라인 프레임워크
What is CSDD?
CSDD는 소프트웨어 개발 과정을 독립적인 스킬 모듈로 분리하고, 각 스킬이 담당 영역의 CLI를 동적으로 생성하여 개발하는 프레임워크입니다.
┌─────────────────────────────────────────────────────────────────────────┐
│ CSDD Pipeline │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ requirements.md │
│ │ │
│ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Schema │ → │ API │ → │ Test │ → │ Container│ │
│ │ Designer │ │ Contract │ │ Synth │ │ Builder │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ schema.sql openapi.yaml tests/*.py Dockerfile │
│ models/*.py docker-compose │
│ │
└─────────────────────────────────────────────────────────────────────────┘Why CSDD?
기존 AI 코딩의 접근
일반적인 AI 코딩 워크플로우:
요구사항 → Claude가 코드 생성 → 에러 발생 → 피드백 → 수정 → 반복이 방식은 빠르고 직관적이지만, 프로젝트가 복잡해질수록:
- 어느 부분에서 문제가 발생했는지 파악하기 어려움
- 특정 영역(예: 스키마)만 교체하거나 개선하기 번거로움
- 개발 과정의 중간 산출물이 명확하지 않음
CSDD의 접근
CSDD는 개발 파이프라인을 **독립적인 모듈(스킬)**로 분리합니다:
요구사항 → [스키마 스킬] → [API 스킬] → [테스트 스킬] → [배포 스킬]
│ │ │ │
▼ ▼ ▼ ▼
schema.sql openapi.yaml tests/ Dockerfile각 스킬은:
- 자신이 담당하는 영역의 CLI를 생성
- 해당 CLI로 작업을 수행하고 결과물을 생성
- 문제가 있으면 해당 스킬/CLI만 수정
핵심 장점
1. 모듈화된 개발
스키마 설계에 문제가 있다면? → schema-designer 스킬만 수정
API 구조를 바꾸고 싶다면? → api-contract-gen 스킬만 교체
전체 코드를 다시 생성할 필요 없이, 문제가 있는 파이프라인 단계만 수정합니다.
2. 유연한 확장
새로운 요구사항이 생기면 스킬을 추가하여 파이프라인을 확장합니다:
- GraphQL 지원이 필요하면 →
graphql-gen스킬 추가 - 성능 테스트가 필요하면 →
perf-tester스킬 추가
3. 단계별 검증 (Phase Gate)
각 단계 완료 후 자동 검증 + 사용자 승인을 거쳐 다음 단계로 진행:
P0 (Requirements) ──[Gate]──> P1 (Design) ──[Gate]──> P2 (Implementation)
│
P5 (Export) <──[Gate]── P4 (Stabilization) <──[Gate]── P3 (Testing)문제를 조기에 발견하고, 잘못된 방향으로 진행하는 것을 방지합니다.
4. Standalone 배포
개발 중에는 스킬이 CLI를 생성하고 수정합니다. 완성되면:
# P5 단계: 스킬 의존성 없는 순수 코드로 Export스킬과의 연결고리를 제거한 독립 실행 가능한 버전으로 배포할 수 있습니다. 프로덕션 환경에서는 CSDD 프레임워크가 필요 없습니다.
5. 지속적인 업그레이드
배포 후에도 업그레이드나 새로운 기능 개발이 필요하면:
Standalone 코드 ← 다시 스킬 연결 → 스킬로 업데이트 → 새 Standalone 배포스킬은 개발 도구로 계속 활용됩니다. 일회성이 아닌 지속적인 개발 파트너입니다.
Installation
npx csdd프로젝트의 .claude/ 폴더에 스킬들이 설치됩니다:
your-project/
├── .claude/
│ └── skills/ # 파이프라인 스킬들
│ ├── global/ # 오케스트레이터, Phase 체커
│ ├── scaffold/ # 스키마, API 계약
│ ├── data/ # 테스트 데이터, 마이그레이션
│ ├── verification/ # 테스트, 검증
│ ├── documentation/ # README, CHANGELOG
│ └── deployment/ # 컨테이너, CI/CD
├── csdd.yaml # 프로젝트 설정
└── .csdd/ # 런타임 생성물
└── cli/ # 스킬이 생성한 CLI들Quick Start
# 1. CSDD 설치
npx csdd
# 2. requirements.md 작성
# (엔티티, 엔드포인트, 비즈니스 규칙)
# 3. Claude에게 오케스트레이션 요청
# "orchestrate this project"
# 4. 각 Phase를 거쳐 개발 진행
# Phase Gate에서 검증 + 승인
# 5. P5에서 Standalone 버전으로 Export스킬 구조
각 스킬은 SKILL.md(지식)와 templates/(CLI 청사진)로 구성됩니다:
skills/scaffold/schema-designer/
├── SKILL.md # 스킬의 역할, 워크플로우, CLI 생성 방법
└── templates/
└── schema_designer.py.template # CLI 템플릿스킬이 프로젝트를 분석한 후, 맥락에 맞는 맞춤형 CLI를 .csdd/cli/에 생성합니다.
7-Layer Architecture
| Layer | 역할 | 스킬 | |-------|------|------| | L0: Meta | 오케스트레이션, 계획 | project-orchestrator, phase-checker | | L1: Scaffold | 스키마, API, 구조 | schema-designer, api-contract-gen | | L2: Data | 테스트 데이터, 마이그레이션 | fake-data-factory, migration-generator | | L3: Implementation | 비즈니스 로직 | {entity}-crud (프로젝트별 자동 생성) | | L4: Verification | 테스트, 검증 | test-synthesizer, contract-verifier | | L5: Documentation | README, CHANGELOG | readme-sync, changelog-tracker | | L6: Deployment | 컨테이너, CI/CD | container-builder |
Phase Gate System
P0 (Requirements) ──[Gate]──> P1 (Design) ──[Gate]──> P2 (Skill Creation)
│
P5 (Export) <──[Gate]── P4 (Stabilization) <──[Gate]── P3 (Debugging)| Phase | 설명 | Gate 조건 | |-------|------|-----------| | P0 | 요구사항 정의 | requirements.md 완성 | | P1 | 스키마, API 설계 | schema.sql, openapi.yaml 검증 | | P2 | CLI 생성 | 모든 스킬 CLI 생성 완료 | | P3 | 구현, 테스트 | 테스트 통과, 커버리지 충족 | | P4 | 안정화 | 연속 5회 성공 | | P5 | Standalone Export | 스킬 의존성 제거된 버전 |
모든 Gate는 자동 검증 + 사용자 승인을 거칩니다.
Configuration
# csdd.yaml
project:
name: my-project
type: rest-api # rest-api | cli-tool | web-app | data-pipeline
language: python
framework: fastapi
database:
type: postgresql
orm: sqlalchemy
gates:
strict_mode: true
require_user_approval: trueSupported Project Types
| Type | 생성물 | |------|--------| | REST API | FastAPI/Express + ORM + OpenAPI + Docker | | CLI Tool | argparse/commander + man page | | Web App | React/Vue + components + Storybook | | Data Pipeline | ETL + scheduler + validation |
Documentation
| 문서 | 설명 | |------|------| | ARCHITECTURE.md | 상세 아키텍처 | | GETTING_STARTED.md | 시작 가이드 | | PHASE_GATES.md | Phase Gate 시스템 | | SKILL_DEVELOPMENT.md | 커스텀 스킬 개발 |
Summary
| 특성 | 기존 AI 코딩 | CSDD | |------|-------------|------| | 구조 | 통합된 코드 생성 | 모듈화된 파이프라인 | | 수정 | 전체 맥락에서 디버깅 | 해당 스킬/CLI만 수정 | | 확장 | 프롬프트 수정 | 스킬 추가 | | 검증 | 결과물 확인 | 단계별 Gate | | 배포 | 생성된 코드 그대로 | Standalone Export | | 유지보수 | 다시 생성 | 스킬 재활용 |
License
MIT License
Version
v0.1.0
