Git-Docgen: 자동 문서화 CLI 도구

Git-Docgen: 자동 문서화 CLI 도구

📅기간
2025-05 ~ 2025-05
🔗사이트
https://www.npmjs.com/package/git-docgen
🔗GitHub
https://github.com/treephesians/docgen
🧠회고

회고 보기

기술
TypescriptAIVitestGithub Actions개인
🎯종류
개인

대규모 프로젝트에서 코드 변경 사항자동으로 문서화하는 OpenAI 기반 CLI 도구입니다.
문서화의 자동화, 일관성, 그리고 효율성 문제를 해결하기 위한 라이브러리입니다.

🎯 Problem & Solution

대규모 프로젝트에서 코드 변경사항을 문서화하는 것은 시간이 많이 소요되며,
일관성 없는 문서나 오래된 문서가 발생하기 쉽습니다.
 
Git-DocGen은 다음과 같은 방식으로 이 문제를 해결합니다:
  • Git diff를 자동으로 분석하여 사람이 읽기 쉬운 문서 생성
  • 지능형 청크 처리를 통한 대규모 변경사항 처리
  • 커밋 메시지 통합을 통한 컨텍스트 유지
  • 효율적인 캐싱을 통한 API 비용 최적화
  • 다양한 문서 형식 및 출력 지원
 

🚀 Features

  • Git diff로부터 자동 문서 생성
  • AI 학습 과정에서 배운 청크 처리 알고리즘을 사용한 대규모 변경사항의 스마트 청크 분할
  • OpenAI API 호출을 위한 효율적인 캐싱 시스템
  • 스테이징된 변경사항 및 커밋 범위 지원
  • 사용자 정의 가능한 출력 형식 및 경로
 

🛠 Installation

Global installation

npm install -g git-docgen

Local project installation

npm install git-docgen

📖 Usage Guide

Basic Commands

Generate docs for the latest commit

git-docgen diff

Generate docs for staged changes

git-docgen diff --staged

Generate docs for specific commit range

git-docgen diff --range HEAD~3

Include commit messages for context

git-docgen diff --commit-context

Specify output file

git-docgen diff --output docs/changes.md

Cache Management

git-docgen cache info git-docgen cache clear

⚙️ Configuration

Create a .env file in your project root:
OPENAI_API_KEY=your_api_key_here CACHE_ENABLED=true CACHE_TTL_DAYS=30

🧪 Quality Assurance

  • TypeScript를 사용한 타입 안정성 확보
  • Vitest를 사용한 포괄적인 테스트 스위트
  • ESLint와 Prettier를 통한 코드 스타일 일관성
  • GitHub Actions를 통한 CI/CD (빌드, 린트, 의존성, 테스트, 배포)
  • changeset을 이용한 시맨틱 버저닝 적용