FluentDocs: 코드가 진화함에 따라 Docs를 정확하게 유지
Source: Dev.to
Introduction
FluentDocs는 코드가 변경될 때 문서를 정확하게 유지하도록 도와주는 문서 관리 시스템입니다. 새로운 문서를 작성하는 데서 가치를 찾는 것이 아니라, 문서를 최신 상태로 유지하는 데 드는 숨은 비용을 없애는 데 가치를 둡니다. 기억에 의존하거나 수동 감사를 진행하거나 CI 경고가 늦게 뜨는 대신, FluentDocs는 코드 변경과 영향을 받는 문서를 지속적으로 연결합니다.
각 git 푸시마다 FluentDocs는 문서 중 어떤 부분이 영향을 받는지 식별하고, 왜 영향을 받는지 설명하며, 정확한 섹션‑단위 업데이트를 제안합니다. 작성자와 개발자는 WYSIWYG 편집기에서 제안을 검토·편집·거부할 수 있으며, 최종 결과를 일반적인 풀 리퀘스트 형태로 배포합니다.
Live Demo
Background
FluentDocs는 첫 번째 Dev.to 챌린지를 우승한 AI 에이전트 AutoDoc을 업그레이드한 버전입니다. 실제 현장에서의 가치와 가능성을 확인한 뒤, 완전한 제품으로 발전시켰습니다. 목표는 개발자와 기술 작가가 코드가 진화함에 따라 문서를 정확하게 유지하도록 돕는 것이며, 워크플로에 추가적인 수동 작업을 부과하지 않는 것입니다.
FluentDocs를 구축한 것은 사이드 프로젝트에서 비즈니스를 만들고, 실제 문제를 해결함으로써 기업가 정신을 탐구하고자 하는 더 큰 목표를 반영합니다.
Tech Stack
- Frontend & Backend: Next.js
- Editor: Tiptap (WYSIWYG) with a custom Markdown/Diff plugin
- AI Agent: FastAPI
- Authentication: NextAuth.js with GitHub provider
- Database & Search: MongoDB Atlas with Vector Search for semantic documentation mapping
- Infrastructure & Tooling:
- GitHub API: Octokit for repository interaction and PR creation
- Real‑time Updates: Server‑Sent Events (SSE)
Key Differentiators
Event‑Driven Automation
AI 어시스턴트가 수동 프롬프트(예: Copilot)를 필요로 하는 것과 달리, FluentDocs는 모든 git 푸시마다 자동으로 트리거되어 “문서 드리프트”를 사전에 식별하고 기술 부채가 되기 전에 대응합니다.
Semantic Context Mapping
벡터 임베딩과 검색을 활용해 코드 로직과 문서 조각 사이의 관계를 이해함으로써, 제안이 단순 키워드 기반이 아니라 문맥에 맞게 관련성을 유지하도록 합니다.
Specialized WYSIWYG Diffing
맞춤형 Tiptap 기반 편집기는 AI 제안을 시각적으로 검토할 수 있는 인터페이스를 제공하며, 풍부한 텍스트 차이를 확인하고 원시 Markdown 파일을 직접 편집하지 않고도 변경을 수락할 수 있게 합니다.
Cross‑Repository Intelligence
문서가 소스 코드와 별도의 레포지토리에 존재하는 복잡한 아키텍처를 지원하여, 분산 시스템 전반에 걸쳐 동기화를 유지합니다.
Seamless PR Integration
웹훅 수신부터 Octokit을 통한 자동 풀 리퀘스트 생성까지 전체 라이프사이클을 오케스트레이션하여 기존 CI/CD 파이프라인에 바로 맞춰 사용할 수 있으며, 개발자가 도구를 바꿀 필요가 없습니다.
Submission Context
이 제출물은 Mux가 주최한 DEV의 Worldwide Show Tell Challenge를 위해 제작되었습니다.