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: Automated Documentation and Test Generation
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. It currently supports Google Gemini, OpenAI, and Bard (with Bard integration being a work in progress).
Features
-
Automated README Generation: Generates a comprehensive
README.mdfile summarizing your project's key aspects, including an overview, features, installation instructions, usage examples, and licensing information. The README is tailored to be professional and informative, assisting in project communication and collaboration. Supports Gemini, OpenAI, and Bard LLMs. Gemini is the default and currently the best-supported. -
Automated Technical Documentation Generation: Creates a foundational technical documentation file (
DOCS.md). This feature is under active development and its capabilities will expand in future releases. -
Automated Test File Generation: Creates a
testsdirectory containing atest_placeholder.pyfile. This provides a readily available template for writing unit and integration tests, encouraging a test-driven development approach. -
Git Integration: AutoDocify leverages Git to identify and incorporate only the relevant project files into the documentation generation process. Ensure your project is a Git repository, and your files are committed before running AutoDocify commands.
-
Multiple LLM Support: Offers flexibility by allowing you to choose the LLM (Gemini, OpenAI, or Bard) best suited for your needs and project requirements. You'll need to set environment variables for OpenAI and Google Gemini API keys (
OPENAI_API_KEY,GEMINI_API_KEY). For OpenAI, also setOPENAI_MODEL(e.g., "gpt-3.5-turbo"). -
Robust Error Handling and Reporting: Provides informative error messages to facilitate troubleshooting and quick resolution of any issues encountered during execution. Uses the
richlibrary for enhanced console output. -
Clear CLI Structure: Uses the
typerlibrary to provide a user-friendly command-line interface.
Installation
AutoDocify requires Python 3.12 or higher. It utilizes Poetry for dependency management.
-
Clone the repository:
git clone https://github.com/[your_github_username]/autodocify-cli.git # Replace with your actual GitHub URL cd autodocify-cli
-
Install Poetry (if necessary): Follow the instructions at https://python-poetry.org/docs/#installation.
-
Install AutoDocify:
poetry install -
(Optional) Install development dependencies: For contributing to the project, install the development dependencies:
poetry install --extras dev ``` This installs `pytest` for testing, `flake8` for code style checking, and `black` for code formatting.
Usage Examples
Before running any commands, ensure your project is a Git repository and you've committed your changes. Set the necessary environment variables for your chosen LLM's API key.
-
Generate README:
autodocify generate-readmeThis generates a
README.mdfile in the current directory. Options include:autodocify generate-readme --output-file my_readme.md --base-dir ../my_project --llm openai
This generates a README file named
my_readme.mdin the../my_projectdirectory using the OpenAI LLM. Replaceopenaiwithgeminiorbardas needed. -
Generate Test Files:
autodocify generate-testsThis creates a
testsdirectory and atest_placeholder.pyfile in the current working directory. You can specify a different base directory with the--base-diroption. -
Generate Technical Documentation: (Under development)
autodocify generate-docsThis generates a
DOCS.mdfile. Similar options togenerate-readmeare available. -
Verify Installation:
autodocify greet --name "Your Name"
Troubleshooting
-
API key not found: Ensure your
OPENAI_API_KEYand/orGEMINI_API_KEYenvironment variables are correctly set. For OpenAI, also ensureOPENAI_MODELis set. -
Not a Git repository: Initialize your project as a Git repository using
git init. -
No tracked files found: Commit your files to Git before running AutoDocify commands.
-
Error during LLM interaction: Check your internet connection and API key limits. Rate limits from the LLM provider may cause failures. Check the LLM provider's documentation for details on rate limits and usage.
Contributing
Contributions are welcome! Please open an issue to discuss potential contributions or improvements. A CONTRIBUTING.md file will be added in a future release.
License
[Specify your license here, e.g., MIT License]
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.1.0.tar.gz.
File metadata
- Download URL: autodocify_cli-0.1.0.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6705cab0e3a6aa1e65cb31a2c46aa9285b700663b914bde5f79446b74b70857
|
|
| MD5 |
649c8523aa5f9d4d1a1a1119c0de5909
|
|
| BLAKE2b-256 |
3aa67fc88c1594a60a120811ce2f6df490d4ef5d50bbbfac4f9c9d9068a1890d
|
File details
Details for the file autodocify_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: autodocify_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.8 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28eada15d24fee88e42f434d4e0df6bb93927198d1005386698c536c169165d6
|
|
| MD5 |
cebb44e59960bfcc5615e7f8992a37e6
|
|
| BLAKE2b-256 |
100d3f7cfb478595d99cd2b7abb5e876bb82efe7bb72b9e39dd6418d7e14dae4
|