Skip to main content

An AI-powered README.md generator for local projects.

Project description

Docify-AI

An intelligent command-line interface (CLI) that leverages AI to automate documentation, testing, and project scaffolding for local software projects.

PyPI - Version PyPI - Python Version Downloads

Key Features

  • AI-Powered Documentation Generation: Automatically create detailed and domain-specific README.md files for any project.
  • Automated Test Suite Generation: Generate runnable pytest test files covering various scenarios.
  • Dockerfile Generation: Create optimized Dockerfiles for containerizing your applications.
  • GitHub Actions Workflow Generation: Develop YAML configurations for CI/CD pipelines (e.g., build, test, deploy).
  • 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 or ML projects with a basic Jupyter Notebook including data loading, EDA, and model training/evaluation pipelines.
  • Model Card Generation: Create MODEL_CARD.md for ML/AI projects, detailing model information, intended use, datasets, and ethical considerations.
  • Flexible AI Clients: Support for both Google Gemini and OpenAI GPT models.
  • Intelligent File Scanning: Ignores specified directories and file extensions to focus on relevant code.
  • Dataset Schema Extraction: Automatically infers schema and samples from common data formats (.csv, .json, etc.) to inform AI generations for data-centric tasks.

Installation

Docify-AI can be installed directly from PyPI using pip:

pip install docify-ai

Usage

The docify command is your entry point to all functionalities.

API Key Setup

You must set your GEMINI_API_KEY or OPENAI_API_KEY environment variable or provide it via the --key argument.

# Example for setting environment variable (Linux/macOS)
export GEMINI_API_KEY='YOUR_GEMINI_API_KEY'
# or for OpenAI
export OPENAI_API_KEY='YOUR_OPENAI_API_KEY'

Global Options

  • --path, -p: Root directory of the project (default: current directory . ).
  • --output, -o: Custom output file/folder name.
  • --client, -c: Choose AI client (openai or gemini, default: gemini). Case-insensitive.
  • --key, -k: Provide API key directly (overrides environment variable).
  • --ignore-dirs: Space-separated list of directories to ignore during scanning.
  • --ignore-exts: Space-separated list of file extensions to ignore during scanning.

CLI Commands

1. Generate README.md (Default Action)

If no specific action flag is provided, docify generates a README.md for the project.

docify -p /path/to/your/project
# Output will be saved to /path/to/your/project/README.md

2. Generate Pytest Test Files

Creates a tests/ directory with pytest compatible test modules.

docify --test -p /path/to/your/project
# Output: tests/ directory within your project, e.g., tests/test_main.py

3. Generate Dockerfile

Creates a Dockerfile for your project.

docify --docker -p /path/to/your/project
# Output: Dockerfile within your project

4. Generate GitHub Actions Workflow

Creates a .github/workflows/ci.yml file for CI/CD.

docify --gha -p /path/to/your/project
# Output: .github/workflows/ci.yml within your project

5. Bootstrap a New Python Project

Generates a basic Python project structure.

docify --init my_new_project
# Output: A new directory named 'my_new_project' with basic Python project files.

6. Add Docstrings to a Python File

Inserts Google-style docstrings into a specified Python file.

docify --docstring /path/to/your/project/my_module.py
# The specified Python file will be updated in place.

7. Generate a Jupyter Notebook

Creates a starter Jupyter Notebook, especially useful for data-centric projects.

docify --notebook -p /path/to/your/data_project
# Output: notebook.ipynb within your project.

8. Generate a Model Card

Creates a MODEL_CARD.md for AI/ML projects.

docify --model-card -p /path/to/your/ml_project
# Output: MODEL_CARD.md within your project.

Changelog

See CHANGELOG.md for a history of changes and new features.

Testing

To run the internal test suite for Docify-AI (for developers):

pytest

License

This project is licensed under the terms of the MIT License.

1.6.0 - 2025-09-07

  • 📝 Added --notebook option to generate a starter Jupyter Notebook with analysis pipelines and tests.
  • 📄 Added --model-card option to generate a Model Card (MODEL_CARD.md) for ML/AI projects.

1.5.0 - 2025-09-05

  • 📝 Added --docstring option to automatically generate PEP 257–compliant docstrings for Python functions, classes, and modules.

1.4.0 - 2025-08-28

  • 🐳 Added --docker option to generate a project-aware Dockerfile.
  • ⚙️ Added --gha option to generate GitHub Actions workflow YAML for CI/CD.
  • 🏗 Added --init option to bootstrap a new Python project with a predefined structure.

1.3.0 - 2025-08-22

  • 🚫 Added --ignore-dirs and --ignore-exts options to exclude unwanted directories and files from documentation and test generation.

1.2.0 - 2025-08-21

  • 🧪 Added -t or --test option 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 --key argument to provide API key without environment variables.
  • 🔍 Case-insensitive --client option.

1.0.0 - 2025-08-15

  • 🚀 Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docify_ai-1.6.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docify_ai-1.6.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file docify_ai-1.6.0.tar.gz.

File metadata

  • Download URL: docify_ai-1.6.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docify_ai-1.6.0.tar.gz
Algorithm Hash digest
SHA256 5ac06f052c339003941ef2b368df8979668413a4cda64f8a34e8049b4f6a5703
MD5 a1ddeae7aeaf77c68e5ef98f7cd94362
BLAKE2b-256 0b8641e662dcb3fc247713b0688707167d614511cf1c3cf6b1cba827be753ae7

See more details on using hashes here.

File details

Details for the file docify_ai-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: docify_ai-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docify_ai-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83b59f7ed2450a99759d51061a494be1529000dd89bb73b8cfb1069c21a4d947
MD5 583f36ecfea538edf9a664e9fd1a0d54
BLAKE2b-256 681b38644844f5eb81ca734e699d37a9373f9510ceeef6ebeb1b8394654879e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page