Claude Code를 사용하여 BMAD 프로젝트 워크플로우를 자동화하는 Bun TypeScript 애플리케이션입니다. 이 도구는 초안 작성부터 커밋 및 배포에 이르기까지 완전한 스토리 개발 파이프라인을 제공하며, 충돌 복구(Crash Recovery) 및 Discord 알림 기능을 갖추고 있습니다.
자동화된 스토리 파이프라인 (Automated Story Pipeline): 초안부터 배포까지의 전체 워크플로우
충돌 복구 (Crash Recovery): 강력한 상태 지속성 및 복구 메커니즘
Discord 통합 (Discord Integration): 스토리 완료에 대한 실시간 알림
Git 통합 (Git Integration): 자동화된 커밋 추적 및 변경 사항 감지
Claude Code 통합 (Claude Code Integration): 원활한 AI 보조 개발 워크플로우
이 저장소를 클론(Clone)하거나 다운로드합니다.
의존성을 설치합니다:
bun install
Discord 웹후크 URL이 포함된 .env 파일을 생성합니다:
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your-webhook-url
Claude Code가 zsh 설정에 적절히 별칭(Alias) 지정되어 있는지 확인합니다:
alias claude="/path/to/claude"
현재 디렉토리에서 실행:
bun run index.ts
특정 BMAD 프로젝트 디렉토리와 함께 실행:
bun run index.ts /path/to/bmad/project
디렉토리가 제공되지 않으면 애플리케이션이 다음과 같이 요청합니다:
bun run index.ts
# 프로젝트 디렉토리를 입력하세요 (또는 현재 디렉토리를 사용하려면 Enter를 누르세요):
애플리케이션은 구조화된 개발 파이프라인을 따릅니다:
초안 단계 (Draft Phase):
승인 단계 (Approval Phase):
개발 단계 (Development Phase):
품질 보증 (Quality Assurance):
커밋 단계 (Commit Phase):
분석 및 알림 (Analytics & Notifications):
- 명령 실행 시간 및 성공률을 추적합니다.
- 완료된 스토리(stories)에 대해 Discord 알림을 전송합니다.
index.ts: 인자 파싱(argument parsing) 및 디렉토리 검증을 포함한 CLI 진입점 (entry point)
src/bmad.ts: 상태 관리(state management) 및 분석을 포함한 메인 워크플로우 오케스트레이션 (orchestration)
src/claude.ts: 비동기 메시징 (async messaging)을 지원하는 Claude Code 프로세스 관리
src/git.ts: simple-git 라이브러리를 사용한 Git 작업
src/webhook.ts: 알림을 위한 Discord 웹훅 (webhook) 통합
src/markdown.ts: Markdown AST 파싱 및 조작 유틸리티
node-pty: 대화형 Claude Code 세션을 위한 터미널 프로세스 스포닝 (spawning)
remark: 완전한 TypeScript 지원을 제공하는 Markdown 파싱 및 조작
simple-git: 포괄적인 TypeScript 정의를 제공하는 Git 작업 라이브러리
dotenv: 환경 변수 (environment variable) 관리
lodash: 데이터 조작을 위한 유틸리티 함수
프로젝트 루트에 .env 파일을 생성하세요:
# 스토리 완료 알림을 위한 Discord 웹훅 URL
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your-webhook-url
애플리케이션은 다음 명령을 사용하여 Claude CLI 경로를 자동으로 탐색합니다:
zsh -ic "alias claude"
이를 위해서는 zsh 설정에 Claude가 적절히 에일리어스 (alias) 되어 있어야 합니다.
애플리케이션은 다음 Claude CLI 플래그 (flags)를 지원합니다:
--dangerously-skip-permissions
--output-format
--verbose
--max-turns
--model
├── index.ts # CLI 진입점
├── src/
│ ├── bmad.ts # 메인 워크플로우 오케스트레이션
...
# 애플리케이션 시작
bun run start
# TypeScript로 직접 실행
...
-
애플리케이션은 신뢰할 수 있는 Claude 명령 실행을 위해 프린트 모드 (-p)를 사용합니다.
-
복잡한 상호작용의 경우 node-pty를 사용하는 대화형 모드 (interactive mode)로 전환합니다.
-
모든 명령은 실행 시간 및 종료 코드 (exit codes)를 포함하여 분석 데이터로 추적됩니다.
-
충돌 복구 (crash recovery)를 위해 상태 (state)가 유지됩니다.
-
Bun이 설치되어 있고 적절하게 설정되었는지 확인하십시오
-
기존의 TypeScript 패턴과 코드 스타일을 따르십시오
-
실제 BMAD 프로젝트로 변경 사항을 테스트하십시오
-
필요에 따라 문서를 업데이트하십시오
ISC License - 자세한 내용은 package.json을 참조하십시오
Sam Hoque