DDD-Based Vibe Coding

PGA-Agile
DDD 기반 바이브 코딩 CLI

DDD 기반으로 자연어 한마디에 도메인 모델과 코드를 동시에 생성합니다. Rust 단일 바이너리, 서버 없이 설치 1분.

Beta 무료 — 리얼데브러닝 회원 가입만 하면 누구나 사용할 수 있습니다

왜 필요한가요

바이브 코딩에서 AI는 이전에 만든 코드를 기억하지 못합니다. "고객 관리 만들어줘" 다음에 "주문 추가해줘"라고 하면, AI는 Customer 테이블이 있는지도 모른 채 코드를 생성합니다.

PGA-Agile은 AI에게 DDD 기반의 구조화된 도메인 모델을 줍니다. 자연어 입력에서 Aggregate, Entity, Value Object, Repository를 자동으로 식별하고, Customer Aggregate가 이미 정의되어 있으면 Order 생성 시 관계를 자동으로 설정합니다.

설치

3단계로 시작합니다

1

CLI 설치

# macOS / Linux $ curl -fsSL https://download.realdev-learning.com/cli/agile/install.sh | sh
# Windows (PowerShell) > irm https://download.realdev-learning.com/cli/agile/install.ps1 | iex
2

API 키 설정

# Anthropic Claude (기본) $ export ANTHROPIC_API_KEY="sk-ant-..." # 또는 OpenAI / Gemini $ export OPENAI_API_KEY="sk-..." $ export GEMINI_API_KEY="..."
3

로그인 & 시작

$ pga-agile-cli 리얼데브러닝에 등록한 이메일을 입력해주세요: user@example.com 비밀번호: ******** 회원 인증 중... 인증 완료: 홍길동 > 온라인 쇼핑몰을 개발하려고 해. 고객 관리부터 시작하자.

사용 예시

자연어로 말하면 백엔드, 프론트엔드, 데이터베이스가 동시에 생성됩니다

> 온라인 쇼핑몰. 고객 관리부터. [도메인/API/ER 모델 자동 생성 → 코드 생성] output/generated/ ├── backend/src/main/kotlin/com/example/shop/ │ ├── controller/CustomerController.kt │ ├── service/CustomerService.kt │ ├── domain/Customer.kt │ ├── repository/CustomerRepository.kt │ └── dto/CustomerRequest.kt, CustomerResponse.kt ├── frontend/src/ │ ├── app/(customer)/ │ ├── components/ │ ├── lib/api/customerApi.ts │ └── types/customer.ts └── database/ └── customers.sql > 주문 기능 추가해줘 [Customer 모델이 이미 있음 → 관계 자동 반영] backend/.../domain/Order.kt ← Customer와 ManyToOne 관계 frontend/src/app/(order)/ database/orders.sql ← customer_id FK 포함

자연어 의도 매핑

말하는 방식에 따라 동작이 달라집니다

표현동작
"만들어줘"모델 생성 + 코드 생성 (한번에)
"설계해줘"모델만 생성 (코드 보류)
"구현해줘"현재 모델로 코드 생성
"바꿔줘 / 추가해줘"모델 수정
"반영해줘"수정된 모델로 코드 재생성

주요 명령어

모델을 직접 확인하고 관리하세요

명령어설명
/show domain도메인 모델 표시
/show class클래스 다이어그램
/show dataER 다이어그램
/story "이름"스토리 추가
/backlog백로그 확인
/next다음 스토리 처리
/save모델 저장 (PlantUML, JSON)

설정 파일

~/.pga/config.yaml — 설치 시 자동 생성됩니다

ai: provider: anthropic # anthropic, openai, gemini model: "" # 비워두면 기본 모델 사용 output: dir: ./output metadata_dir: .pga language: ko # ko, en