UNPKG

aiwf

Version:

AI Workflow Framework for Claude Code with multi-language support (Korean/English)

321 lines (237 loc) 7.85 kB
# 독립 스프린트 가이드 [Read in English](independent-sprint-guide.md) ## 개요 독립 스프린트는 AIWF v0.3.12+의 핵심 기능으로, 마일스톤 관리의 오버헤드 없이 빠른 YOLO 실행을 가능하게 합니다. 다음과 같은 작업에 적합합니다: - 빠른 프로토타입 - 독립적인 기능 - 버그 수정 묶음 - README TODO 구현 - GitHub 이슈 해결 ## 주요 이점 ### 🚀 속도 - 마일스톤 계획 불필요 - README에서 TODO 직접 추출 - 즉시 YOLO 실행 가능 - 최소한의 설정 오버헤드 ### 🛡️ 오버엔지니어링 방지 - 내장된 엔지니어링 레벨 제어 - 포커스 규칙 강제 - 복잡도 제한 - 기본적으로 YAGNI 원칙 적용 ### 💾 복구 - 자동 체크포인트 생성 - 안전한 중단 처리 - 진행 상황 보존 - Git 상태 추적 ## 독립 스프린트 생성 ### README TODO에서 생성 ```bash aiwf sprint independent --from-readme ``` 이 명령어는: 1. README.md에서 TODO 항목, 체크박스, 기능 목록을 스캔 2. 이를 태스크로 추출 3. 최소 엔지니어링 레벨로 스프린트 생성 4. 즉시 YOLO 실행 준비 README 형식 예시: ```markdown ## TODO - [ ] 사용자 인증 추가 - [ ] API 엔드포인트 구현 - [ ] 대시보드 UI 생성 ``` ### GitHub 이슈에서 생성 ```bash aiwf sprint independent --from-issue 123 ``` 이 명령어는: 1. `gh` CLI를 사용하여 GitHub에서 이슈 #123 가져오기 2. 제목과 체크리스트 항목 추출 3. 이슈 내용에서 태스크 생성 4. 원본 이슈로 다시 링크 ### 대화형 생성 ```bash aiwf sprint independent "빠른 기능 구현" ``` 다음을 프롬프트합니다: - 스프린트 이름 - 주요 목표 - 엔지니어링 레벨 선호 ### 엔지니어링 레벨과 함께 ```bash # Minimal - 빠른 프로토타입, 필수 요소만 aiwf sprint independent "MVP 기능" --minimal # Balanced - 합리적인 속도로 좋은 품질 aiwf sprint independent "API 기능" --balanced # Complete - 모든 기능을 갖춘 완전한 구현 aiwf sprint independent "핵심 시스템" --complete ``` ## 엔지니어링 레벨 설명 ### Minimal 레벨 - **목표**: 최대한 빨리 작동하는 프로토타입 - **포커스**: 핵심 기능만 - **테스트**: 기본적인 스모크 테스트 - **문서화**: 인라인 주석만 - **리팩토링**: 문제가 있을 때만 - **사용 시기**: POC, 데모, 실험 ### Balanced 레벨 - **목표**: 좋은 관행을 따르는 프로덕션 준비 코드 - **포커스**: 깨끗하고 유지보수 가능한 코드 - **테스트**: 중요한 경로에 대한 단위 테스트 - **문서화**: README + 주요 함수 - **리팩토링**: 명확성을 위해 필요시 - **사용 시기**: 일반 기능, API ### Complete 레벨 - **목표**: 엔터프라이즈급 구현 - **포커스**: 확장성과 확장 가능성 - **테스트**: 포괄적인 테스트 커버리지 - **문서화**: 전체 API 문서 + 가이드 - **리팩토링**: 사전 최적화 - **사용 시기**: 핵심 시스템, 라이브러리 ## 독립 스프린트로 YOLO 실행 ### 기본 실행 스프린트 생성 후 다음으로 실행: ``` /project:aiwf:yolo S03 ``` ### 설정과 함께 1. YOLO 설정 생성: ```bash aiwf yolo-config wizard ``` 2. 스프린트의 엔지니어링 레벨과 일치하는 옵션 선택 3. 오버엔지니어링이 방지된다는 확신으로 실행 ### 체크포인트 복구 실행이 중단된 경우: ```bash # 상태 확인 aiwf checkpoint status # 사용 가능한 체크포인트 목록 aiwf checkpoint list # 복원 및 계속 aiwf checkpoint restore cp_1234567890 ``` ## 모범 사례 ### 1. 작게 시작하기 - 초기 구현에는 `--minimal` 사용 - 후속 스프린트에서 엔지니어링 레벨 업그레이드 - 조기 최적화 피하기 ### 2. 요구사항에 집중 - README TODO가 개발을 주도하도록 허용 - "있으면 좋은" 기능 추가 저항 - YAGNI 원칙 엄격히 따르기 ### 3. 체크포인트를 현명하게 사용 - 위험한 변경 전에 수동 체크포인트 생성 - 오래된 체크포인트 정기적으로 정리 - 일반적인 흐름에서는 자동 체크포인트 신뢰 ### 4. 목적에 맞는 레벨 매칭 - 프로토타입 → Minimal - 사용자 대면 기능 → Balanced - 핵심 인프라 → Complete ## 일반적인 워크플로우 ### README에서 빠른 기능 ```bash # 1. 기능 목록으로 README 업데이트 echo "- [ ] 검색 기능 추가" >> README.md # 2. README에서 스프린트 생성 aiwf sprint independent --from-readme --minimal # 3. YOLO로 실행 # Claude Code에서: /project:aiwf:yolo S01 ``` ### 이슈 중심 개발 ```bash # 1. 이슈에서 스프린트 생성 aiwf sprint independent --from-issue 456 --balanced # 2. 생성된 태스크 검토 aiwf-sprint status S01 # 3. 모니터링과 함께 실행 # Claude Code에서: /project:aiwf:yolo S01 ``` ### 프로토타입에서 프로덕션으로 ```bash # 1. 최소 프로토타입으로 시작 aiwf sprint independent "사용자 인증" --minimal # 실행: /project:aiwf:yolo S01 # 2. 균형잡힌 구현으로 향상 aiwf sprint independent "사용자 인증 향상" --balanced # 실행: /project:aiwf:yolo S02 # 3. 전체 기능으로 완성 aiwf sprint independent "사용자 인증 완성" --complete # 실행: /project:aiwf:yolo S03 ``` ## 문제 해결 ### 스프린트 생성 실패 **문제**: .aiwf 디렉토리를 찾을 수 없음 **해결**: AIWF가 설치된 프로젝트 루트에서 실행 **문제**: README에서 TODO를 찾을 수 없음 **해결**: 체크박스 형식으로 TODO 섹션 추가 ### YOLO 실행 문제 **문제**: 오버엔지니어링 감지됨 **해결**: 엔지니어링 레벨을 minimal로 조정 **문제**: 테스트 실패 **해결**: YOLO 설정 테스트 임계값 설정 확인 ### 체크포인트 문제 **문제**: 체크포인트를 복원할 수 없음 **해결**: Git 상태가 체크포인트와 일치하는지 확인 **문제**: 체크포인트가 너무 많음 **해결**: `aiwf checkpoint clean --keep 10` 실행 ## 고급 사용법 ### 사용자 정의 태스크 추출 `.aiwf/todo-patterns.json` 생성: ```json { "patterns": [ "TODO:", "FIXME:", "- [ ]", "기능:" ] } ``` ### 스프린트 템플릿 `.aiwf/sprint-templates/` 생성: ```yaml # api-sprint.yaml name_prefix: "API 기능" engineering_level: balanced default_tasks: - "API 엔드포인트 설계" - "컨트롤러 구현" - "테스트 추가" - "문서 업데이트" ``` ### 자동화 스크립트 ```bash #!/bin/bash # create-weekly-sprint.sh # 이번 주 이슈 추출 ISSUES=$(gh issue list --label "이번-주" --json number -q '.[].number') # 이슈에서 스프린트 생성 for issue in $ISSUES; do aiwf sprint independent --from-issue $issue --minimal done ``` ## CI/CD와의 통합 ### GitHub Actions 예시 ```yaml name: 이슈에서 스프린트 생성 on: issues: types: [labeled] jobs: create-sprint: if: github.event.label.name == 'ready-for-sprint' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: AIWF 설치 run: npm install -g aiwf - name: 스프린트 생성 run: | aiwf sprint independent \ --from-issue ${{ github.event.issue.number }} \ --minimal ``` ## 요약 독립 스프린트는 빠르고 집중된 개발을 향한 AIWF의 진화를 나타냅니다. 마일스톤 관리의 오버헤드를 제거하고 오버엔지니어링 방지를 통합함으로써, 개발자가 최소한의 마찰로 아이디어에서 구현으로 이동할 수 있게 합니다. 기억하세요: **YOLO는 무모한 것이 아닙니다 - 안전 장치가 있는 집중된 실행입니다.**