# Docify AI 🚀: Intelligent Documentation & Test Generation for Your Code
[](https://pypi.org/project/docify-ai/)
[](https://pypi.org/project/docify-ai/)
[](LICENSE)
A versatile AI-powered command-line tool for instantly generating comprehensive `README.md` files, pytest tests, and Mermaid workflow diagrams for your local projects, powered by Google Gemini and OpenAI GPT models.
## Key Features ✨
* **🤖 AI-Powered Content Generation**: Leverages large language models (Google Gemini and OpenAI GPT) to write human-like, technical documentation and tests.
* **💡 Multi-Format Output**: Generate `README.md` files or receive runnable pytest tests.
* **📂 Intelligent Code Analysis**: Scans your entire project directory, intelligently ignoring irrelevant files and directories, to understand its purpose, technologies, and structure.
* **⚙️ Flexible AI Client Selection**: Choose between Google Gemini and OpenAI GPT models for content generation directly from the command line.
* **🔑 API Key Management**: Supports API keys via environment variables or direct command-line arguments for both Gemini and OpenAI.
* **🚀 Fast and Efficient**: Go from a messy project folder to a polished README, tests, or workflows in under a minute.
* **🔧 Customizable Output**: Easily specify the project path to analyze and the desired output file or directory name.
## Installation 📦
Docify-AI is available on PyPI and can be installed on any system with Python 3.8 or newer using `pip`.
```bash
pip install docify-ai
```
## Usage 🚀
Using Docify-AI is straightforward, involving a one-time API key setup and a simple command execution.
### 1. Set Your API Key
Docify-AI requires an API key for the chosen AI model (Google Gemini or OpenAI). You can obtain a free key from [Google AI Studio](https://aistudio.google.com/app/apikey) for Gemini, or from the [OpenAI platform](https://platform.openai.com/api-keys) for OpenAI.
Once you have your key, set it as an environment variable:
* For **Google Gemini**: `GEMINI_API_KEY`
* For **OpenAI**: `OPENAI_API_KEY`
**For macOS / Linux (bash/zsh):**
```bash
export GEMINI_API_KEY='your-gemini-secret-api-key'
# OR
export OPENAI_API_KEY='your-openai-secret-api-key'
```
*(To make this permanent across terminal sessions, add the line to your shell's configuration file, e.g., `~/.zshrc` or `~/.bashrc`.)*
**For Windows (PowerShell):**
```powershell
$Env:GEMINI_API_KEY="your-gemini-secret-api-key"
# OR
$Env:OPENAI_API_KEY="your-openai-secret-api-key"
```
Alternatively, you can pass the API key directly via the `--key` argument, which will override the environment variable.
### 2. Run Docify-AI
Navigate to the root directory of the project you wish to document and simply run the `docify` command. By default, it uses the Gemini model to generate a README.
```bash
docify
```
The tool will scan the current directory and generate a `README.md` file with AI-powered content.
### Command-Line Options
You can customize the behavior of Docify-AI using the following command-line arguments:
* **`--path <directory>` / `-p <directory>`**: Specifies the root directory of the project to be documented. Defaults to the current working directory (`.`).
* **`--output <filename>` / `-o <filename>`**: Defines the name of the output file/folder. Defaults: `README.md` for docs, `tests/` for tests, `WORKFLOWS.md` for workflows.
* **`--client <openai|gemini>` / `-c <openai|gemini>`**: Choose the AI client to use for generation. Options are `openai` or `gemini` (default: `gemini`). Case-insensitive.
* **`--key <your-api-key>` / `-k <your-api-key>`**: Provide your API key directly. This will take precedence over environment variables.
* **`--test` / `-t`**: Generate `pytest` test files instead of a README.
* **`--ignore-dirs <dir1> <dir2>...`**: A space-separated list of directory names to ignore during scanning. (e.g., `.git __pycache__ node_modules`).
* **`--ignore-exts <ext1> <ext2>...`**: A space-separated list of file extensions to ignore (e.g., `.tmp .pyc .log`).
**Examples:**
1. To document a project located at `/path/to/my-other-project` and save the output to `DOCS.md` using the default Gemini model:
```bash
docify --path /path/to/my-other-project --output DOCS.md
```
2. To use the OpenAI client for README generation:
```bash
docify --client openai
```
3. To use the OpenAI client and provide the API key directly (overriding any environment variable):
```bash
docify --client openai --key sk-YOUR_OPENAI_API_KEY
```
4. To generate `pytest` tests for the current project using the Gemini client, ignoring `dist` and `build` directories:
```bash
docify --test --client gemini --ignore-dirs dist build
```
## 1.3.0 - 2025-08-22
- Added `--ignore-dirs` and `--ignore-exts` option, to ignore the irrelevant or unwanted directories and files to generate the docs/readme or tests.
## 1.2.0 - 2025-08-21
- Added `-t` or `--test` option, to generate pytest supported test directory including test modules for all the features of your project.
## 1.1.1 - 2025-08-20
- fixed project description not visible issue
## 1.1.0 - 2025-08-20
- ✨ Added support for OpenAI + Gemini clients
- 🛠 Added `--key` argument to provide api key, without setting it as environment variable.
- 🔍 Case-insensitive `--client` option
## 1.0.0 - 2025-08-15
- 🚀 Initial release
Raw data
{
"_id": null,
"home_page": null,
"name": "docify-ai",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "ai, documentation, readme-generator, tests-generator, mermaid-diagrams, openai, gemini, automation, developer-tools, cli",
"author": "Shiwang Upadhyay",
"author_email": "shiwangupadhyay8@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/11/14/f9a7edfe35c8fd8f2cca73e45f250cb1771cf85ace79eda54a1bc6366e8e/docify_ai-1.3.0.tar.gz",
"platform": null,
"description": "# Docify AI \ud83d\ude80: Intelligent Documentation & Test Generation for Your Code\r\n\r\n[](https://pypi.org/project/docify-ai/)\r\n[](https://pypi.org/project/docify-ai/)\r\n[](LICENSE)\r\n\r\nA versatile AI-powered command-line tool for instantly generating comprehensive `README.md` files, pytest tests, and Mermaid workflow diagrams for your local projects, powered by Google Gemini and OpenAI GPT models.\r\n\r\n\r\n## Key Features \u2728\r\n\r\n* **\ud83e\udd16 AI-Powered Content Generation**: Leverages large language models (Google Gemini and OpenAI GPT) to write human-like, technical documentation and tests.\r\n* **\ud83d\udca1 Multi-Format Output**: Generate `README.md` files or receive runnable pytest tests.\r\n* **\ud83d\udcc2 Intelligent Code Analysis**: Scans your entire project directory, intelligently ignoring irrelevant files and directories, to understand its purpose, technologies, and structure.\r\n* **\u2699\ufe0f Flexible AI Client Selection**: Choose between Google Gemini and OpenAI GPT models for content generation directly from the command line.\r\n* **\ud83d\udd11 API Key Management**: Supports API keys via environment variables or direct command-line arguments for both Gemini and OpenAI.\r\n* **\ud83d\ude80 Fast and Efficient**: Go from a messy project folder to a polished README, tests, or workflows in under a minute.\r\n* **\ud83d\udd27 Customizable Output**: Easily specify the project path to analyze and the desired output file or directory name.\r\n\r\n\r\n## Installation \ud83d\udce6\r\n\r\nDocify-AI is available on PyPI and can be installed on any system with Python 3.8 or newer using `pip`.\r\n\r\n```bash\r\npip install docify-ai\r\n```\r\n\r\n## Usage \ud83d\ude80\r\n\r\nUsing Docify-AI is straightforward, involving a one-time API key setup and a simple command execution.\r\n\r\n### 1. Set Your API Key\r\n\r\nDocify-AI requires an API key for the chosen AI model (Google Gemini or OpenAI). You can obtain a free key from [Google AI Studio](https://aistudio.google.com/app/apikey) for Gemini, or from the [OpenAI platform](https://platform.openai.com/api-keys) for OpenAI.\r\n\r\nOnce you have your key, set it as an environment variable:\r\n\r\n* For **Google Gemini**: `GEMINI_API_KEY`\r\n* For **OpenAI**: `OPENAI_API_KEY`\r\n\r\n**For macOS / Linux (bash/zsh):**\r\n\r\n```bash\r\nexport GEMINI_API_KEY='your-gemini-secret-api-key'\r\n# OR\r\nexport OPENAI_API_KEY='your-openai-secret-api-key'\r\n```\r\n*(To make this permanent across terminal sessions, add the line to your shell's configuration file, e.g., `~/.zshrc` or `~/.bashrc`.)*\r\n\r\n**For Windows (PowerShell):**\r\n\r\n```powershell\r\n$Env:GEMINI_API_KEY=\"your-gemini-secret-api-key\"\r\n# OR\r\n$Env:OPENAI_API_KEY=\"your-openai-secret-api-key\"\r\n```\r\n\r\nAlternatively, you can pass the API key directly via the `--key` argument, which will override the environment variable.\r\n\r\n### 2. Run Docify-AI\r\n\r\nNavigate to the root directory of the project you wish to document and simply run the `docify` command. By default, it uses the Gemini model to generate a README.\r\n\r\n```bash\r\ndocify\r\n```\r\nThe tool will scan the current directory and generate a `README.md` file with AI-powered content.\r\n\r\n### Command-Line Options\r\n\r\nYou can customize the behavior of Docify-AI using the following command-line arguments:\r\n\r\n* **`--path <directory>` / `-p <directory>`**: Specifies the root directory of the project to be documented. Defaults to the current working directory (`.`).\r\n* **`--output <filename>` / `-o <filename>`**: Defines the name of the output file/folder. Defaults: `README.md` for docs, `tests/` for tests, `WORKFLOWS.md` for workflows.\r\n* **`--client <openai|gemini>` / `-c <openai|gemini>`**: Choose the AI client to use for generation. Options are `openai` or `gemini` (default: `gemini`). Case-insensitive.\r\n* **`--key <your-api-key>` / `-k <your-api-key>`**: Provide your API key directly. This will take precedence over environment variables.\r\n* **`--test` / `-t`**: Generate `pytest` test files instead of a README.\r\n* **`--ignore-dirs <dir1> <dir2>...`**: A space-separated list of directory names to ignore during scanning. (e.g., `.git __pycache__ node_modules`).\r\n* **`--ignore-exts <ext1> <ext2>...`**: A space-separated list of file extensions to ignore (e.g., `.tmp .pyc .log`).\r\n\r\n**Examples:**\r\n\r\n1. To document a project located at `/path/to/my-other-project` and save the output to `DOCS.md` using the default Gemini model:\r\n\r\n ```bash\r\n docify --path /path/to/my-other-project --output DOCS.md\r\n ```\r\n\r\n2. To use the OpenAI client for README generation:\r\n\r\n ```bash\r\n docify --client openai\r\n ```\r\n\r\n3. To use the OpenAI client and provide the API key directly (overriding any environment variable):\r\n\r\n ```bash\r\n docify --client openai --key sk-YOUR_OPENAI_API_KEY\r\n ```\r\n\r\n4. To generate `pytest` tests for the current project using the Gemini client, ignoring `dist` and `build` directories:\r\n\r\n ```bash\r\n docify --test --client gemini --ignore-dirs dist build\r\n ```\r\n\r\n## 1.3.0 - 2025-08-22\r\n- Added `--ignore-dirs` and `--ignore-exts` option, to ignore the irrelevant or unwanted directories and files to generate the docs/readme or tests.\r\n\r\n## 1.2.0 - 2025-08-21\r\n- Added `-t` or `--test` option, to generate pytest supported test directory including test modules for all the features of your project.\r\n\r\n## 1.1.1 - 2025-08-20\r\n- fixed project description not visible issue\r\n\r\n## 1.1.0 - 2025-08-20\r\n- \u2728 Added support for OpenAI + Gemini clients\r\n- \ud83d\udee0 Added `--key` argument to provide api key, without setting it as environment variable.\r\n- \ud83d\udd0d Case-insensitive `--client` option\r\n\r\n## 1.0.0 - 2025-08-15\r\n- \ud83d\ude80 Initial release\r\n",
"bugtrack_url": null,
"license": null,
"summary": "An AI-powered README.md generator for local projects.",
"version": "1.3.0",
"project_urls": {
"Homepage": "https://github.com/shiwangupadhyay/docify-project",
"Issues": "https://github.com/shiwangupadhyay/docify-project/issues",
"Repository": "https://github.com/shiwangupadhyay/docify-project"
},
"split_keywords": [
"ai",
" documentation",
" readme-generator",
" tests-generator",
" mermaid-diagrams",
" openai",
" gemini",
" automation",
" developer-tools",
" cli"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "769e7f02111c1005b35314272c2432c36cd824c3d462e2e538d4611afc83da08",
"md5": "2f1d2260cb30e60813f02c5bbc865640",
"sha256": "75c0ba8612a1dd255f1a41fcf84951ae6e1544db42b8e937af04dbe47fa3ccbd"
},
"downloads": -1,
"filename": "docify_ai-1.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2f1d2260cb30e60813f02c5bbc865640",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 9104,
"upload_time": "2025-08-22T08:26:54",
"upload_time_iso_8601": "2025-08-22T08:26:54.481875Z",
"url": "https://files.pythonhosted.org/packages/76/9e/7f02111c1005b35314272c2432c36cd824c3d462e2e538d4611afc83da08/docify_ai-1.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1114f9a7edfe35c8fd8f2cca73e45f250cb1771cf85ace79eda54a1bc6366e8e",
"md5": "1b8e8862277078d582a3836a00569d26",
"sha256": "d9dd2ab67078b05fc854a0842af34a394532915b49598974a9ccf09303010d68"
},
"downloads": -1,
"filename": "docify_ai-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "1b8e8862277078d582a3836a00569d26",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 8109,
"upload_time": "2025-08-22T08:26:55",
"upload_time_iso_8601": "2025-08-22T08:26:55.784459Z",
"url": "https://files.pythonhosted.org/packages/11/14/f9a7edfe35c8fd8f2cca73e45f250cb1771cf85ace79eda54a1bc6366e8e/docify_ai-1.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 08:26:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "shiwangupadhyay",
"github_project": "docify-project",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "docify-ai"
}