
# 다이어그램 생성 지침

1. SWOT, PEST 분석 전용 규칙 (섹션이 SWOT 분석 또는 PEST 분석인 경우)
   digraph G {{
     node [shape=none];
     swot [label=<
       <table border="0" cellborder="1" cellspacing="0" cellpadding="10">
         <tr>
           <td bgcolor="#e7f5ff" port="s"><b>분석 대상</b><br align="left"/>• 항목 1<br align="left"/>• 항목 2</td>
           <td bgcolor="#fff3bf" port="w"><b>분석 대상</b><br align="left"/>• 항목 1<br align="left"/>• 항목 2</td>
         </tr>
         <tr>
           <td bgcolor="#ebfbee" port="o"><b>분석 대상</b><br align="left"/>• 항목 1<br align="left"/>• 항목 2</td>
           <td bgcolor="#ffe3e3" port="t"><b>분석 대상</b><br align="left"/>• 항목 1<br align="left"/>• 항목 2</td>
         </tr>
       </table>
     >];
   }}

   - SWOT 분석 대상 : 강점(Strengths), 약점(Weaknesses), 기회(Opportunities), 위협(Threats)
   - PEST 분석 대상 : 정치(Political), 경제(Economic), 사회(Social), 기술(Technological)

2. 계층형 조직도 전용 규칙 (섹션이 추진체계/조직구성인 경우)
   digraph G {{
     rankdir=TB;  // 위에서 아래로 진행
     splines=ortho;  // 직각 화살표
     ranksep=1.0;  // 계층 간 간격
     nodesep=0.8;  // 노드 간 간격

     // 계층별 스타일 정의
     node [shape=box, style="rounded,filled", fontname="Pretendard"];

     // 최상위 계층 (예: 이사회, 대표이사)
     node [fillcolor="#e7f5ff", color="#1971c2"] {{
       top_level;  // 최상위 노드
     }}

     // 중간 관리 계층 (예: 본부, 실, 단)
     node [fillcolor="#fff3bf", color="#e67700"] {{
       mid_level1; mid_level2;  // 중간 계층 노드
     }}

     // 실무 계층 (예: 팀, 파트)
     node [fillcolor="#ebfbee", color="#2b8a3e"] {{
       team1; team2; team3;  // 실무 계층 노드
     }}

     // 외부 협력 계층 (예: 협력사, 자문단)
     node [fillcolor="#ffe3e3", color="#e03131"] {{
       external1; external2;  // 외부 협력 노드
     }}

     // 계층별 정렬 (같은 레벨의 노드들을 수평 정렬)
     {{ rank=same; mid_level1; mid_level2; }}  // 중간 계층 수평 정렬
     {{ rank=same; team1; team2; team3; }}     // 실무 계층 수평 정렬
     {{ rank=same; external1; external2; }}     // 외부 협력 계층 수평 정렬

     // 관계 표현
     edge [color="#495057", arrowhead=normal];
     top_level -> {{mid_level1; mid_level2}};
     mid_level1 -> {{team1; team2}};
     mid_level2 -> team3;
     team1 -> external1 [style=dashed];  // 외부 협력 관계는 점선으로 표시
   }}

   - 계층별 색상 규칙:
     * 최상위 계층: #e7f5ff (연한 파란색)
     * 중간 관리 계층: #fff3bf (연한 노란색)
     * 실무 계층: #ebfbee (연한 초록색)
     * 외부 협력 계층: #ffe3e3 (연한 빨간색)

   - 계층 구분 규칙:
     * 각 계층은 rank=same으로 수평 정렬
     * 계층 간 간격은 ranksep=1.0으로 설정
     * 같은 계층 내 노드 간격은 nodesep=0.8로 설정
     * 직각 화살표 사용 (splines=ortho)

   - 관계 표현 규칙:
     * 직속 관계: 실선 화살표
     * 기능적 관계: 점선 화살표
     * 협력 관계: 양방향 점선 화살표
     * 자문/지원 관계: 측면 연결 점선

   - 노드 레이블 규칙:
     * 조직명과 역할을 함께 표시
     * 2줄 이내로 제한
     * 책임자/담당자는 괄호로 표시
     * 인원수 정보는 선택적 표시

3. 간트 차트 전용 규칙 (섹션이 추진일정/사업일정인 경우)
   digraph G {{
     rankdir=LR;  // 왼쪽에서 오른쪽으로 진행
     node [shape=box, style="rounded,filled", fillcolor="#fff3bf", color="#e67700"];
     edge [color="#e67700", arrowhead=vee];

     // 타임라인 표현
     subgraph cluster_timeline {{
       label="사업 기간";
       style="rounded";
       color="#e67700";
       node [shape=none, width=1.5];  // 타임라인 노드

       // 월별/분기별 구분
       M1 [label="1분기\n(1-3월)"];
       M2 [label="2분기\n(4-6월)"];
       M3 [label="3분기\n(7-9월)"];
       M4 [label="4분기\n(10-12월)"];
       
       // 타임라인 연결
       M1 -> M2 -> M3 -> M4 [style=invis];
     }}

     // 작업 항목 표현
     subgraph cluster_tasks {{
       label="주요 작업";
       style="rounded";
       color="#e67700";
       
       task1 [label="기획 및 설계\n(1-2분기)"];
       task2 [label="개발\n(2-3분기)"];
       task3 [label="테스트\n(3-4분기)"];
       
       // 작업 간 의존성
       task1 -> task2 -> task3;
     }}
   }}

   - 타임라인 표현 규칙:
     * 분기별 구분: 3개월 단위로 구분
     * 월별 구분: 중요 마일스톤이 있는 경우
     * 기간 표시: 시작-종료 월을 명확히 표시
     * 진행 상태: fillcolor로 구분
       - 완료: "#ebfbee" (연한 초록)
       - 진행중: "#fff3bf" (연한 노랑)
       - 예정: "#e7f5ff" (연한 파랑)
       - 지연: "#ffe3e3" (연한 빨강)

   - 작업 표현 규칙:
     * 주요 작업은 둥근 모서리 박스로 표현
     * 작업 기간을 레이블에 명시
     * 작업 간 의존성은 화살표로 표현
     * 중요 마일스톤은 다이아몬드 형태로 강조
     * 작업 설명은 2줄 이내로 제한

   - 레이아웃 규칙:
     * rankdir=LR 설정으로 왼쪽에서 오른쪽으로 진행
     * 타임라인과 작업을 별도의 cluster로 구분
     * 동시 진행 작업은 같은 rank에 배치
     * 시간 순서대로 정렬하여 배치
     * 전체 가로 길이는 세로 길이의 2배 이내로 제한

4. 시스템 아키텍처 전용 규칙 (섹션이 시스템 구성도/아키텍처인 경우)
   - 계층 구조 표현
     * 사용자 계층: 최상단 배치, 연한 파란색(#e7f5ff)
     * 프레젠테이션 계층: 둥근 모서리 직사각형, 연한 노란색(#fff3bf)
     * 비즈니스 로직 계층: 둥근 모서리 직사각형, 연한 초록색(#ebfbee)
     * 데이터 계층: 원통형, 연한 보라색(#f3f0ff)
     * 외부 시스템: 육각형, 연한 빨간색(#ffe3e3)

   - 컴포넌트 표현
    digraph G {{
       user [shape=box, style="rounded,filled", fillcolor="#e7f5ff"]
       api [shape=component, style="filled", fillcolor="#fff3bf"]
       db [shape=cylinder, style="filled", fillcolor="#f3f0ff"]
       external [shape=hexagon, style="filled", fillcolor="#ffe3e3"]
       security [shape=shield, style="filled", fillcolor="#e6f4ff"]
     }}

   - 통신 표현
     * 동기 통신: 실선 화살표 [style="solid"]
     * 비동기 통신: 점선 화살표 [style="dashed"]
     * REST API: edge [label="REST API"]
     * 메시지 큐: edge [label="Message Queue"]
     * 양방향 통신: dir="both"

   - 보안 요소
     * 방화벽: [shape=shield]
     * SSL/TLS: [label="SSL/TLS", color="#4c6ef5"]
     * 인증/인가: [label="Auth", shape=shield]

   - 확장성 표현
     * 로드밸런서: [shape=triangle]
     * 복제(Replication): [style=dashed]
     * 캐시 계층: [shape=box3d]

5. 네크워크 구성도 전용 규칙
   - 인프라 구조
     * 네트워크 영역별 구분: subgraph cluster_name
     * 가용 영역 구분: 점선 테두리 사용
     * 컨테이너 환경: 육각형 사용

   - 배포 환경 구분
     subgraph cluster_dev {{
       label="Development"
       style="rounded"
       color="#e7f5ff"
     }}
     subgraph cluster_prod {{
       label="Production"
       style="rounded"
       color="#ebfbee"
     }}

   - 성능/리소스 정보
     * 서버 스펙: 노드 레이블에 포함
     * 네트워크 대역폭: 엣지 레이블에 포함
     * 스토리지: 용량 정보 레이블에 포함

6. 기본 레이아웃 규칙 (일반 다이어그램의 경우)
   - 가로 너비는 세로 높이의 1.5배를 초과하지 않도록 설정 (size="8.5,11!")
   - 노드 간 최소 간격 0.8 유지 (nodesep=0.8)
   - 계층 간 최소 간격 1.0 유지 (ranksep=1.0)
   - 직각 화살표 사용 (splines=ortho)
   - 복잡한 관계는 자동 정리 (concentrate=true)

7. 노드 디자인 규칙
   - 모든 노드는 둥근 모서리 사용 (style=rounded)
   - 노드 내용은 2-3줄로 제한
   - 한 계층당 최대 7개 노드로 제한
   - 노드 크기는 내용에 맞게 자동 조정
   - 한글 폰트는 Pretendard 사용

8. 색상 사용 규칙
   - SWOT 분석:
     * 강점 (Strengths): #e7f5ff (연한 파란색)
     * 약점 (Weaknesses): #fff3bf (연한 노란색)
     * 기회 (Opportunities): #ebfbee (연한 초록색)
     * 위협 (Threats): #ffe3e3 (연한 빨간색)
   - 일반 다이어그램:
     * 주요 노드: #e7f5ff (연한 파란색)
     * 보조 노드: #F8F9FA (연한 회색)
     * 강조 노드: #FFD43B (연한 노란색)
     * 화살표: #495057 (회색)

9. 레이블 작성 규칙
   - 노드 레이블: 명사형으로 간단히 표현
   - 화살표 레이블: 동사형으로 관계 표현
   - 계층 레이블: "XXX Layer" 형식 사용
   - 모든 레이블은 한글 사용

10. 복잡도 관리 규칙
   - 전체 노드 수 20개 이하로 제한
   - 화살표는 가능한 교차하지 않도록 배치
   - 복잡한 관계는 계층 구조로 단순화
   - 중요하지 않은 세부사항은 생략