Skip to main content

AutoDocify is a command-line interface (CLI) tool designed to automate the generation of project documentation and placeholder test files. Leveraging the power of Large Language Models (LLMs), AutoDocify streamlines your development workflow by creating professional READMEs, basic technical documentation, and a starting point for your testing strategy

Project description

AutoDocify CLI

Overview

AutoDocify CLI is a command-line tool designed to automate the generation of various project documentation, including READMEs, technical documentation, Swagger specifications, and test files. Leveraging AI, it streamlines your documentation workflow, saving you valuable time and effort. It currently supports Gemini, OpenAI, and Bard as language models (LLMs).

[TOC]

Installation Instructions

Prerequisites:

  • Python 3.8 or higher
  • pip (Python package installer)

Installation:

  1. Clone the repository:

    git clone <REPOSITORY_URL>
    cd <PROJECT_NAME>
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configuration (Optional): Set your AI API keys and backend URLs in the .env file. An example .env file (.env.example) is provided. You need to replace the placeholder values with your actual keys.

Usage Guide

The AutoDocify CLI offers several commands to generate different types of documentation. All commands accept a base_dir argument to specify the project directory. If not provided, it defaults to the current working directory. The llm argument allows you to specify the LLM to use ("gemini", "openai", or "bard").

Basic Usage:

autodocify <command> [options]

Available Commands:

  • greet: A simple greeting command.
  • generate-readme: Generates a README.md file.
  • generate-tests: Generates test files (currently supports Python's pytest).
  • generate-docs: Generates technical documentation.
  • generate-swagger: Generates Swagger documentation (JSON or YAML).

Examples:

  • Generate a README using Gemini:

    autodocify generate-readme --llm gemini --output-file README_gemini.md
    
  • Generate tests using Bard in a specific directory:

    autodocify generate-tests --base-dir /path/to/my/project --llm bard
    
  • Generate Swagger documentation as YAML:

    autodocify generate-swagger --format yaml --output-file swagger.yaml
    

Configuration

AutoDocify uses a .env file for configuration. You can customize settings like the backend URL and AI API keys. Refer to the .env.example file for the structure and available options. Remember to rename .env.example to .env after setting your configurations.

Technical Details

  • Programming Language: Python
  • Framework: Typer (for CLI), Rich (for console output)
  • Libraries: requests, pydantic-settings, google.generativeai (for Gemini), OpenAI Python library (for OpenAI), potentially others depending on LLM support.
  • Architecture: The CLI interacts with an AI backend service (currently a placeholder, but the structure supports different LLMs) to generate the documentation.

Contribution Guidelines

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure they are well-documented and tested.
  4. Commit your changes with clear commit messages.
  5. Submit a pull request. Please follow our coding standards and ensure your code passes all tests.

License

This project is licensed under the <LICENSE_NAME> License - see the LICENSE file for details.

FAQs

  • Q: What AI models are supported?

    • A: Currently, Gemini, OpenAI, and Bard are supported. Support for more LLMs may be added in future releases.
  • Q: How can I customize the generated documentation?

    • A: You can customize the output by modifying the prompts templates found in the prompt_templates directory, adjusting settings in the .env file, or adding arguments to the CLI commands.
  • Q: What if the AI generation fails?

    • A: The CLI includes robust error handling. It will display informative error messages, which often provide hints to help debug the problem. Contact support if you're unable to resolve the issue.

Support

For support or bug reports, please open an issue on the GitHub repository. For urgent issues, contact <YOUR_EMAIL>

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

autodocify_cli-0.4.2.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

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

autodocify_cli-0.4.2-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file autodocify_cli-0.4.2.tar.gz.

File metadata

  • Download URL: autodocify_cli-0.4.2.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Linux/6.8.0-1020-azure

File hashes

Hashes for autodocify_cli-0.4.2.tar.gz
Algorithm Hash digest
SHA256 fd711b53d4654d0cf659621c16c90bef2502bce1a66ea88167a83f5330d656d2
MD5 8f256d8cad9f0b7a7f8bf8a50f8f5b2d
BLAKE2b-256 f8d774145ff547f7c8c73a2bfead8f2d95484ff71ccd8868eaef9dd3283c9e32

See more details on using hashes here.

File details

Details for the file autodocify_cli-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: autodocify_cli-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Linux/6.8.0-1020-azure

File hashes

Hashes for autodocify_cli-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bbc72c3707d0d902632aeee16e43d7cc5c2df52c651018fefe23654b83724b7c
MD5 e06171fd42014fadbf9a5a85c100b578
BLAKE2b-256 cc07c5f74d3ca48c11e3238215fc734537fc101b9caa50d7a20cb34cb51b61c3

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