Cluedoc: document your codebase as interlinked visual papers
Paper

Cluedoc: document your codebase as interlinked visual papers

2026.07.06
·Web·by Homin.Lee
#Agent#AI#Codebase#Documentation#LLM

핵심 포인트

  • 1Cluedoc은 코딩 에이전트가 소프트웨어를 개발할 때 코드 변경 사항을 추적하여 각 기능을 학술 논문 형식의 문서로 자동 작성하고 유지 관리하는 Agent Skill입니다.
  • 2각 논문은 Feature 계층 구조를 따르는 Capability tree로 조직되며, Mermaid 다이어그램과 Citation graph를 통해 복잡한 시스템을 인간이 이해하기 쉬운 시각적 모델로 제공합니다.
  • 3이 방식은 소스 코드와 분리된 추상적인 기술 문서를 .cluedoc/ 폴더에 버전 관리함으로써, 에이전트가 빠르게 코드를 수정해도 시스템에 대한 가독성과 이해도를 지속적으로 보장합니다.

Cluedoc: 코드베이스를 위한 문서화 에이전트 스킬 요약

Cluedoc은 코딩 에이전트의 발전으로 인해 가속화된 코드베이스 변경 속도를 인간이 따라잡지 못하는 상황을 해결하기 위해 고안된 'Agent Skill'입니다. 이 시스템은 소프트웨어 시스템을 기능의 계층적 집합으로 정의하고, 각 기능을 학술 논문 형식의 문서로 자동 유지 관리하여 개발자가 시스템의 상태를 빠르게 이해할 수 있도록 돕습니다.

핵심 방법론 및 기술적 상세

  1. 기능 중심의 계층적 구조 (Capability Tree):
Cluedoc은 시스템을 기능 단위로 분할하며, 이를 .cluedoc/ 디렉토리 내의 트리 구조로 시각화합니다. 파일 시스템이 아닌 '기능적 계층(Capability hierarchy)'을 기준으로 설계하며, 상위 폴더는 상위 레벨의 기능을, 하위 폴더는 세부 기능을 포함합니다. 각 기능은 독립적인 README.md 논문을 가집니다.

  1. 프로그레시브 동기화 (Progressive Sync):
문서화는 전체를 한 번에 작성하는 것이 아니라 코드 변경에 따라 점진적으로 진행됩니다. 코드 변경 발생 시, 에이전트는 두 방향으로 동기화를 수행합니다.
  • Upward (상향): 변경된 코드를 호출하는 상위 기능을 식별하여 상위 논문을 업데이트합니다.
  • Downward (하향): 변경된 코드가 의존하는 하위 구성 요소를 찾아 관련 기능을 업데이트합니다.
이를 통해 시스템의 복잡도가 증가함에 따라 문서화 수준도 비례하여 정교해집니다.

  1. 학술 논문 형식의 추상화 (Abstract Documentation):
문서 내에는 코드 조각이나 파일 경로를 포함하지 않는 것을 원칙으로 합니다. 대신, 개념적인 설명과 함께 Mermaid를 활용한 다이어그램 등 시각 자료를 핵심으로 구성합니다. 코드와의 연결성은 YAML 프론트매터(Frontmatter)의 sources 메타데이터 리스트를 통해 관리하며, 이를 통해 코드의 리팩토링이나 위치 이동 시에도 문서의 논리적 구조를 유지합니다.

  1. 인용 그래프 및 읽기 가이드 (Citation Graph & Reading Guide):
문서들은 'Related Work' 섹션을 통해 서로를 참조하며, 이는 마치 학술 논문의 참고문헌과 같은 역할을 합니다. 또한, 특정 질문에 대해 Cluedoc은 관련된 논문들을 식별하고, 각 논문이 사용자에게 왜 중요한지를 명시하는 'Reading Guide'를 생성하여 효율적인 지식 탐색을 지원합니다.

기술적 운영 체계

  • 비구조화 방식 지양: Doxygen이나 JSDoc처럼 심볼을 추출하는 방식과 달리, 개발자가 이해하는 기능적 단위로 서술합니다.
  • 통합 방식: 외부 데이터베이스나 별도의 서버를 요구하지 않으며, 평문 마크다운(Markdown) 기반으로 버전 관리 시스템(Git)과 함께 동작합니다.
  • 실행 모델: /cluedoc init 명령으로 초기 스켈레톤을 구성하고, 이후 에이전트의 워크플로우에 내장되어 코드 편집과 동시에 문서를 갱신합니다.

결론적으로 Cluedoc은 코드를 읽는 대신, 코드가 생산하는 '기능의 학술적 기록'을 읽게 함으로써, 빠르게 변하는 소프트웨어 시스템에 대한 인간의 이해도를 보존하는 데 목적을 둡니다.