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 interface (CLI) tool designed to automate the generation of project documentation, including README files and technical documentation, using AI models. It streamlines the documentation process, saving developers valuable time and effort. The tool supports multiple Large Language Models (LLMs) such as Gemini, OpenAI, and Bard, offering flexibility and choice.
[TOC]
Table of Contents
- Installation Instructions
- Usage Guide
- Configuration
- Technical Details
- Contribution Guidelines
- License
- FAQs
- Support
Installation Instructions
Prerequisites:
- Python 3.7 or higher
pip(Python package installer)
Installation:
-
Clone the repository:
git clone <REPOSITORY_URL> cd <PROJECT_DIRECTORY>
-
Create a
.envfile in theautodocify_cli/core/env_filesdirectory based on the.env.examplefile (if provided) and populate it with your API keys for the LLMs you intend to use (Gemini, OpenAI). -
Install dependencies:
pip install -r requirements.txt
Usage Guide
AutoDocify CLI offers several commands to automate different documentation tasks:
autodocify greet [name]: Greets the user. Replace[name]with your name (optional).autodocify generate-readme [base_dir] [output_file] [llm]: Generates a README.md file.[base_dir]specifies the project directory (defaults to the current directory).[output_file]specifies the name of the output README file (defaults toREADME.md).[llm]specifies the LLM to use (gemini,openai, orbard, defaults togemini).autodocify generate-tests [base_dir] [llm]: Generates test files for the project.[base_dir]specifies the project directory (defaults to the current directory).[llm]specifies the LLM to use (gemini,openai, orbard, defaults togemini).autodocify generate-docs [base_dir] [output_file] [llm]: Generates technical documentation.[base_dir]specifies the project directory (defaults to the current directory).[output_file]specifies the name of the output documentation file (defaults toDOCS.md).[llm]specifies the LLM to use (gemini,openai, orbard, defaults togemini).
Example:
To generate a README using the Gemini LLM:
autodocify generate-readme . my_readme.md gemini
This command will generate a my_readme.md file in the current directory.
Configuration
The tool is configured using environment variables specified in a .env file located at autodocify_cli/core/env_files/.env. This file should contain the following keys:
GEMINI_API_KEY: Your Google Gemini API key.OPENAI_API_KEY: Your OpenAI API key.OPENAI_MODEL: The OpenAI model to use (e.g.,gpt-3.5-turbo).
Technical Details
- Programming Language: Python
- Frameworks/Libraries: Typer, Rich, Yaspin, Pydantic-Settings, Google Generative AI (for Gemini), OpenAI Python library.
- Architecture: The CLI uses Typer for command-line argument parsing, Rich for console output formatting, Yaspin for loading indicators, and integrates with various AI services for documentation generation.
Contribution Guidelines
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with clear and concise messages.
- Push your branch to your forked repository.
- Create a pull request describing your changes.
License
This project is licensed under the License - see the LICENSE file for details.
FAQs
-
Q: What happens if the API key is missing or invalid? A: The tool will output an error message indicating that the API key is missing or invalid and will not be able to generate documentation.
-
Q: Which LLMs are supported? A: Currently, Gemini, OpenAI, and Bard are supported. Support for additional LLMs may be added in the future.
-
Q: How can I customize the output? A: The prompts used to generate the documentation can be adjusted in the
prompt_templatesdirectory. You can also modify the output formatting using Rich's styling options.
Support
For support or to report issues, please open an issue on the GitHub repository.
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 autodocify_cli-0.3.0.tar.gz.
File metadata
- Download URL: autodocify_cli-0.3.0.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.8.0-1020-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0142e0de2cbbe3f06dbd0875eaea03fa9b17a2568a5aa2cb3ad349aaab5bca0b
|
|
| MD5 |
912a6d7bfd6186c1667cf49ca630813e
|
|
| BLAKE2b-256 |
b413cb9f9c0f2f5a033a07d89bfb0225989d919856aee712745ed5680cdb746e
|
File details
Details for the file autodocify_cli-0.3.0-py3-none-any.whl.
File metadata
- Download URL: autodocify_cli-0.3.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.8.0-1020-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5088ff275b3672bc795056471e2b6312834fde8a1e6c7473d7826dc27dc14997
|
|
| MD5 |
c52af798b99a2cd7d4b6614e8c6f0a2c
|
|
| BLAKE2b-256 |
38dcab71316e405baac43b5faec82f6454f0a49f99140536fb089a77f34aa037
|