samueltuoyo15/Dokugen

Turn your messy repositories into job-ready portfolio pieces. Generate crystal-clear READMEs recruiters actually read, and professional Conventional Commits that make your git history look senior.

Dokugen – AI 기반 README 및 변경 로그 생성기

기능 소개 – Dokugen은 개발자 중심의 도구로, 코드베이스를 스캔하여 관련 파일을 대규모 언어 모델(Google의 Gemini, ApiSmart/OpenAI 호환 API를 통해 접근 가능)로 전송하고, 정교한 README.md를 반환합니다. 또한 다음 기능을 수행합니다:

  • README의 자동 생성된 섹션만 업데이트하고 사용자가 수동으로 편집한 내용은 유지합니다.
  • 스테이징된 파일의 diff를 기반으로 관례적인 Git 커밋 메시지를 생성합니다.
  • 커밋 기록을 분석하여 Keep a Changelog 형식을 따르는 CHANGELOG.md를 구축합니다.
  • 이전 README 버전의 백업을 보관하여 즉시 되돌릴 수 있습니다.

이 모든 기능은 대화형 메뉴나 명시적 하위 명령을 통해 작동하는 간단한 명령줄 인터페이스(CLI)에서 실행됩니다.


핵심 구성 요소

구성 요소 역할
CLI 클라이언트 (TypeScript, Python, Go) 프로젝트 파일을 수집하고 백엔드 API와 통신하며 생성된 마크다운을 저장소에 다시 쓰는 로컬 진입점.
API 서버 (Node.js + Express) 코드 스냅샷을 수신하여 Gemini 모델로 전달하고, AI 출력을 기존 README와 병합하여 결과를 반환.
Supabase DB 사용자 프로필과 생성된 README의 백업 사본을 저장.
Gemini (또는 ApiSmart를 통한 OpenAI 호환 모델) 문서와 커밋 메시지를 실제로 작성하는 LLM.
모노레포 도구 (Turborepo, pnpm) 여러 패키지(서버, CLI 클라이언트, 향후 웹 UI)를 동기화 상태로 유지.

주요 기능

  • 대화형 메뉴 – 인자 없이 dokugen을 실행하여 Generate, Update, Commit, Changelog 등을 선택 가능.
  • 스마트 업데이트 – dokugen update를 다시 실행하면 원래 생성된 섹션만 새로 고쳐지며, 사용자 정의 텍스트, 배지, 메모는 그대로 유지됩니다.
  • AI 지원 커밋 (dokugen aic) – CLI가 스테이징된 파일의 git diff를 추출하여 모델로 전송하고, 확인하거나 편집할 수 있는 관례적 커밋 메시지를 반환합니다.
  • 압축 업로드 – 코드는 70~90% 압축되어 API 페이로드 제한 내에 머무르며, 대규모 프로젝트 분석을 가능하게 합니다.
  • 자동 변경 로그 (dokugen changelog) – 저장소의 커밋 기록을 스캔하여 Keep a Changelog 규약을 준수하는 CHANGELOG.md를 생성/업데이트합니다.
  • 언어 독립적 – CLI는 파일을 읽고 모델로 전송하기만 하므로 모든 스택(JavaScript/TS, Python, Rust, Go, Java, C++ 등)에서 작동합니다.

시작하기

  1. 복제 및 설치
    git clone https://github.com/samueltuoyo15/Dokugen.git
    cd Dokugen
    pnpm install   # 또는 npm/yarn
    
  2. 백엔드 실행 (Supabase 프로젝트 및 API 키 필요)
    cd apps/server
    cp .env.example .env   # 키 입력 (OpenAI/ApiSmart, Supabase 등)
    pnpm run dev   # 또는 pnpm run build && pnpm start
    
  3. CLI 설치 – TypeScript 버전을 전역으로 설치:
    cd apps/cli/clients/typescript
    pnpm run build
    pnpm install -g .
    
    또는 Python 버전을 가상 환경에 설치:
    cd apps/cli/clients/python
    python -m venv .venv && source .venv/bin/activate
    pip install -e .
    
  4. README 생성
    dokugen generate   # 현재 폴더에 대해 AI 실행
    
    --template을 사용하여 사용자 정의 템플릿 URL을 제공할 수도 있습니다.

일반적인 워크플로우

$ dokugen               # 대화형 메뉴 열기
> Generate README
   → 파일 스캔, Gemini 호출, README.md 작성
> AI Commit (aic)
   → 스테이징된 diff 읽기, 커밋 메시지 획득, 커밋
> Changelog
   → 기록에서 CHANGELOG.md 구축/업데이트

AI 결과물이 마음에 들지 않으면 dokugen revert로 즉시 이전 백업을 복원할 수 있습니다.


기술 스택 요약

  • 모노레포 – Turborepo
  • 백엔드 – Node.js 18+, TypeScript, Express, Supabase
  • AI 모델 – Gemini (또는 ApiSmart/OpenRouter를 통한 OpenAI 호환 엔드포인트)
  • CLI 클라이언트 – TypeScript (Node), Python, Go
  • 패키징 – pnpm workspaces; Windows/macOS/Linux용 빌드된 바이너리 제공

라이선스 및 커뮤니티

  • 라이선스 – MIT (허용적, 상업적 사용 가능).
  • 기여 – 가이드라인은 CONTRIBUTION.md에 있음; PR, 버그 리포트, 기능 아이디어 환영.
  • 작성자 – Samuel Tuoyo (LinkedIn, X).

누가 사용하면 좋을까요?

  • 수동 작성 없이 일관되고 최신 상태의 문서를 유지하려는 오픈 소스 관리자.
  • 깔끔한 Git 기록을 위해 빠르고 관례적인 커밋 메시지가 필요한 팀.
  • 모든 언어 스택에서 변경 로그 생성을 자동화하려는 분.

Dokugen은 프로젝트 문서의 반복적인 부분을 단일 명령 작업으로 변환하는 대규모 언어 모델의 경량 래퍼이며, 개발자가 중요하게 생각하는 사용자 정의 부분은 그대로 유지합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트