본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 21. 00:49

SamHoque/BMAD-Workflow-Automation

요약

Claude Code를 활용하여 BMAD 프로젝트의 스토리 개발 파이프라인을 자동화하는 Bun 기반의 TypeScript 애플리케이션입니다. 초안 작성부터 개발, QA, Git 커밋 및 Discord 알림에 이르는 전 과정을 자동화하며, 충돌 복구 기능을 통해 안정적인 워크플로우를 제공합니다.

핵심 포인트

  • Claude Code를 활용한 초안 작성, 개발, QA, 커밋의 전 과정 자동화
  • Bun 런타임을 사용한 고성능 TypeScript 애플리케이션 구현
  • 상태 지속성 및 충돌 복구(Crash Recovery) 메커니나즘 지원
  • Discord 웹후크를 통한 실시간 작업 완료 알림 기능
  • MCP 서버 및 context7을 활용한 최신 라이브러리 문서 참조

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 보조 개발 워크플로우

  • Bun 런타임 (Runtime)

  • 적절한 별칭(Alias) 설정이 완료된 Claude Code CLI

  • 대상 프로젝트를 위한 Git 저장소

  • Discord 웹후크(Webhook) URL (선택 사항, 알림용)

이 저장소를 클론(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):

  • docs/stories/에 기존 초안이 있는지 확인합니다.

  • 필요한 경우 /BMad:agents:sm *draft를 통해 새 초안을 생성합니다.

  • 기존 초안을 확인합니다.

승인 단계 (Approval Phase):

  • 마크다운 AST 조작을 사용하여 스토리 상태를 "Draft"에서 "Approved"로 업데이트합니다.

개발 단계 (Development Phase):

  • 완전한 스토리를 개발하기 위해 /BMad:agents:dev *develop-story {story_name}을 실행합니다.

  • 최신 라이브러리 문서를 위해 context7을 포함한 사용 가능한 MCP 서버를 활용합니다.

  • 실행합니다.

품질 보증 (Quality Assurance):

  • 종합적인 품질 검사를 위해 /BMad:agents:qa *review를 실행합니다.

  • 실행 (Runs)

커밋 단계 (Commit Phase):

  • /commit 명령을 실행하고 모든 git 변경 사항을 추적합니다.

  • 실행 (Executes)

분석 및 알림 (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

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0