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++ 등)에서 작동합니다.
시작하기
- 복제 및 설치
git clone https://github.com/samueltuoyo15/Dokugen.git cd Dokugen pnpm install # 또는 npm/yarn - 백엔드 실행 (Supabase 프로젝트 및 API 키 필요)
cd apps/server cp .env.example .env # 키 입력 (OpenAI/ApiSmart, Supabase 등) pnpm run dev # 또는 pnpm run build && pnpm start - CLI 설치 – TypeScript 버전을 전역으로 설치:
또는 Python 버전을 가상 환경에 설치:cd apps/cli/clients/typescript pnpm run build pnpm install -g .cd apps/cli/clients/python python -m venv .venv && source .venv/bin/activate pip install -e . - 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은 프로젝트 문서의 반복적인 부분을 단일 명령 작업으로 변환하는 대규모 언어 모델의 경량 래퍼이며, 개발자가 중요하게 생각하는 사용자 정의 부분은 그대로 유지합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트