docify-ai


Namedocify-ai JSON
Version 1.3.0 PyPI version JSON
download
home_pageNone
SummaryAn AI-powered README.md generator for local projects.
upload_time2025-08-22 08:26:55
maintainerNone
docs_urlNone
authorShiwang Upadhyay
requires_python>=3.8
licenseNone
keywords ai documentation readme-generator tests-generator mermaid-diagrams openai gemini automation developer-tools cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Docify AI 🚀: Intelligent Documentation & Test Generation for Your Code

[![PyPI - Version](https://img.shields.io/pypi/v/docify-ai.svg?style=flat-square)](https://pypi.org/project/docify-ai/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/docify-ai.svg?style=flat-square)](https://pypi.org/project/docify-ai/)
[![License](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](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[![PyPI - Version](https://img.shields.io/pypi/v/docify-ai.svg?style=flat-square)](https://pypi.org/project/docify-ai/)\r\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/docify-ai.svg?style=flat-square)](https://pypi.org/project/docify-ai/)\r\n[![License](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](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"
}
        
Elapsed time: 1.42766s