An AI-powered documentation generator that uses OpenAI and Gemini models to create high-quality README.md files, model cards, notebooks, tests, and boilerplate, tailored to your project’s code and structure.
Project description
Docify-AI
An intelligent command-line interface (CLI) that leverages AI to automate documentation, testing, and project scaffolding for local software projects.
Key Features
- AI-Powered Documentation Generation: Automatically create detailed and domain-specific
README.mdfiles for any project. - Automated Test Suite Generation: Generate runnable
pytesttest files covering various scenarios. - Dockerfile Generation: Create optimized
Dockerfiles for containerizing your applications. - GitHub Actions Workflow Generation: Develop
YAMLconfigurations for CI/CD pipelines. - Project Scaffolding: Bootstrap new Python projects with a predefined structure.
- Docstring Generation: Automatically add PEP 257–compliant docstrings to Python functions, classes, and modules.
- Jupyter Notebook Generation: Kickstart data analysis with a starter notebook including data loading, EDA, and model training pipelines.
- Model Card Generation: Create
MODEL_CARD.mdfor ML/AI projects, detailing model information, intended use, and ethical considerations. - Flexible AI Clients: Support for both Google Gemini and OpenAI GPT models.
Installation
Docify-AI is available on PyPI and can be installed using pip:
pip install docify-ai
Usage
The docify command is the entry point to all functionalities.
1. API Key Setup
Before using the tool, you must set your GEMINI_API_KEY or OPENAI_API_KEY as an environment variable. Alternatively, you can provide it directly via the --key argument.
# Example for Linux/macOS
export GEMINI_API_KEY='YOUR_GEMINI_API_KEY'
# Example for OpenAI
export OPENAI_API_KEY='YOUR_OPENAI_API_KEY'
2. CLI Commands & Options
Global Options
These options can be used with any action:
--path,-p: Root directory of the project (default: current directory).--output,-o: Custom output file/folder name.--client,-c: AI client to use (openaiorgemini, default:gemini).--key,-k: Provide the API key directly, overriding environment variables.--ignore-dirs: Space-separated list of directories to ignore.--ignore-exts: Space-separated list of file extensions to ignore.
Command Examples
Generate README.md (Default Action)
Analyzes your project and creates a professional README file.
docify --path /path/to/your/project
Generate Pytest Tests
Creates a tests/ directory with pytest-compatible test modules.
docify --test --path /path/to/your/project
Generate a Dockerfile
Creates a Dockerfile tailored to your project's needs.
docify --docker --path /path/to/your/project
Generate a GitHub Actions Workflow
Creates a .github/workflows/ci.yml file for continuous integration.
docify --gha --path /path/to/your/project
Bootstrap a New Python Project Generates a basic Python project structure from a description.
docify --init "A simple Flask API for managing tasks"
Add Docstrings to a Python File Inserts Google-style docstrings into a specified Python file in-place.
docify --docstring /path/to/your/project/my_module.py
Generate a Jupyter Notebook Creates a starter Jupyter Notebook for data analysis or ML projects.
docify --notebook --path /path/to/your/data_project
Generate a Model Card
Creates a MODEL_CARD.md for your AI/ML projects.
docify --model-card --path /path/to/your/ml_project
CHANGELOG
1.7.0 - 2025-09-14
- 🏗 Updated
--initto accept a requirements description instead of just a project name. - 📂 Project scaffold is now generated in the current working directory (user creates the folder first).
1.6.2 - 2025-09-08
- Optimized
.ipynband dataset files reading to avoid context length explosion.
1.6.0 - 2025-09-07
- 📝 Added
--notebookoption to generate a starter Jupyter Notebook with analysis pipelines and tests. - 📄 Added
--model-cardoption to generate a Model Card (MODEL_CARD.md) for ML/AI projects.
1.5.0 - 2025-09-05
- 📝 Added
--docstringoption to automatically generate PEP 257–compliant docstrings for Python functions, classes, and modules.
1.4.0 - 2025-08-28
- 🐳 Added
--dockeroption to generate a project-aware Dockerfile. - ⚙️ Added
--ghaoption to generate GitHub Actions workflow YAML for CI/CD. - 🏗 Added
--initoption to bootstrap a new Python project with a predefined structure.
1.3.0 - 2025-08-22
- 🚫 Added
--ignore-dirsand--ignore-extsoptions to exclude unwanted directories and files from documentation and test generation.
1.2.0 - 2025-08-21
- 🧪 Added
-tor--testoption to generate pytest-compatible test modules for all project features.
1.1.1 - 2025-08-20
- 🛠 Fixed issue where project description was not visible in generated docs.
1.1.0 - 2025-08-20
- ✨ Added support for OpenAI and Gemini clients.
- 🔑 Added
--keyargument to provide API key without environment variables. - 🔍 Case-insensitive
--clientoption.
1.0.0 - 2025-08-15
- 🚀 Initial release
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 docify_ai-1.7.0.tar.gz.
File metadata
- Download URL: docify_ai-1.7.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9b16b72143fc9a676a378663094c3e5c89c7f54005b7529d35a320165909392
|
|
| MD5 |
afd5145a4ae6726b778edbfea1993913
|
|
| BLAKE2b-256 |
a9d0282c8a03592e89d6d66f222aea7962d18b92090641e99290d6e9b170b24f
|
File details
Details for the file docify_ai-1.7.0-py3-none-any.whl.
File metadata
- Download URL: docify_ai-1.7.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dc9a31dac1a3c926f22e38d8cae77126cf4d3c36fb31d67d8b3c23700398b78
|
|
| MD5 |
1b62ad5571064275d53e1925ad34ef74
|
|
| BLAKE2b-256 |
0fd1b72bc800554c30b188006311ae90a188b92ee348a3c5c5725d92e205bcfd
|