# Wiki Information Architecture Cleanup
이 런북은 SaintKite Wiki.js의 프로젝트 문서 구조를 정리하고, live Wiki.js에 남은 예전 generated 문서를 제거하는 반복 절차다. 목표는 사람이 먼저 읽는 허브를 유지하면서 원본 문서 추적성은 archive에 보존하는 것이다.
| 영역 | 역할 |
|---|---|
wiki-content/knowledge/ |
여러 프로젝트에서 반복되는 공통 개념, 용어, 설명 |
wiki-content/projects/<slug>.md |
프로젝트 개요, 현재 상태, guardrail, 주요 링크 |
wiki-content/projects/<slug>/documents.md |
사람이 읽는 프로젝트 문서 허브 |
wiki-content/projects/<slug>/documents/series/ |
반복되거나 비교해야 하는 원본 문서 묶음 |
wiki-content/projects/<slug>/documents/archive.md |
전체 원본 문서 인벤토리 |
wiki-content/projects/<slug>/documents/archive/<category>/ |
평탄화된 원본 추출 페이지 |
documents.md는 문서 덤프가 아니라 첫 진입용 목차여야 한다.knowledge/로 올리고 프로젝트 페이지는 링크만 둔다.series 페이지로 묶는다.py -3 scripts\sync_project_documents_to_wiki.py
확인할 신호:
generated_pages: 생성된 프로젝트 문서 수deduped_duplicate_sources: 동일 해시 원본 통합 수canonical_pointer_pages: knowledge/로 통합된 포인터 수series_pages: 반복 원본 묶음 수sensitive_placeholder_pages: 민감정보 보호 페이지 수py -3 scripts\plan_wikijs_cleanup.py `
--root wiki-content `
--locale ko `
--include-templates
front-door 문서에는 section-*, documents/docs, documents/data, documents/outputs 같은 예전 deep 경로가 남지 않아야 한다.
py -3 scripts\publish_wikijs_tree.py `
--root wiki-content `
--locale ko `
--include-templates `
--dry-run
필수 환경:
WIKIJS_BASE_URLWIKIJS_API_TOKENdry-run에서 실패가 있으면 실제 publish를 진행하지 않는다.
py -3 scripts\publish_wikijs_tree.py `
--root wiki-content `
--locale ko `
--include-templates
publish 후 대표 URL을 확인한다.
| URL | 목적 |
|---|---|
/ko/home |
첫 화면 진입 |
/ko/projects |
프로젝트 인덱스 |
/ko/projects/<slug>/documents |
프로젝트 문서 허브 |
/ko/projects/<slug>/documents/series/<key> |
반복 문서 묶음 |
/ko/projects/<slug>/documents/archive |
원본 인벤토리 |
/ko/knowledge/glossaries/battery-ai |
공통 지식 canonical 예시 |
새 구조를 publish해도 Wiki.js는 예전 live 페이지를 자동 삭제하지 않는다. 먼저 live/local 비교 계획을 만든다.
py -3 scripts\plan_wikijs_cleanup.py `
--root wiki-content `
--locale ko `
--include-templates `
--query-live `
--output tmp\wikijs-cleanup-plan.json
핵심 카운트:
stale_candidate_count: 명확한 예전 generated 경로unknown_project_document_count: 로컬에는 없지만 live에 남아 있는 과거 프로젝트 문서project_document_cleanup_candidate_count: cleanup 검토 대상 합계삭제 스크립트는 기본적으로 dry-run이다.
py -3 scripts\delete_wikijs_stale_pages.py `
--root wiki-content `
--locale ko `
--include-templates `
--query-live `
--include-unknown-project-documents `
--output tmp\wikijs-delete-plan.json
대상 수와 경로를 검토한 뒤 실제 삭제한다.
py -3 scripts\delete_wikijs_stale_pages.py `
--root wiki-content `
--locale ko `
--include-templates `
--query-live `
--include-unknown-project-documents `
--apply `
--output tmp\wikijs-delete-live.json
안전장치:
--apply가 없으면 삭제하지 않는다.projects/*/documents/*에만 작동한다.documents/archive와 documents/series는 자동 삭제 대상에서 제외한다.py -3 scripts\plan_wikijs_cleanup.py `
--root wiki-content `
--locale ko `
--include-templates `
--query-live `
--output tmp\wikijs-cleanup-plan-after-delete.json
목표:
stale_candidate_count = 0unknown_project_document_count = 0tmp\wikijs-delete-live.json의 operations 목록과 로컬 wiki-content 원본을 기준으로 필요한 페이지만 다시 publish한다.