<div align="center">
<h1 align="center">
<img src="https://img.icons8.com/?size=512&id=55494&format=png" width="80" />
<img src="https://img.icons8.com/?size=512&id=kTuxVYRKeKEY&format=png" width="80" />
<br>README-AI
</h1>
<h3>โฆ Generate beautiful and informative <i>README</i> files</h3>
<h3>โฆ Developed with OpenAI's GPT language model APIs</h3>
<br>
<p align="center">
<img src="https://img.shields.io/badge/Markdown-000000.svg?stylee&logo=Markdown&logoColor=white" alt="Markdown" />
<img src="https://img.shields.io/badge/OpenAI-412991.svg?stylee&logo=OpenAI&logoColor=white" alt="OpenAI" />
<img src="https://img.shields.io/badge/Python-3776AB.svg?stylee&logo=Python&logoColor=white" alt="Python" />
<img src="https://img.shields.io/badge/Pytest-0A9EDC.svg?stylee&logo=Pytest&logoColor=white" alt="pytest" />
<img src="https://img.shields.io/badge/Docker-2496ED.svg?style&logo=Docker&logoColor=white" alt="Docker" />
<img src="https://img.shields.io/badge/GitHub%20Actions-2088FF.svg?style&logo=GitHub-Actions&logoColor=white" alt="actions" />
</p>
<a href="https://pypi.org/project/readmeai/">
<img src="https://img.shields.io/pypi/v/readmeai?color=5D6D7E&logo=pypi" alt="pypi-version" />
</a>
<a href="https://pypi.org/project/readmeai/">
<img src="https://img.shields.io/pypi/pyversions/readmeai?color=5D6D7E&logo=python" alt="pypi-python-version" />
</a>
<a href="https://pypi.org/project/readmeai/">
<img src="https://img.shields.io/pypi/dm/readmeai?color=5D6D7E" alt="pypi-downloads" />
</a>
<img src="https://img.shields.io/github/license/eli64s/readme-ai?color=5D6D7E" alt="github-license" />
</div>
---
## ๐ Table of Contents
- [๐ Table of Contents](#-table-of-contents)
- [๐ Overview](#-overview)
- [๐ค Demos](#-demos)
- [๐ฆ Features](#-features)
- [๐ฉโ๐ป Usage](#-usage)
- [๐ Installation](#-installation)
- [โ๏ธ Configuration](#๏ธ-configuration)
- [๐ Running *README-AI*](#-running-readme-ai)
- [๐งช Tests](#-tests)
- [๐ฃ Roadmap](#-roadmap)
- [๐ Changelog](#-changelog)
- [๐ค Contributing](#-contributing)
- [๐ License](#-license)
- [๐ Acknowledgments](#-acknowledgments)
---
## ๐ Overview
*README-AI* is a powerful command-line tool that generates robust README.md files for your software and data projects. By simply providing a remote repository URL or path to your codebase, this tool auto-generates documentation for your entire project, leveraging the capabilities OpenAI's GPT language model APIs.
**๐ฏ Motivation**
Simplifies the process of writing and maintaining high-quality project documentation, enhancing developer productivity and workflow. The ultimate goal of *readme-ai* is to improve the adoption and usability of open-source software, enabling all skill levels to better understand complex codebases and easily use open-source tools.
**โ ๏ธ Disclaimer**
This project is currently under development and has an opinionated configuration. While *readme-ai* provides an excellent starting point for documentation, its important to review all text generated by the OpenAI API to ensure it accurately represents your codebase.
---
## ๐ค Demos
<h3 align="center">โบ Command-Line Interface</h3>
<br>
<table align="center">
<tr>
<td>
<a href="https://youtu.be/p9qPjm0l4Q4">
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/cli-demo.png" alt="cli-demo" />
</a>
</td>
</tr>
</table>
<br>
<h3 align="center">โ Streamlit Community Cloud</h3>
<br>
<table align="center">
<tr>
<td>
<p>
โฃ Use <i>readme-ai</i> directly in your browser with Streamlit! Zero installation, zero code!
</p>
<p>
โฃ <a href="https://readmeai.streamlit.app/">๐ธ Take me to <i>readme-ai</i> on Streamlit!</a>
</p>
</td>
</tr>
<tr>
<td>
<a href="https://youtu.be/4xuqltFDfCo">
<img src="https://github.com/eli64s/readme-ai/blob/main/examples/imgs/streamlit-demo.png?raw=true" alt="streamlit-demo" />
</a>
</td>
</tr>
</table>
<br>
---
## ๐ฆ Features
<h1 align="center">โ<br>๐<br><br>๐ Introduction and Badges</h1>
<table align="center">
<tr>
<td>
<h3>Project Slogan and Badges</h3>
<p>
โฃ A slogan to highlight your poject is generated by <a href="https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L56">prompting</a> OpenAI's GPT engine.
</p>
<p>
โฃ Codebase dependencies and metadata are visualized using <a href="https://shields.io/">Shields.io</a> badges.
</p>
<!--<p>โฃ Badges are sorted by hex code, displayed from light to dark hues.</p>-->
</td>
</tr>
<tr>
<td>
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/badges.png" alt="badges" />
</td>
</tr>
</table>
<h1 align="center">โ<br>๐<br><br>๐ Codebase Documentation</h1>
<table align="center">
<tr>
<h3>Directory Tree and File Summaries</h3>
<p>
โฃ Your project's directory structure is visualized using the <i>tree</i> command.
</p>
<p>
โฃ Each file in the codebase is summarized by OpenAI's <i>GPT</i> model.
</p>
</tr>
<tr>
<td align="center">
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/repository-tree.png" alt="repository-tree" />
</td>
<td align="center">
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/code-summaries.png" alt="code-summaries" />
</td>
</tr>
</table>
<h1 align="center">โ<br>๐<br><br>๐ง Overview and Features Table</h1>
<table align="center">
<tr>
<td>
<h3>Prompted Text Generation</h3>
<p>
โฃ An overview paragraph and features table are generated using <a href="https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L31">detailed prompts</a>, embedded with project metadata.
</p>
</td>
</tr>
<tr>
<td>
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/feature-table.png" alt="feature-table" />
</td>
</tr>
</table>
<h1 align="center">โ<br>๐<br><br>๐ง Dynamic Usage Instructions</h1>
<table align="center">
<tr>
<td>
<h3>Installation, Running, and Test</h3>
<p>
โฃ Creates instructions for installation, running, and testing your project based on the language of your codebase.
</p>
<p>
โฃ Instructions are created by identifying the codebase's top language and referring to our <a href="https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/language_setup.toml">language_setup.toml</a> configuration file.
</p>
</td>
</tr>
<tr>
<td>
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/usage-instructions.png" alt="usage-instructions" />
</td>
</tr>
</table>
<h1 align="center">โ<br>๐<br><br>๐ Contributing Guidelines and more!</h1>
<table align="center">
<tr>
<td>
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/roadmap.png"
alt="roadmap" />
</td>
</tr>
<br>
<tr>
<td>
<img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/license.png"
alt="license" />
</td>
</tr>
</table>
<h1 align="center">โ<br>๐<br><br>๐ช Example Output Files</h1>
<div align="center">
<table>
<thead>
<tr>
<th></th>
<th>Output File</th>
<th>Repository</th>
<th>Languages</th>
</tr>
</thead>
<tbody>
<tr>
<td>1๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-python.md">readme-python.md</a></td>
<td><a href="https://github.com/eli64s/readme-ai">readme-ai</a></td>
<td>Python</td>
</tr>
<tr>
<td>2๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-typescript.md">readme-typescript.md</a></td>
<td><a href="https://github.com/Yuberley/ChatGPT-App-React-Native-TypeScript">chatgpt-app-react-typescript</a></td>
<td>TypeScript, React</td>
</tr>
<tr>
<td>3๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-javascript.md">readme-javascript.md</a></td>
<td><a href="https://github.com/idosal/assistant-chat-gpt-javascript">assistant-chat-gpt-javascript</a></td>
<td>JavaScript, React</td>
</tr>
<tr>
<td>4๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-kotlin.md">readme-kotlin.md</a></td>
<td><a href="https://github.com/rumaan/file.io-Android-Client">file.io-android-client</a></td>
<td>Kotlin, Java, Android</td>
</tr>
<tr>
<td>5๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-rust-c.md">readme-rust-c.md</a></td>
<td><a href="https://github.com/DownWithUp/CallMon">rust-c-app</a></td>
<td>C, Rust</td>
</tr>
<tr>
<td>6๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-go.md">readme-go.md</a></td>
<td><a href="https://github.com/olliefr/docker-gs-ping">go-docker-app</a></td>
<td>Go</td>
</tr>
<tr>
<td>7๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-java.md">readme-java.md</a></td>
<td><a href="https://github.com/avjinder/Minimal-Todo">java-minimal-todo</a></td>
<td>Java</td>
</tr>
<tr>
<td>8๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-fastapi-redis.md">readme-fastapi-redis.md</a></td>
<td><a href="https://github.com/FerrariDG/async-ml-inference">async-ml-inference</a></td>
<td>Python, FastAPI, Redis</td>
</tr>
<tr>
<td>9๏ธโฃ</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-mlops.md">readme-mlops.md</a></td>
<td><a href="https://github.com/GokuMohandas/mlops-course">mlops-course</a></td>
<td>Python, Jupyter</td>
</tr>
<tr>
<td>๐</td>
<td><a href="https://github.com/eli64s/readme-ai/blob/main/examples/readme-pyflink.md">readme-pyflink.md</a></td>
<td><a href="https://github.com/eli64s/flink-flow">flink-flow</a></td>
<td>PyFlink</td>
</tr>
</tbody>
</table>
</div>
<h1 align="center">โ<br>๐<br><br>๐จ Custom <i>README</i> templates coming soon!</h1>
<p align="center">โฃ Developing a feature that allows users to select from a variety of README formats and styles.</p>
<p align="center">โฃ Templates will focus on use-cases such as web development, data, machine learning, minimal, and more!</p>
<p align="right">
<a href="#top"><b>๐ Return</b></a>
</p>
---
## ๐ฉโ๐ป Usage
***Dependencies***
Please ensure you have the following dependencies installed on your system:
- *Python version 3.9 or higher*
- *Package manager (i.e. pip, conda, poetry) or Docker*
- *OpenAI API paid account and API key*
<br>
***Repository***
A remote repository URL or path to your local project's directory is needed to use *readme-ai*. The following repository types are currently supported:
- *GitHub*
- *GitLab*
- *File System*
<br>
***OpenAI API***
An OpenAI API account and API key are needed to use *readme-ai*. The steps below outline this process:
<details closed><summary>๐ OpenAI API - Setup Instructions</summary>
1. Go to the [OpenAI website](https://platform.openai.com/).
2. Click the "Sign up for free" button.
3. Fill out the registration form with your information and agree to the terms of service.
4. Once logged in, click on the "API" tab.
5. Follow the instructions to create a new API key.
6. Copy the API key and keep it in a secure place.
</details>
<details closed><summary>โ ๏ธ OpenAI API - Cautionary Guidelines</summary>
1. **Review Sensitive Information**: Before running the application, ensure that all content in your repository is free of sensitive information. Please note that *readme-ai* does not filter out sensitive data from the README file, and it does not modify any files in your repository.
2. **API Usage Costs**: The OpenAI API is not free, and you will be charged for each request made. Costs can accumulate rapidly, so it's essential to be aware of your usage. You can monitor your API usage and associated costs by visiting the [OpenAI API Usage Dashboard](https://platform.openai.com/account/usage).
3. **Paid Account Recommended**: Setting up a paid account with OpenAI is highly recommended to avoid potential issues. Without a payment method on file, your API usage will be restricted to base GPT-3 models. This limitation can result in less accurate README file generation and may lead to API errors due to request limits.
4. **Runtime Considerations**: README file generation typically takes less than a minute. If the process exceeds a few minutes (e.g., 3 minutes), it's advisable to terminate *readme-ai* to prevent extended processing times.
</details>
---
### ๐ Installation
***Using Pip***
Pip is the recommended installation method for most users.
```sh
pip install --upgrade readmeai
```
<br>
***Using Docker***
Docker is recommended for users wanting to run the application in a containerized environment.
```sh
docker pull zeroxeli/readme-ai:latest
```
<br>
<details><summary><b><i>Manually Install</i></b></summary>
<br>
1๏ธโฃ Clone the readme-ai repository.
```sh
git clone https://github.com/eli64s/readme-ai
```
2๏ธโฃ Navigate to readme-ai directory.
```sh
cd readme-ai
```
3๏ธโฃ Install dependencies using a method below.
***Using Bash***
```sh
bash setup/setup.sh
```
***Using Conda***
```sh
conda create -n readmeai python=3.9 -y && \
conda activate readmeai && \
pip install -r requirements.txt
```
***Using Poetry***
```sh
poetry install
```
</details>
---
### โ๏ธ Configuration
<br>
***Command-Line Arguments***
To generate a *README.md* file, use the `readmeai` command in your terminal, along with the arguments below.
| Short Flag | Long Flag | Description | Status |
|------------|----------------|---------------------------------------------------|--------------|
| `-k` | `--api-key` | Your OpenAI API secret key. | Required |
| `-e` | `--engine` | OpenAI GPT language model engine (gpt-3.5-turbo) | Optional |
| `-o` | `--output` | The output path for your README.md file. | Optional |
| `-r` | `--repository` | The URL or path to your code repository. | Required |
| `-t` | `--temperature`| The temperature (randomness) of the model | Optional |
| `-l` | `--language` | The language of text written in the README file. | Coming Soon! |
| `-s` | `--style` | The README template format to use. (coming soon!) | Coming Soon! |
<br>
***Custom Settings***
To customize the README file generation process, you can modify the following sections of the [configuration file:](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml)
- [*api*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L2) - OpenAI language model API configuration settings.
- [*git*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L12) - Default git repository settings used if no repository is provided.
- [*paths*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L17) - Directory paths and files used by the *readme-ai* application.
- [*prompts*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L26) - Large language model prompts used to generate the README file.
- [*md*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L59) - Dynamic Markdown section code templates used to build the README file.
---
### ๐ Running *README-AI*
<br>
***Using Streamlit***
Use the app directly in your browser via Streamlit Community Cloud.
- [๐ธ Take me to *readme-ai* on Streamlit!](https://readmeai.streamlit.app/)
<br>
***Using Pip***
```sh
# Option 1: Run readmeai command with all required command-line arguments.
readmeai --api-key "YOUR_API_KEY" --output readme-ai.md --repository https://github.com/eli64s/readme-ai
```
```sh
# Option 2: Run readmeai command with OpenAI API key set as environment variable.
export OPENAI_API_KEY="YOUR_API_KEY"
readmeai -o readme-ai.md -r https://github.com/eli64s/readme-ai
```
<br>
***Using Docker***
```sh
# Option 1: Run Docker container with all required command-line arguments.
docker run -it \
-e OPENAI_API_KEY="YOUR_API_KEY" \
-v "$(pwd)":/app zeroxeli/readme-ai:latest \
readmeai -o readme-ai.md -r https://github.com/eli64s/readme-ai
```
```sh
# Option 2: Run Docker container with OpenAI API key set as environment variable.
export OPENAI_API_KEY="YOUR_API_KEY"
docker run -it \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
-v "$(pwd)":/app zeroxeli/readme-ai:latest \
readmeai -o readme-ai.md -r https://github.com/eli64s/readme-ai
```
<br>
<details><summary><b><i>Manually Run</i></b></summary>
<br>
***Using Conda***
```sh
conda activate readmeai
export OPENAI_API_KEY="YOUR_API_KEY"
python readmeai/main.py -o readme-ai.md -r https://github.com/eli64s/readme-ai
```
<br>
***Using Poetry***
```sh
poetry shell
export OPENAI_API_KEY="YOUR_API_KEY"
poetry run python readmeai/main.py -o readme-ai.md -r https://github.com/eli64s/readme-ai
```
</details>
---
### ๐งช Tests
Execute the test suite using the command below.
```sh
bash scripts/test.sh
```
---
## ๐ฃ Roadmap
- [X] Publish project as a Python library via PyPI and a Docker image on Docker Hub.
- [*PyPI - readmeai*](https://pypi.org/project/readmeai/)
- [*Docker Hub - readme-ai*](https://hub.docker.com/repository/docker/zeroxeli/readme-ai/general)
- [X] Integrate and deploy app with Streamlit to provide a simple user-interface for using the tool.
- [*Streamlit Community Cloud - readmeai*](https://readmeai.streamlit.app/)
- [ ] Develop GitHub Actions script to automatically update the README file when new code is pushed.
- [ ] Design README output templates for a variety of use-cases (i.e. data, web-dev, minimal, etc.)
- [ ] Add support for generating README files in any language (i.e. CN, ES, FR, JA, KO, RU).
---
## ๐ Changelog
[Changelog](https://github.com/eli64s/readme-ai/blob/main/CHANGELOG.md)
---
## ๐ค Contributing
[Contributing Guidelines](https://github.com/eli64s/readme-ai/blob/main/CONTRIBUTING.md)
---
## ๐ License
[MIT](https://github.com/eli64s/readme-ai/blob/main/LICENSE)
---
## ๐ Acknowledgments
*Badges*
- [Shields.io](https://shields.io/)
- [Aveek-Saha/GitHub-Profile-Badges](https://github.com/Aveek-Saha/GitHub-Profile-Badges)
- [Ileriayo/Markdown-Badges](https://github.com/Ileriayo/markdown-badges)
<p align="right">
<a href="#top"><b>๐ Return </b></a>
</p>
---
Raw data
{
"_id": null,
"home_page": "https://github.com/eli64s/readme-ai",
"name": "readmeai",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8.1,<4.0.0",
"maintainer_email": "",
"keywords": "ai,auto-readme,automated-readme,autonomous-agents,documentation,documentation-generator,gpt-3,gpt-4,llm-agent,markdown,openai,openai-api,python,readme,readme-badges,readme-generation,readme-generator",
"author": "Eli",
"author_email": "0x.eli.64s@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/47/fd/d97a55e46b4c9128962ebe0bf3eac20b542272ab3b09675c359024a5def8/readmeai-0.3.70.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <h1 align=\"center\">\n <img src=\"https://img.icons8.com/?size=512&id=55494&format=png\" width=\"80\" />\n <img src=\"https://img.icons8.com/?size=512&id=kTuxVYRKeKEY&format=png\" width=\"80\" />\n <br>README-AI\n </h1>\n <h3>\u25e6 Generate beautiful and informative <i>README</i> files</h3>\n <h3>\u25e6 Developed with OpenAI's GPT language model APIs</h3>\n <br>\n <p align=\"center\">\n <img src=\"https://img.shields.io/badge/Markdown-000000.svg?stylee&logo=Markdown&logoColor=white\" alt=\"Markdown\" />\n <img src=\"https://img.shields.io/badge/OpenAI-412991.svg?stylee&logo=OpenAI&logoColor=white\" alt=\"OpenAI\" />\n <img src=\"https://img.shields.io/badge/Python-3776AB.svg?stylee&logo=Python&logoColor=white\" alt=\"Python\" />\n <img src=\"https://img.shields.io/badge/Pytest-0A9EDC.svg?stylee&logo=Pytest&logoColor=white\" alt=\"pytest\" />\n <img src=\"https://img.shields.io/badge/Docker-2496ED.svg?style&logo=Docker&logoColor=white\" alt=\"Docker\" />\n <img src=\"https://img.shields.io/badge/GitHub%20Actions-2088FF.svg?style&logo=GitHub-Actions&logoColor=white\" alt=\"actions\" />\n </p>\n <a href=\"https://pypi.org/project/readmeai/\">\n <img src=\"https://img.shields.io/pypi/v/readmeai?color=5D6D7E&logo=pypi\" alt=\"pypi-version\" />\n </a>\n <a href=\"https://pypi.org/project/readmeai/\">\n <img src=\"https://img.shields.io/pypi/pyversions/readmeai?color=5D6D7E&logo=python\" alt=\"pypi-python-version\" />\n </a>\n <a href=\"https://pypi.org/project/readmeai/\">\n <img src=\"https://img.shields.io/pypi/dm/readmeai?color=5D6D7E\" alt=\"pypi-downloads\" />\n </a>\n <img src=\"https://img.shields.io/github/license/eli64s/readme-ai?color=5D6D7E\" alt=\"github-license\" />\n</div>\n\n---\n\n## \ud83d\udcd6 Table of Contents\n\n- [\ud83d\udcd6 Table of Contents](#-table-of-contents)\n- [\ud83d\udccd Overview](#-overview)\n- [\ud83e\udd16 Demos](#-demos)\n- [\ud83d\udce6 Features](#-features)\n- [\ud83d\udc69\u200d\ud83d\udcbb Usage](#-usage)\n - [\ud83d\udee0 Installation](#-installation)\n - [\u2699\ufe0f Configuration](#\ufe0f-configuration)\n - [\ud83d\ude80 Running *README-AI*](#-running-readme-ai)\n - [\ud83e\uddea Tests](#-tests)\n- [\ud83d\udee3 Roadmap](#-roadmap)\n- [\ud83d\udcd2 Changelog](#-changelog)\n- [\ud83e\udd1d Contributing](#-contributing)\n- [\ud83d\udcc4 License](#-license)\n- [\ud83d\udc4f Acknowledgments](#-acknowledgments)\n\n---\n\n## \ud83d\udccd Overview\n\n*README-AI* is a powerful command-line tool that generates robust README.md files for your software and data projects. By simply providing a remote repository URL or path to your codebase, this tool auto-generates documentation for your entire project, leveraging the capabilities OpenAI's GPT language model APIs.\n\n**\ud83c\udfaf Motivation**\n\nSimplifies the process of writing and maintaining high-quality project documentation, enhancing developer productivity and workflow. The ultimate goal of *readme-ai* is to improve the adoption and usability of open-source software, enabling all skill levels to better understand complex codebases and easily use open-source tools.\n\n**\u26a0\ufe0f Disclaimer**\n\nThis project is currently under development and has an opinionated configuration. While *readme-ai* provides an excellent starting point for documentation, its important to review all text generated by the OpenAI API to ensure it accurately represents your codebase.\n\n---\n\n## \ud83e\udd16 Demos\n\n<h3 align=\"center\">\u25ba Command-Line Interface</h3>\n<br>\n<table align=\"center\">\n <tr>\n <td>\n <a href=\"https://youtu.be/p9qPjm0l4Q4\">\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/cli-demo.png\" alt=\"cli-demo\" />\n </a>\n </td>\n </tr>\n</table>\n<br>\n<h3 align=\"center\">\u2601 Streamlit Community Cloud</h3>\n<br>\n<table align=\"center\">\n <tr>\n <td>\n <p>\n \u2023 Use <i>readme-ai</i> directly in your browser with Streamlit! Zero installation, zero code!\n </p>\n <p>\n \u2023 <a href=\"https://readmeai.streamlit.app/\">\ud83d\udef8 Take me to <i>readme-ai</i> on Streamlit!</a>\n </p>\n </td>\n </tr>\n <tr>\n <td>\n <a href=\"https://youtu.be/4xuqltFDfCo\">\n <img src=\"https://github.com/eli64s/readme-ai/blob/main/examples/imgs/streamlit-demo.png?raw=true\" alt=\"streamlit-demo\" />\n </a>\n </td>\n </tr>\n</table>\n<br>\n\n---\n## \ud83d\udce6 Features\n\n<h1 align=\"center\">\u2488<br>\ud83d\udc47<br><br>\ud83c\udf96 Introduction and Badges</h1>\n<table align=\"center\">\n <tr>\n <td>\n <h3>Project Slogan and Badges</h3>\n <p>\n \u2023 A slogan to highlight your poject is generated by <a href=\"https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L56\">prompting</a> OpenAI's GPT engine.\n </p>\n <p>\n \u2023 Codebase dependencies and metadata are visualized using <a href=\"https://shields.io/\">Shields.io</a> badges.\n </p>\n <!--<p>\u2023 Badges are sorted by hex code, displayed from light to dark hues.</p>-->\n </td>\n </tr>\n <tr>\n <td>\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/badges.png\" alt=\"badges\" />\n </td>\n </tr>\n</table>\n\n<h1 align=\"center\">\u2489<br>\ud83d\udc47<br><br>\ud83d\udcc3 Codebase Documentation</h1>\n<table align=\"center\">\n <tr>\n <h3>Directory Tree and File Summaries</h3>\n <p>\n \u2023 Your project's directory structure is visualized using the <i>tree</i> command.\n </p>\n <p>\n \u2023 Each file in the codebase is summarized by OpenAI's <i>GPT</i> model.\n </p>\n </tr>\n <tr>\n <td align=\"center\">\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/repository-tree.png\" alt=\"repository-tree\" />\n </td>\n <td align=\"center\">\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/code-summaries.png\" alt=\"code-summaries\" />\n </td>\n </tr>\n</table>\n\n<h1 align=\"center\">\u248a<br>\ud83d\udc47<br><br>\ud83e\uddda Overview and Features Table</h1>\n<table align=\"center\">\n <tr>\n <td>\n <h3>Prompted Text Generation</h3>\n <p>\n \u2023 An overview paragraph and features table are generated using <a href=\"https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L31\">detailed prompts</a>, embedded with project metadata.\n </p>\n </td>\n </tr>\n <tr>\n <td>\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/feature-table.png\" alt=\"feature-table\" />\n </td>\n </tr>\n</table>\n\n<h1 align=\"center\">\u248b<br>\ud83d\udc47<br><br>\ud83d\udd27 Dynamic Usage Instructions</h1>\n<table align=\"center\">\n <tr>\n <td>\n <h3>Installation, Running, and Test</h3>\n <p>\n \u2023 Creates instructions for installation, running, and testing your project based on the language of your codebase.\n </p>\n <p>\n \u2023 Instructions are created by identifying the codebase's top language and referring to our <a href=\"https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/language_setup.toml\">language_setup.toml</a> configuration file.\n </p>\n </td>\n </tr>\n <tr>\n <td>\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/usage-instructions.png\" alt=\"usage-instructions\" />\n </td>\n </tr>\n</table>\n\n<h1 align=\"center\">\u248c<br>\ud83d\udc47<br><br>\ud83d\udcdd Contributing Guidelines and more!</h1>\n<table align=\"center\">\n <tr>\n <td>\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/roadmap.png\"\n alt=\"roadmap\" />\n </td>\n </tr>\n <br>\n <tr>\n <td>\n <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/imgs/license.png\"\n alt=\"license\" />\n </td>\n </tr>\n</table>\n\n<h1 align=\"center\">\u248d<br>\ud83d\udc47<br><br>\ud83e\ude84 Example Output Files</h1>\n<div align=\"center\">\n <table>\n <thead>\n <tr>\n <th></th>\n <th>Output File</th>\n <th>Repository</th>\n <th>Languages</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>1\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-python.md\">readme-python.md</a></td>\n <td><a href=\"https://github.com/eli64s/readme-ai\">readme-ai</a></td>\n <td>Python</td>\n </tr>\n <tr>\n <td>2\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-typescript.md\">readme-typescript.md</a></td>\n <td><a href=\"https://github.com/Yuberley/ChatGPT-App-React-Native-TypeScript\">chatgpt-app-react-typescript</a></td>\n <td>TypeScript, React</td>\n </tr>\n <tr>\n <td>3\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-javascript.md\">readme-javascript.md</a></td>\n <td><a href=\"https://github.com/idosal/assistant-chat-gpt-javascript\">assistant-chat-gpt-javascript</a></td>\n <td>JavaScript, React</td>\n </tr>\n <tr>\n <td>4\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-kotlin.md\">readme-kotlin.md</a></td>\n <td><a href=\"https://github.com/rumaan/file.io-Android-Client\">file.io-android-client</a></td>\n <td>Kotlin, Java, Android</td>\n </tr>\n <tr>\n <td>5\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-rust-c.md\">readme-rust-c.md</a></td>\n <td><a href=\"https://github.com/DownWithUp/CallMon\">rust-c-app</a></td>\n <td>C, Rust</td>\n </tr>\n <tr>\n <td>6\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-go.md\">readme-go.md</a></td>\n <td><a href=\"https://github.com/olliefr/docker-gs-ping\">go-docker-app</a></td>\n <td>Go</td>\n </tr>\n <tr>\n <td>7\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-java.md\">readme-java.md</a></td>\n <td><a href=\"https://github.com/avjinder/Minimal-Todo\">java-minimal-todo</a></td>\n <td>Java</td>\n </tr>\n <tr>\n <td>8\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-fastapi-redis.md\">readme-fastapi-redis.md</a></td>\n <td><a href=\"https://github.com/FerrariDG/async-ml-inference\">async-ml-inference</a></td>\n <td>Python, FastAPI, Redis</td>\n </tr>\n <tr>\n <td>9\ufe0f\u20e3</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-mlops.md\">readme-mlops.md</a></td>\n <td><a href=\"https://github.com/GokuMohandas/mlops-course\">mlops-course</a></td>\n <td>Python, Jupyter</td>\n </tr>\n <tr>\n <td>\ud83d\udd1f</td>\n <td><a href=\"https://github.com/eli64s/readme-ai/blob/main/examples/readme-pyflink.md\">readme-pyflink.md</a></td>\n <td><a href=\"https://github.com/eli64s/flink-flow\">flink-flow</a></td>\n <td>PyFlink</td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<h1 align=\"center\">\u248e<br>\ud83d\udc47<br><br>\ud83c\udfa8 Custom <i>README</i> templates coming soon!</h1>\n<p align=\"center\">\u2023 Developing a feature that allows users to select from a variety of README formats and styles.</p>\n<p align=\"center\">\u2023 Templates will focus on use-cases such as web development, data, machine learning, minimal, and more!</p>\n\n<p align=\"right\">\n <a href=\"#top\"><b>\ud83d\udd1d Return</b></a>\n</p>\n\n---\n\n## \ud83d\udc69\u200d\ud83d\udcbb Usage\n\n***Dependencies***\n\nPlease ensure you have the following dependencies installed on your system:\n\n- *Python version 3.9 or higher*\n- *Package manager (i.e. pip, conda, poetry) or Docker*\n- *OpenAI API paid account and API key*\n\n<br>\n\n***Repository***\n\nA remote repository URL or path to your local project's directory is needed to use *readme-ai*. The following repository types are currently supported:\n- *GitHub*\n- *GitLab*\n- *File System*\n\n<br>\n\n***OpenAI API***\n\nAn OpenAI API account and API key are needed to use *readme-ai*. The steps below outline this process:\n\n<details closed><summary>\ud83d\udd10 OpenAI API - Setup Instructions</summary>\n\n1. Go to the [OpenAI website](https://platform.openai.com/).\n2. Click the \"Sign up for free\" button.\n3. Fill out the registration form with your information and agree to the terms of service.\n4. Once logged in, click on the \"API\" tab.\n5. Follow the instructions to create a new API key.\n6. Copy the API key and keep it in a secure place.\n\n</details>\n\n<details closed><summary>\u26a0\ufe0f OpenAI API - Cautionary Guidelines</summary>\n\n1. **Review Sensitive Information**: Before running the application, ensure that all content in your repository is free of sensitive information. Please note that *readme-ai* does not filter out sensitive data from the README file, and it does not modify any files in your repository.\n\n2. **API Usage Costs**: The OpenAI API is not free, and you will be charged for each request made. Costs can accumulate rapidly, so it's essential to be aware of your usage. You can monitor your API usage and associated costs by visiting the [OpenAI API Usage Dashboard](https://platform.openai.com/account/usage).\n\n3. **Paid Account Recommended**: Setting up a paid account with OpenAI is highly recommended to avoid potential issues. Without a payment method on file, your API usage will be restricted to base GPT-3 models. This limitation can result in less accurate README file generation and may lead to API errors due to request limits.\n\n4. **Runtime Considerations**: README file generation typically takes less than a minute. If the process exceeds a few minutes (e.g., 3 minutes), it's advisable to terminate *readme-ai* to prevent extended processing times.\n\n</details>\n\n---\n\n### \ud83d\udee0 Installation\n\n***Using Pip***\n\nPip is the recommended installation method for most users.\n\n```sh\npip install --upgrade readmeai\n```\n<br>\n\n***Using Docker***\n\nDocker is recommended for users wanting to run the application in a containerized environment.\n\n```sh\ndocker pull zeroxeli/readme-ai:latest\n```\n\n<br>\n\n<details><summary><b><i>Manually Install</i></b></summary>\n\n<br>\n\n1\ufe0f\u20e3 Clone the readme-ai repository.\n```sh\ngit clone https://github.com/eli64s/readme-ai\n```\n\n2\ufe0f\u20e3 Navigate to readme-ai directory.\n\n```sh\ncd readme-ai\n```\n\n3\ufe0f\u20e3 Install dependencies using a method below.\n\n***Using Bash***\n```sh\nbash setup/setup.sh\n```\n\n***Using Conda***\n```sh\nconda create -n readmeai python=3.9 -y && \\\nconda activate readmeai && \\\npip install -r requirements.txt\n```\n\n***Using Poetry***\n```sh\npoetry install\n```\n\n</details>\n\n---\n\n### \u2699\ufe0f Configuration\n\n<br>\n\n***Command-Line Arguments***\n\nTo generate a *README.md* file, use the `readmeai` command in your terminal, along with the arguments below.\n\n| Short Flag | Long Flag | Description | Status |\n|------------|----------------|---------------------------------------------------|--------------|\n| `-k` | `--api-key` | Your OpenAI API secret key. | Required |\n| `-e` | `--engine` | OpenAI GPT language model engine (gpt-3.5-turbo) | Optional |\n| `-o` | `--output` | The output path for your README.md file. | Optional |\n| `-r` | `--repository` | The URL or path to your code repository. | Required |\n| `-t` | `--temperature`| The temperature (randomness) of the model | Optional |\n| `-l` | `--language` | The language of text written in the README file. | Coming Soon! |\n| `-s` | `--style` | The README template format to use. (coming soon!) | Coming Soon! |\n\n<br>\n\n***Custom Settings***\n\nTo customize the README file generation process, you can modify the following sections of the [configuration file:](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml)\n\n- [*api*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L2) - OpenAI language model API configuration settings.\n- [*git*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L12) - Default git repository settings used if no repository is provided.\n- [*paths*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L17) - Directory paths and files used by the *readme-ai* application.\n- [*prompts*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L26) - Large language model prompts used to generate the README file.\n- [*md*](https://github.com/eli64s/readme-ai/blob/main/readmeai/conf/conf.toml#L59) - Dynamic Markdown section code templates used to build the README file.\n\n---\n\n### \ud83d\ude80 Running *README-AI*\n\n<br>\n\n***Using Streamlit***\n\nUse the app directly in your browser via Streamlit Community Cloud.\n\n- [\ud83d\udef8 Take me to *readme-ai* on Streamlit!](https://readmeai.streamlit.app/)\n\n<br>\n\n***Using Pip***\n\n```sh\n# Option 1: Run readmeai command with all required command-line arguments.\nreadmeai --api-key \"YOUR_API_KEY\" --output readme-ai.md --repository https://github.com/eli64s/readme-ai\n```\n```sh\n# Option 2: Run readmeai command with OpenAI API key set as environment variable.\nexport OPENAI_API_KEY=\"YOUR_API_KEY\"\nreadmeai -o readme-ai.md -r https://github.com/eli64s/readme-ai\n```\n\n<br>\n\n***Using Docker***\n\n```sh\n# Option 1: Run Docker container with all required command-line arguments.\ndocker run -it \\\n-e OPENAI_API_KEY=\"YOUR_API_KEY\" \\\n-v \"$(pwd)\":/app zeroxeli/readme-ai:latest \\\nreadmeai -o readme-ai.md -r https://github.com/eli64s/readme-ai\n```\n```sh\n# Option 2: Run Docker container with OpenAI API key set as environment variable.\nexport OPENAI_API_KEY=\"YOUR_API_KEY\"\ndocker run -it \\\n-e OPENAI_API_KEY=$OPENAI_API_KEY \\\n-v \"$(pwd)\":/app zeroxeli/readme-ai:latest \\\nreadmeai -o readme-ai.md -r https://github.com/eli64s/readme-ai\n```\n\n<br>\n\n<details><summary><b><i>Manually Run</i></b></summary>\n\n<br>\n\n***Using Conda***\n```sh\nconda activate readmeai\nexport OPENAI_API_KEY=\"YOUR_API_KEY\"\npython readmeai/main.py -o readme-ai.md -r https://github.com/eli64s/readme-ai\n```\n\n<br>\n\n***Using Poetry***\n```sh\npoetry shell\nexport OPENAI_API_KEY=\"YOUR_API_KEY\"\npoetry run python readmeai/main.py -o readme-ai.md -r https://github.com/eli64s/readme-ai\n```\n\n</details>\n\n---\n\n### \ud83e\uddea Tests\n\nExecute the test suite using the command below.\n\n```sh\nbash scripts/test.sh\n```\n\n---\n\n## \ud83d\udee3 Roadmap\n\n- [X] Publish project as a Python library via PyPI and a Docker image on Docker Hub.\n - [*PyPI - readmeai*](https://pypi.org/project/readmeai/)\n - [*Docker Hub - readme-ai*](https://hub.docker.com/repository/docker/zeroxeli/readme-ai/general)\n- [X] Integrate and deploy app with Streamlit to provide a simple user-interface for using the tool.\n - [*Streamlit Community Cloud - readmeai*](https://readmeai.streamlit.app/)\n- [ ] Develop GitHub Actions script to automatically update the README file when new code is pushed.\n- [ ] Design README output templates for a variety of use-cases (i.e. data, web-dev, minimal, etc.)\n- [ ] Add support for generating README files in any language (i.e. CN, ES, FR, JA, KO, RU).\n\n---\n\n## \ud83d\udcd2 Changelog\n\n[Changelog](https://github.com/eli64s/readme-ai/blob/main/CHANGELOG.md)\n\n---\n\n## \ud83e\udd1d Contributing\n\n[Contributing Guidelines](https://github.com/eli64s/readme-ai/blob/main/CONTRIBUTING.md)\n\n---\n\n## \ud83d\udcc4 License\n\n[MIT](https://github.com/eli64s/readme-ai/blob/main/LICENSE)\n\n---\n\n## \ud83d\udc4f Acknowledgments\n\n*Badges*\n - [Shields.io](https://shields.io/)\n - [Aveek-Saha/GitHub-Profile-Badges](https://github.com/Aveek-Saha/GitHub-Profile-Badges)\n - [Ileriayo/Markdown-Badges](https://github.com/Ileriayo/markdown-badges)\n\n<p align=\"right\">\n <a href=\"#top\"><b>\ud83d\udd1d Return </b></a>\n</p>\n\n---\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\ud83d\ude80 Generate beautiful README files automatically, powered by GPT-4 \ud83e\ude90",
"version": "0.3.70",
"project_urls": {
"Documentation": "https://github.com/eli64s/readme-ai/blob/main/README.md",
"Homepage": "https://github.com/eli64s/readme-ai"
},
"split_keywords": [
"ai",
"auto-readme",
"automated-readme",
"autonomous-agents",
"documentation",
"documentation-generator",
"gpt-3",
"gpt-4",
"llm-agent",
"markdown",
"openai",
"openai-api",
"python",
"readme",
"readme-badges",
"readme-generation",
"readme-generator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "79f70ca865aecc0429d4cd50d319428f1317b0efc4da6633692ffe41eb88cb57",
"md5": "9afff8b202c08862d50a35879a9fb107",
"sha256": "f49526ee5dacd5b550f1338296181959c0e0e245d8899b44a4b802185d00da60"
},
"downloads": -1,
"filename": "readmeai-0.3.70-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9afff8b202c08862d50a35879a9fb107",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.1,<4.0.0",
"size": 85627,
"upload_time": "2023-09-24T17:16:39",
"upload_time_iso_8601": "2023-09-24T17:16:39.698475Z",
"url": "https://files.pythonhosted.org/packages/79/f7/0ca865aecc0429d4cd50d319428f1317b0efc4da6633692ffe41eb88cb57/readmeai-0.3.70-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "47fdd97a55e46b4c9128962ebe0bf3eac20b542272ab3b09675c359024a5def8",
"md5": "d02bd528d8ef3a86211a54054a6b4a54",
"sha256": "20d9cb63de1fdf3446fc91e195f259d35d407159538f8aeb4f41b14011773732"
},
"downloads": -1,
"filename": "readmeai-0.3.70.tar.gz",
"has_sig": false,
"md5_digest": "d02bd528d8ef3a86211a54054a6b4a54",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.1,<4.0.0",
"size": 87702,
"upload_time": "2023-09-24T17:16:41",
"upload_time_iso_8601": "2023-09-24T17:16:41.645366Z",
"url": "https://files.pythonhosted.org/packages/47/fd/d97a55e46b4c9128962ebe0bf3eac20b542272ab3b09675c359024a5def8/readmeai-0.3.70.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-24 17:16:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eli64s",
"github_project": "readme-ai",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "readmeai"
}