zioinfo-mail/manager/.claude/skills/manager-roadmap/SKILL.md
DESKTOP-TKLFCPR\ython b217d101f0 feat(harness): Messenger·Manager·ITSM 하네스 확장 + 추가 개발 제안서 3종
## Messenger 하네스 확장
- agents/feature-developer.md — 신규 기능 화면 개발 전문 에이전트
  (DR·네트워크·CSAP·생체인증·오프라인·Kanban·다크모드·멀티기관·인시던트·실시간)
- skills/new-features/SKILL.md — 10가지 신규 기능 React Native 구현 가이드
- messenger-orchestrator description 확장 (신규 기능 트리거 추가)

## Manager 하네스 확장
- agents/roadmap-planner.md — Manager 추가 개발 기획 전문 에이전트
- skills/manager-roadmap/SKILL.md — MG-01~MG-09 페이지 구현 가이드
- manager-orchestrator description 확장 (로드맵/MG 트리거 추가)

## ITSM 하네스 확장
- agents/roadmap-planner.md — ITSM 추가 개발 기획 에이전트
- skills/itsm-roadmap/SKILL.md — I-01~I-10 기능 제안 카탈로그

## 추가 개발 제안서 3종 (docs/)
- MESSENGER_NEXT_FEATURES.md — 모바일 신규 기능 10종 (M-01~M-10)
- ITSM_NEXT_FEATURES.md — ITSM 신규 기능 10종 (I-01~I-10)
- MANAGER_NEXT_FEATURES.md — Manager 신규 페이지 9종 (MG-01~MG-09)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 09:44:52 +09:00

5.7 KiB

name description
manager-roadmap GUARDiA Manager 추가 개발 제안 및 신규 페이지 기획 스킬. 기존 M-01~M-08 이후 추가 기능(DR 관제, 네트워크 장비 관제, CSAP 준수율, 멀티기관 통합 관제, 실시간 성능 그래프 등)을 React 18 + Vite + TypeScript 패턴으로 설계·구현 가이드를 제공한다. 다음 상황에서 반드시 사용: (1) 'Manager 추가 기능', '신규 페이지 추가', '로드맵 작성' 요청; (2) 'DR 관제', '네트워크 관제', 'CSAP 대시보드' Manager 연동; (3) '실시간 그래프', '멀티기관', '화이트라벨' 기능 추가; (4) 다시 실행, 업데이트, 수정, 보완 요청. 네이버 클라우드 콘솔 UX 패턴을 반드시 준수한다.

GUARDiA Manager 로드맵 스킬

기존 구현 현황 (16개 페이지)

frontend/src/pages/
├── admin/           Dashboard, CMDB, Servers, Institutions
├── Deployments.tsx  CI/CD 배포 이력
├── Repos.tsx        Gitea 저장소
├── Users.tsx        사용자 관리
├── Licenses.tsx     라이선스 관리
├── LLMManager.tsx   Ollama 모델 관리
├── ConfigEnv.tsx    환경변수 관리
├── ConfigNginx.tsx  Nginx 설정
├── ExportImport.tsx 폐쇄망 데이터 연동
├── ApiKeys.tsx      API Key 관리
├── AuditLog.tsx     감사 로그
├── Notifications.tsx 알림 관리

신규 페이지 구현 패턴

신규 페이지 기본 구조 (NCloud 스타일)

// pages/DrConsole.tsx
import { useEffect, useState } from 'react'
import { itsm } from '../api/itsm'  // 기존 ITSM axios 인스턴스

interface DRDashboard {
  total_scenarios: number
  pass_count:      number
  fail_count:      number
  recent_tests:    DRTestSummary[]
}

export default function DrConsole() {
  const [data, setData] = useState<DRDashboard | null>(null)
  const [loading, setLoading] = useState(true)

  useEffect(() => {
    itsm.get('/api/dr/dashboard')
      .then(r => setData(r.data))
      .finally(() => setLoading(false))
  }, [])

  return (
    <div className="manager-page">
      <div className="page-header">
        <h1>DR 재해복구 관제</h1>
        <button onClick={() => itsm.post('/api/dr/test', { scenario_id: 1 })}>
          복구 테스트 실행
        </button>
      </div>
      {/* NCloud 스타일 상태 카드 + 테이블 */}
    </div>
  )
}

사이드바 메뉴 추가 (src/components/Sidebar.tsx)

신규 페이지 추가 시 기존 Sidebar에 항목만 추가:

// 기존 메뉴 구조에 추가
{ path: '/dr',      label: 'DR 관제',    icon: ShieldCheckIcon },
{ path: '/network', label: '네트워크',   icon: ServerIcon },
{ path: '/csap',    label: 'CSAP 점검',  icon: ClipboardCheckIcon },

추가 개발 제안 카탈로그

Quick Win (1~2주)

MG-01. DR 관제 통합 (DrConsole.tsx)
  - /api/dr/dashboard + /api/dr/rto-rpo 연동
  - 시나리오 PASS/FAIL 상태 배지 + RTO 게이지
  - 복구 테스트 실행 버튼 (ADMIN)
  - 난이도: L | 임팩트: H | 공수: 1주

MG-02. 네트워크 장비 관제 (NetworkConsole.tsx)
  - /api/network/devices + /api/network/topology 연동
  - 장비 타입별 상태 카드 + 미백업 경고
  - SSH 명령 실행 모달
  - 난이도: L | 임팩트: M | 공수: 1주

MG-03. CSAP 준수율 대시보드 (CsapConsole.tsx)
  - /api/compliance/csap/dashboard 연동
  - 기관별 등급(A~D) 컬러 테이블
  - 점검 실행 + Excel/HTML 보고서 다운로드
  - 난이도: L | 임팩트: H | 공수: 1주

중기 (3~5주)

MG-04. 실시간 서버 성능 그래프 (PerformanceMonitor.tsx)
  - SSE 연결 → Chart.js 실시간 시계열 그래프
  - CPU/메모리/디스크 멀티 서버 비교
  - 임계값 초과 시 Manager UI 경고 배너
  - 난이도: M | 임팩트: H | 공수: 3주

MG-05. 자동화 플레이북 UI (PlaybookManager.tsx)
  - 플레이북 등록/수정/실행 관리
  - 실행 로그 실시간 SSE 스트리밍
  - 성공/실패 이력 테이블
  - 난이도: M | 임팩트: H | 공수: 3주

MG-06. 멀티기관 통합 관제 (MultiSiteConsole.tsx)
  - 기관별 헬스체크 배치 결과 지도/그리드
  - SLA 위반 기관 상위 표시
  - 기관별 드릴다운 상세 조회
  - 난이도: M | 임팩트: H | 공수: 4주

장기 (6주+)

MG-07. 화이트라벨 테마 (ThemeCustomizer.tsx)
  - 기관별 로고·색상 커스터마이징
  - CSS 변수 기반 동적 테마 적용
  - 난이도: H | 임팩트: M | 공수: 6주

MG-08. SLA 예측 분석 대시보드 (SLAPrediction.tsx)
  - /api/sla_predict 연동 (ITSM 신규 구현 후)
  - 위반 위험 SR 상위 표시
  - 예측 정확도 지표
  - 난이도: H | 임팩트: H | 공수: 5주 (ITSM 선행 필요)

MG-09. 모바일 반응형 개선
  - 태블릿/스마트폰 브레이크포인트 최적화
  - 터치 친화적 테이블/차트 컴포넌트
  - 난이도: M | 임팩트: M | 공수: 4주

API 프록시 추가 패턴 (backend/routers/)

ITSM API를 Manager backend가 프록시할 경우:

# backend/routers/dr_proxy.py (선택 — 직접 연동도 가능)
import httpx
from fastapi import APIRouter, Depends
ITSM_URL = "http://localhost:8001"

router = APIRouter(prefix="/api/proxy/dr", tags=["dr-proxy"])

@router.get("/dashboard")
async def dr_dashboard(token: str = Depends(get_token)):
    async with httpx.AsyncClient() as c:
        r = await c.get(f"{ITSM_URL}/api/dr/dashboard",
                        headers={"Authorization": f"Bearer {token}"})
        return r.json()

대부분의 경우 frontend에서 ITSM API 직접 호출이 더 단순하다. 프록시는 CORS 문제가 있거나 토큰 변환이 필요할 때만 사용한다.