﻿# PRD — 직무 위키·개념 연결 도우미

> **실습 방식**: 내 PC 안(로컬) · Claude 데스크톱 앱 **Code** 탭 · 다운로드 › **Test** 폴더 · 가상 데이터만 사용
> 이 문서를 Claude Code가 그대로 읽고 앱을 만듭니다. 고치고 싶은 곳은 직접 고쳐도 됩니다.

## 1. 한 줄 정의
개인 드라이브·메일·회의록에 흩어진 업무 문서를 **Claude Code가 읽어 위키 항목과 개념 연결(온톨로지)로 정리**하고, 직원은 앱에서 검색·열람·연결 그래프로 찾아 **담당자가 바뀌어도 바로 일할 수 있게** 돕는 직무 보조도구.

## 2. 누가 쓰나
| 역할 | 하는 일 |
|---|---|
| 직원(신입·경력·기존 담당자) | 검색창에 업무 이름 입력 → 요약·절차·주의사항·출처 문서 확인, 연결된 개념으로 이동 |
| 위키 관리자(팀 대표 1명) | 새 문서를 `docs.csv` 에 추가하고 Claude Code에게 위키 정리를 맡김, 못 찾은 검색어 확인 |

## 3. 오늘 만들 기능 (필수)
- [ ] **위키 검색·열람**: 검색창 + 항목 화면(세 줄 요약·절차 단계 카드·주의사항·출처 문서·연결 개념 버튼)
- [ ] **개념 연결 그래프**: 개념을 점, 관계를 선으로 그리고 점에 마우스를 올리면 이어진 것만 강조, 누르면 그 항목 열기
- [ ] **활용 현황**: 많이 찾은 검색어 막대, 못 찾은 검색어 목록, 주간 검색 수 선 그래프, 검색 성공률 막대, 문서 유형 도넛
- [ ] **Claude Code 위키 정리**: `docs.csv` 를 읽고 `wiki.json`(항목 + 개념 연결) 작성 → 앱이 읽어 표시
- [ ] **항목 내보내기**: 보고 있는 항목을 텍스트(md)로 저장

## 4. 화면 구성
1. **상단**: 앱 이름 · [위키 검색·열람 / 개념 연결 · 활용 현황] 탭 · 문서 수 → 항목 수 표시
2. **열람 탭**: 왼쪽(많이 찾은 검색어 · 못 찾은 검색어 · Claude Code 제안) + 오른쪽(검색창 → 항목 본문)
3. **연결 탭**: 개념 연결 그래프(왼쪽 큰 카드) + 항목·개념·연결 수, 검색 성공률, 주간 검색 수, 문서 유형(오른쪽)
4. 그래프·막대에 **마우스를 올리면 수치·관계가 말풍선으로** 보임

## 5. 데이터 — 파일과 항목 (모두 가상 데이터)
| 파일 | 항목 |
|---|---|
| `data/docs.csv` | 문서ID, 제목, 부서, 유형(매뉴얼/메일/규정/회의록/보고서), 작성자, 작성일, 본문 |
| `data/terms.csv` | 용어, 분류(업무/시스템/규정/설비), 뜻, 주관부서 |
| `data/search_log.csv` | 검색일시, 부서, 검색어, 찾음(Y/N) |
| `wiki.json` (Claude Code가 만듦) | `items`: 제목·분류·요약·절차·주의사항·출처 문서ID·연결 개념 / `links`: 출발 개념·관계·도착 개념 |

- 저장 위치: 폴더 안 파일 + 브라우저 저장공간(localStorage). **외부 서버·데이터베이스를 쓰지 않습니다.**

## 6. AI 일은 Claude Code가 합니다
앱 안에서 AI를 부르지 않습니다(사내 기준: 별도 API 키 없음). 대신:
1. Claude Code가 `docs.csv` 24건을 읽어 같은 주제의 문서를 묶고(예: 출장비 = 매뉴얼+공지 메일+규정+회의록) **위키 항목**을 씁니다.
2. `terms.csv` 의 용어를 개념으로 삼아 «출장 품의 → 경비 정산: 먼저 할 일» 같은 **개념 연결**을 만듭니다.
3. 결과를 `wiki.json` 으로 저장 → 앱이 읽어 검색·그래프로 보여 줍니다. 새 문서가 생기면 같은 요청을 다시 합니다.
4. 모든 항목에는 **출처 문서ID**를 붙여, 원문을 직접 확인할 수 있게 합니다(AI 요약을 그대로 믿지 않기).

## 7. 기술 원칙 (로컬 실행)
- 폴더 하나: `Test/job-wiki/` 안에 `index.html`, `style.css`, `app.js`, `wiki.json`, `data/`
- 순수 HTML·CSS·JavaScript. 외부 인터넷 주소(CDN·글꼴)를 불러오지 않음 — 그래프는 직접 그림(SVG)
- 실행: `python -m http.server 8765` → 브라우저에서 `http://localhost:8765`
- 결과물은 폴더째 zip으로 묶어 가져감. 인터넷에 올리지(배포하지) 않음

## 8. 원래 요청에서 조정한 부분
| 원래 요청 | 오늘은 이렇게 | 이유 |
|---|---|---|
| 자료 업로드·분석·DB 축적 | 가상 문서 24건(`docs.csv`)을 Claude Code가 읽어 `wiki.json` 으로 정리 | 앱 안 AI 호출엔 API 키가 필요하고, 실제 사내 문서는 쓸 수 없음 |
| 자료별 접근 권한 제한 | 제외(다음 단계) | 로그인·권한은 서버가 필요 — 로컬 실습 범위 밖 |
| 공유·다운로드 | 항목을 md 파일로 내보내기 | 외부 배포 금지 — 파일로 주고받기 |
| 회의 녹음(STT)·화자분석·어휘 교정 | 제외 — 텍스트 회의록 5건으로 대신 | 녹음·음성 인식은 오늘 시간과 사내 기준 밖 |
| 법령 API 연동, MCP·에이전트 | 제외(사내 IT 검토 후) | 외부 서비스 연결 금지 |

## 9. 완료 기준 (테스트)
- [ ] Claude Code가 만든 `wiki.json` 에 위키 항목이 **15개 이상**, 모든 항목에 출처 문서ID가 1개 이상 있다
- [ ] 검색창에 «출장»을 치면 «출장비 정산» 항목이 나오고, 출처 문서에 **D001·D002·D003** 이 보인다
- [ ] 개념 그래프에서 «경비 정산» 점에 마우스를 올리면 이어진 개념(출장 품의·법인카드·회계팀 등)만 진하게 보인다
- [ ] 활용 현황에 검색 **150회**, 1위 검색어 «출장비 정산» **26회**, 검색 성공률 **92.7%**(못 찾음 11회)가 보인다
- [ ] 폴더를 zip으로 묶어 다른 폴더에 풀어도 똑같이 실행된다

## 10. 다음 단계 (집에서 더 키울 것)
- 새 문서를 폴더에 넣으면 위키를 다시 정리하는 요청문을 버튼 하나로
- 자료별 접근 권한(부서·직급), 회의 녹음 받아쓰기 → 위키 반영
- 법령 정보·사내 시스템(MCP·에이전트) 연동은 사내 IT 검토 후
