프로젝트 소개

## 개요 jira-integration은 Claude Code용 플러그인으로, Jira 이슈 하나를 브랜치 생성 → 접근 설계 → 구현 → 테스트 → 리뷰 → 로컬 병합까지 처리하고 각 단계의 결과를 Jira 코멘트·첨부·상태 전이로 남긴다. 여러 이슈를 큐에 넣고 순차 소진한 뒤, 통과/격리 결과를 예외 리포트 한 장으로 요약해 사람이 격리 건만 판단하도록 설계되어 있다. ## 동작 구조 두 개의 루프로 구성된다. - 단계 루프(`auto`): 한 태스크를 start → approach → impl+test → review 순으로 진행. 각 단계는 격리된 sub-agent로 실행되고 단계별로 다른 모델이 배정된다. 리뷰 게이트는 설계-구현 매칭률과 Critical 건수를 구조화된 값으로 판정하며, 미통과 시 수정 agent가 lint·typecheck·관련 테스트만 도는 센서 루프(최대 5회)로 수렴시킨 뒤 전체 테스트와 delta 재리뷰를 각 1회 수행한다. 바깥 루프 상한은 2회. - 태스크 루프(`loop`): `init`으로 구성한 큐를 순서대로 소진하며 태스크마다 auto → 로컬 `--no-ff` 병합 → 남은 worktree rebase를 수행. 게이트 미통과·단계 실패·병합/rebase 충돌 시 해당 태스크만 격리하고 다음으로 진행한다. 인증(401/403)·MCP 연결·base 손상 같은 인프라 신호나 서로 다른 태스크의 연속 실패 시에만 전체를 중단한다. 제어 흐름은 프롬프트 해석이 아니라 Workflow 스크립트(`scripts/auto.workflow.js`)가 결정론적으로 실행한다고 문서에 명시되어 있다. ## Jira 연계 이슈 키 하나가 브랜치(`feature/<KEY>`), worktree, 컨텍스트 파일에 대응한다. 메인 레포의 `.jira-context.json`은 큐 전체를 담는 aggregate이고 각 worktree의 것은 해당 태스크 상태다. 명령별로 상태 전이(할 일→진행 중→검토 중→완료), 코멘트, 첨부(approach/review 문서, 테스트 리포트)가 발생한다. 격리는 Jira를 변경하지 않고 로컬 상태로만 기록된다. Jira 호출은 표준 라이브러리만 사용하는 `scripts/jira-cli.py`(REST)가 담당하며, 자격증명은 워크스페이스 단위 `.jira-context.json`의 `jira` 블록에 저장되고 환경변수·레거시 MCP 설정에서 자동 이관된다. MCP 서버 등록은 선택 사항이다. ## 주요 명령 - 이슈 생성: `epic set/show/clear`, `discover`, `create` - 큐/자동화: `init`, `loop`, `auto` - 개별 단계: `start`, `approach`, `impl`, `test`, `review`, `merge`, `pr`, `done` - 조회/정리: `status`, `report`, `clean` - 기타: `/jira setup`, `/jira dashboard` ## 운영 규칙 작업 규모를 L1/L2/L3로 판정해 산출물 분량과 리뷰 깊이를 조정하며, 데이터 모델·트랜잭션 경계·외부 API 계약·동시성·보안 경계를 건드리면 L1이어도 L2로 승급된다. `start`는 approach와 test 두 단계에 한해 스킵을 권고할 수 있고 impl·review·merge는 스킵되지 않는다. 모든 단계는 `completedSteps`에 기록되어 재실행 시 완료 단계를 건너뛴다. ## 산출물과 대시보드 `docs/` 아래에 requirements, approach, test, review 문서와 review-log·run-log(jsonl)가 쌓인다. run-log와 review-log는 리뷰 오탐률·단계 소요·fix 빈도·격리 사유 등 하니스 자체의 관측 데이터로 쓰인다. 대시보드는 `http://127.0.0.1:8765`에서 worktree별 카드(진행 단계, 도구 호출, Jira 상태, blocks 그래프)를 SSE로 실시간 표시하며 localhost 전용이고 인증이 없다. ## 라이선스 MIT.