4.4 KiB
Executable File
4.4 KiB
Executable File
Plan 자동화 보드
목적
src/features/planBoard는 Plan 등록부터 자동 작업, release 검수, main 동기화 전 단계까지 한 화면 흐름으로 관리하는 기능 묶음입니다.
현재 문서는 기존 개선 제안 메모를 대신해 실제 구현 기준의 운영 문서로 사용합니다.
화면 구성
all: 전체 자동화 목록in-progress: 완료 전 항목 중심 목록error: 열린 이슈가 있는 항목 중심 목록done: release 완료 기준 목록board: 상세 편집과 이력 조회 중심 보드release-review: release 검수 전용 화면charts: 최근 작업 추이 차트schedule: 반복 등록 스케줄 관리history: 향후 이력 확장 메뉴용 영역
라우팅과 메뉴 정의는 src/app/main/routes.tsx, src/app/main/MainContent.tsx에서 관리합니다.
문서 반영 방식
- 이 문서를 포함한
docs/features/*.md는 메인 앱Docs / 기능문서메뉴에서 자동 수집됩니다. - 문서 추가만으로 별도 라우트를 만들지는 않으며,
Docs화면의 markdown 목록에 합류하는 방식입니다. - 노출 순서와 폴더 라벨은
src/app/main/layout/useMainLayoutData.ts,src/app/main/routes.tsx에서 결정합니다.
상태 모델
기본 상태는 src/features/planBoard/types.ts에 정의되어 있습니다.
등록작업중작업완료릴리즈완료완료
실제 자동화 진행은 별도 workerStatus로 관리합니다. 대표값은 다음과 같습니다.
- 진행:
브랜치생성중,자동작업중,release반영중,main반영중 - 대기:
브랜치준비,release반영대기,main반영대기 - 실패:
브랜치실패,자동작업실패,release반영실패,main반영실패
즉, 사용자에게 보이는 업무 상태와 자동 워커 상태를 분리해서 표현합니다.
주요 사용 흐름
- 작업을 등록하면 Plan 항목이 생성됩니다.
작업시작또는 자동화에 따라 브랜치 준비와 작업이 진행됩니다.- 작업이 완료되면 release 반영 상태와 main 반영 대기 여부가 추적됩니다.
- release 검수 화면에서 샘플/위젯/변경 파일을 확인하고 검수 상태를 갱신합니다.
- main 반영이 끝나면 최종 완료 흐름으로 정리됩니다.
목록 기능
PlanBoardPage.tsx 기준으로 다음 기능이 구현되어 있습니다.
- 검색:
workId, 메모, 상태, 브랜치, 워커 상태, 이슈 태그 검색 - 보조 필터: 작업자 상태, release 상태, main 상태, 이슈 상태
- 빠른 필터: 현재 작업중, 현재 release 상태, 현재 자동화 실패
- 정렬: 진행 목록에서는 자동화 우선순위를 먼저 적용하고, 그 외에는 최근 갱신순 정렬
- 페이지네이션: 목록 10개 단위
상세 기능
선택한 Plan 항목은 오버레이에서 상세 확인과 후속 조치를 처리합니다.
- 원본 요청 보기
- 작업 체크리스트
- 릴리즈 준비 요약
- 소스 작업 내역
- 조치 / 이슈 이력
- 추가 조치 기록
- 이슈 조치 기록
- 작업 소스 / diff / command log / 증적 / 파일 뷰어
원본 요청은 startedAt 이후 잠기며, 이후 변경은 조치 이력으로 누적합니다.
실행 액션
상태와 workerStatus에 따라 다음 액션 버튼이 조건부로 노출됩니다.
작업시작작업완료 처리브랜치 재시도작업 재처리release 반영 재시도작업취소main 일괄 반영 요청
세부 액션은 /plan/items/:id/actions/:action API로 실행됩니다.
자동 새로고침과 알림
- 자동화가 진행/대기 상태일 때만 자동 조회 타이머가 동작합니다.
- 주기는
appConfig.automation.autoRefreshIntervalSeconds를 따릅니다. - 길게 눌러 자동 조회 On/Off를 전환할 수 있습니다.
- 설정값에 따라 자동화 시작/실패 메시지를 toast로 알립니다.
권한 처리
권한 토큰이 없는 경우 조회 중심으로 동작합니다.
- 수정/삭제/조치/스케줄 저장 비활성화
- 민감한 요청 메모는 마스킹
- 소스 작업 상세/증적 확인 제한
토큰 처리와 헤더 부착은 src/app/main/tokenAccess.ts, src/features/planBoard/api.ts에서 담당합니다.
연관 문서
- 자동화/구현 방식:
docs/features/plan-automation.md - 스케줄 사용법:
docs/features/plan-schedule.md - 활용 가이드:
docs/features/plan-usage.md