Automatically generate high-quality README for your application
Project description
Dokugen (Python Client)
Dokugen is a lightweight, AI-powered CLI tool that automatically generates and maintains README.md files and LICENSE files for your projects. It scans your codebase, understands what your project does, and produces clean, professional documentation — so you don't have to.
Quick Start
Installation
Install Dokugen globally using uv (recommended) or pip:
uv tool install dokugen
# or
pip install dokugen
Usage
1. Launch the Interactive Assistant
Simply run dokugen in your project folder to open the interactive setup assistant. From here, you can generate a README, update existing docs, generate a LICENSE file, revert backups, or run AI-assisted Git commits.
dokugen
Note: If dokugen command is not in your PATH, you can also run it via Python:
python -m dokugen
2. Standalone Commands
Generate README
Scan your project files and construct a new README.md.
dokugen generate
Generate README with a Custom Template
Use any public README.md file as a structure template.
dokugen generate --template https://raw.githubusercontent.com/username/repo/main/README.md
Smart Update README
Intelligently rebuilds auto-generated sections (tech stack, API details, file layout) while keeping your custom text, notes, and badges intact.
dokugen update
Generate LICENSE File
Instantly scaffold a LICENSE file for your project. Dokugen will prompt you to pick from the most common open-source licenses, pre-filled with your name and the current year.
dokugen license
Supported licenses:
- MIT, Simple and permissive. Great for most open-source projects.
- ISC, Same as MIT but shorter.
- Apache 2.0, Permissive with explicit patent rights grant.
- GNU GPLv3, Strong copyleft. Derivatives must also be open source.
- BSD 2-Clause, Permissive. Requires copyright notice preservation.
- Unlicense, Public domain. No rules, no conditions.
AI Git Commit (aic)
Analyze your staged files, generate a Conventional Commit message automatically, commit, and optionally push.
dokugen aic
# or push immediately after committing
dokugen aic --push
Safety Backup Revert (revert)
Accidentally generated something you didn't like? Restore your previous README.md instantly from the automatic backup.
dokugen revert
Features
- Interactive Menu: Run
dokugenwith no arguments to navigate all tool actions through a beautiful console prompt, perfect for both new and experienced developers. - Smart README Updates: Re-run generation without losing your manual modifications. Only auto-generated blocks get updated; your custom content stays untouched.
- LICENSE Generator: Pick from 6 popular open-source licenses and have a properly formatted
LICENSEfile created instantly, pre-filled with your author name and year. - AI-Powered Commits: Automatic staging and conventional commit message generation via Google Gemini, keeps your commit history clean and consistent.
- Compressed Uploads: Efficiently packages codebases with 70–90% upload size compression to support analyzing larger projects without hitting API size limits.
- Language & Framework Agnostic: Works out of the box with any programming language or framework (JavaScript, TypeScript, Python, Rust, Go, Java, PHP, C++, Django, React, etc.). You don't need Python or Node.js to be your codebase's main language; you can simply install Dokugen globally using Python (
pip/uv) or Node (npm/pnpm/yarn), and run it in any directory. - Custom Templates: Use any public GitHub README as a structural template for your generated docs.
System Architecture
Dokugen uses a client-server architecture. The Python CLI sends your project data to a backend API, which uses Google Gemini to generate your README or commit messages. User profile data is stored securely in Supabase.
flowchart LR
PythonCLI["Python CLI (dokugen)"]
API["API Server (Node.js / Express)"]
AI["AI Model (Google Gemini)"]
DB[("Supabase Database")]
PythonCLI --> API
API --> AI
API --> DB
style PythonCLI fill:#1f3a60,stroke:#3b82f6,stroke-width:2px,color:#fff
style API fill:#4a1525,stroke:#ec4899,stroke-width:2px,color:#fff
style AI fill:#5c1d24,stroke:#ef4444,stroke-width:2px,color:#fff
style DB fill:#1a2d42,stroke:#3b82f6,stroke-width:2px,color:#fff
Contributing
Contributions are welcome! Read our Contribution Guide to get started.
License
This project is licensed under the MIT License, see the LICENSE file for details.
Author
- Samuel Tuoyo
- X (Twitter)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dokugen-14.0.3.tar.gz.
File metadata
- Download URL: dokugen-14.0.3.tar.gz
- Upload date:
- Size: 9.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
703bda94f8f88823238ab812ad80031d3bdccfaac1977276346acc66e3f20288
|
|
| MD5 |
92a877e0f0b7585be2fe00bc47100199
|
|
| BLAKE2b-256 |
8ef354dd8ace3a7b9c8618986cb094d2a23932e01e6531007d4860d2bd0141b9
|
File details
Details for the file dokugen-14.0.3-py3-none-any.whl.
File metadata
- Download URL: dokugen-14.0.3-py3-none-any.whl
- Upload date:
- Size: 31.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfe95b25e5ad0ecf95717ace84a2f78dd8e9fd93890286cc9551ee62f20acca4
|
|
| MD5 |
f3ec330de8b220a314512ea3287c3ebb
|
|
| BLAKE2b-256 |
5a8de227c9d84b1798d389f125c5826bb9aca1b2ad9a04e3aae935588b4f8f25
|