- ๐ Table of Contents
- ๐ค Overview
- ๐ฎ Features
- ๐ Getting Started
- ๐ Future Development
- ๐ค Contributing
- ๐ชช License
- ๐ Acknowledgments
README-AI is a powerful command-line tool that automates the creation of README.md files and generates comprehensive codebase documentation. This tool is designed to create visually appealing, well-structured, and informative README files for your codebase, making it easy for analysts, developers, and teams of all levels to produce baseline codebase documentation quickly.
Note:
This project is currently under development and has an opinionated configuration and setup. While README-AI provides an excellent starting point for any project that requires documentation, it is important to review all text that is generated by the OpenAI API to ensure that it accurately represents your codebase.
Have you ever met anyone who enjoyed writing documentation for their project? Thatโs why we're building this project, enjoy!
OpenAI generated introduction sentence and beautiful project badges displayed in the top section of the README.
Introduction and Badges The introduction sentence is generated by text-davinci-003 and dependencies are displayed with project badges! |
Why not a directory tree as well? Visualize your codebase structure in your README.
Adds a table of contents, introduction, and features sections.
๐ Table of Contents, Overview, & Features Builds table of contents, overview, and features sections. The Overview summary is generated by the OpenAI model. |
Creates instructions for setting up and using your codebase. Working on a more dynamic implementation of this section!
๐ Getting Started Dynamically creates a setup guide for others can use your project! Sections include dependencies, installation, and usage, and tests. |
Adds three additional sections to build out a complete README file!
Markdown example files produced by the README-AI app!
File | GitHub | Size (kb) | |
---|---|---|---|
1๏ธโฃ | README_1.md | readme-ai | 10860 |
2๏ธโฃ | README_2.md | mlops-course | 8891 |
3๏ธโฃ | README_3.md | JobBboard-Fastapi | 73612 |
Before you begin, ensure that you have the following prerequisites installed:
- Python 3.6 or higher
- Conda package manager (recommended)
- Access to the OpenAI API (see OpenAI API Setup below)
Copy the url of your project's GitHub repository and update the configuration file as seen in the code snippet below.
[github]
url = "INSERT-GITHUB-REPO-URL"
To use README-AI, you will need an API key for OpenAI. Follow the steps below to create an API key:
User Guide - OpenAI API
- Go to the OpenAI website.
- Click the "Sign up for free" button.
- Fill out the registration form with your information and agree to the terms of service.
- Once logged in, click on the "API" tab.
- Follow the instructions to create a new API key.
- Copy the API key and keep it in a secure place.
- Clone the README-AI repository:
git clone https://github.com/eli64s/README-AI.git && cd README-AI
- Create a Conda environment and install the required dependencies:
# With Bash
bash setup/setup.sh
# With Conda
conda env create -f setup/environment.yaml
conda activate readmeai
pip install -r requirements.txt
- Set up the OpenAI API key by creating an environment variable:
export OPENAI_API_KEY=<your-api-key>
Use the command-line to provide the OpenAI API key (if not already set) and specify an output path for your README file.
Options:
-k, --api_key
: Provide your OpenAI API key (optional - only if the API key wasn't set during installation)-o, --output
: Provide an output file path (default path defined in configuration file)-u, --url
: Provide a GitHub repository url (default path defined in configuration file.)
python src/main.py -k your_api_key -o docs/README_EX.md -r https://github.com/eli64s/readme-ai
Alternatively, run the bash script to run README-AI with the default configuration.
bash scripts/run_main.sh
To run the unit-tests for README-AI, use the following command.
bash scripts/test.sh
- Add compatibility for additional languages
- Add additional models on top of OpenAI's to tune text.
- Implement different configuration README templates.
Contributions are welcomed and encouraged! Please follow these steps in the Contributing Guidelines, thank you!
This project is licensed under the MIT License - see the LICENSE file for details.
- Badge Icons: Aveek-Saha/GitHub-Profile-Badges