• Stars
    star
    1,375
  • Rank 34,198 (Top 0.7 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

README file generator, powered by large language model APIs ๐Ÿ‘พ


README-AI

โ—ฆ Generate beautiful and informative README.md documents.

โ—ฆ Developed with OpenAI's GPT language model APIs.


Markdown OpenAI Python pytest Docker actions

pypi-version pypi-python-version pypi-downloads github-license

๐Ÿ“– Table of Contents


๐Ÿ“ Overview

README-AI is a powerful, user-friendly command-line tool that generates extensive README markdown documents for your software and data projects. By providing a remote repository URL or path to your codebase, this tool generates documentation for your entire project, leveraging the capabilities of large language models and OpenAI's GPT APIs.

๐ŸŽฏ Motivation

Simplifies the process of writing and maintaining high-quality project documentation. My aim for this project is to provide all skill levels a tool that improves their technical workflow, in an efficient and user-friendly manner. Ultimately, the goal of README-AI is to improve the adoption and usability of open-source projects, enabling everyone to better understand and use open-source tools.

โš ๏ธ Disclaimer

README-AI is currently under development and has an opinionated configuration and setup. While this tool 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. Ensure all content in your repository is free of sensitive information before executing.

Additionally, frequently monitor your API usage and costs by visiting the OpenAI API Usage Dashboard.


๐Ÿ‘พ Demo

demo-video

โš™๏ธ Features

1.
๐Ÿ‘‡

๐Ÿ“‘ Codebase Documentation

โ—ฆ Repository File Summaries

  • Code summaries are generated for each file via OpenAI's gpt-3.5-turbo engine.
  • The File column in the markdown table contains a link to the file on GitHub.
docs

โ’‰
๐Ÿ‘‡

๐ŸŽ– Badges

โ—ฆ Introduction, Badges, & Table of Contents

  • The OpenAI API is prompted to create a 1-sentence phrase describing your project.
  • Project dependencies and metadata are visualized using Shields.io badges.
  • Badges are sorted by hex code, displayed from light to dark hues.
docs

โ’Š
๐Ÿ‘‡

๐Ÿงš Prompted Text Generation

โ—ฆ Features Table & Overview

  • Detailed prompts are embedded with repository metadata and passed to the OpenAI API.
    • Features table highlights various technical attributes of your codebase.
    • Overview section describes your project's use case and applications.
features overview

โ’‹
๐Ÿ‘‡

๐ŸŒฒ Repository Tree

tree

โ’Œ
๐Ÿ‘‡

๐Ÿ“ฆ Dynamic User Setup Guides

โ—ฆ Installation, Usage, & Testing

  • Generates instructions for installing, using, and testing your codebase.
  • README-AI currently supports this feature for code written with:
    • Python, Rust, Go, C, Kotlin, Java, JavaScript, TypeScript.
getting_started

โ’
๐Ÿ‘‡

๐Ÿ‘ฉโ€๐Ÿ’ป Contributing Guidelines & more!

contribute

โ’Ž
๐Ÿ‘‡

๐Ÿ’ฅ Example README Files

Example markdown files generated by readme-ai!

Example File Repository Language Bytes
1๏ธโƒฃ readme-python.md readme-ai Python 19,839
2๏ธโƒฃ readme-typescript.md chatgpt-app-react-typescript TypeScript, React 988
3๏ธโƒฃ readme-javascript.md assistant-chat-gpt-javascript JavaScript, React 212
4๏ธโƒฃ readme-kotlin.md file.io-android-client Kotlin, Java, Android 113,649
5๏ธโƒฃ readme-rust-c.md rust-c-app C, Rust 72
6๏ธโƒฃ readme-go.md go-docker-app Go 41
7๏ธโƒฃ readme-java.md java-minimal-todo Java 17,725
8๏ธโƒฃ readme-fastapi-redis.md async-ml-inference Python, FastAPI, Redis 355
9๏ธโƒฃ readme-mlops.md mlops-course Python, Jupyter 8,524
๐Ÿ”Ÿ readme-pyflink.md flink-flow PyFlink 32

โ’
๐Ÿ‘‡

๐Ÿ“œ Custom README templates coming soon!

Developing a feature that allows users to select from a variety of README formats and styles.

Custom templates will be tailored for use-cases such as data, ai & ml, research, minimal, and more!

๐Ÿ” Return


๐Ÿš€ Getting Started

โœ”๏ธ Dependencies

Before you begin, ensure that you have the following prerequisites installed:

  • Python 3.9, 3.10, 3.11
  • Pip, Poetry, Conda, or Docker (see installation methods below)
  • OpenAI API account and api key (see setup instructions below)

๐Ÿ“‚ Repository

Most user's will run README-AI using the command-line, specifying their repository on run-time. However, if you would like to use the default configuration, you will need to update the configuration file with your repository's remote URL or a local path to your codebase.

[git]
repository = "Insert your repository URL or local path here!"

๐Ÿ” OpenAI API

To use the README-AI app, you must create an OpenAI API account and generate an API key. The steps below outline this process:

OpenAI API User Guide
  1. Go to the OpenAI website.
  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.

โš ๏ธ Note

  • To maximize your experience with README-AI, it is recommended to set up a payment method on OpenAI's website. By doing so, you gain access to more powerful language models like gpt-3.5-turbo. Without a payment method, your usage will be restricted to the base gpt-3 models. This limitation might lead to less precise README files or potential errors during the generation process.

  • When using a payment method, make sure you have sufficient credits to run the README-AI application. Additionally, remember to regularly monitor your API usage and costs by visiting the OpenAI API Usage Dashboard. Please note that this API is not free and you will be charged for each request made, which can accumulate rapidly.

  • The generation of the README.md file should typically complete in under 1 minute. If it takes longer than a few minutes, please terminate the process.


๐Ÿ“ฆ Installation

Use any of the following methods to install project dependencies.

Pip (PyPI Package)

pip install --upgrade readmeai

Docker (Docker Hub)

docker pull zeroxeli/readme-ai:latest

If you prefer to install the project dependencies locally, follow the steps below.

  1. Clone the readme-ai repository to your machine.
git clone https://github.com/eli64s/readme-ai
  1. Navigate to the readme-ai directory.
cd readme-ai
  1. Install the project dependencies using one of the following methods.

Bash

bash setup/setup.sh

Conda

conda create -n readmeai python=3.9 -y && \
conda activate readmeai && \
pip install -r requirements.txt

Poetry

poetry install

๐ŸŽฎ Using README-AI

Use the command-line to provide the OpenAI API key (if not already set) and specify an output path for your README file, along with the path to your local repository or remote code repository. You can also provide the output path in the configuration file

Command-Line Arguments:

  • -k or --api-key: Your OpenAI API key.
  • -o or --output: The output path for your README.md file.
  • -r or --repository: The URL or path to your code repository.
  • -t or --template: The README template format to use. (coming soon!)
  • l or --language: The language of text written in the README file (coming soon!)

Use any of the following methods to run the readme-ai CLI application.

Pip (PyPI Package)

readmeai --api-key "YOUR_API_KEY" --output readme-ai.md --repository https://github.com/eli64s/readme-ai

# Or export your OpenAI API key as an environment variable
export OPENAI_API_KEY="YOUR_API_KEY"
readmeai -o readme-ai.md -r https://github.com/eli64s/readme-ai

Docker (Docker Hub)

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

Conda

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

Poetry

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

๐Ÿงช Running Tests

Execute the following command to run the test suite.

bash scripts/test.sh

๐Ÿ” Return


๐Ÿ›  Future Development

  • Distribute the readme-ai app as a Python library via PyPI and on Docker Hub.
  • Integrate readme-ai with streamlit to provide a user-friendly UI for generating README files.
  • Design and implement a variety of README template formats for different use-cases.
  • Add support for generating README files in any language (i.e. CN, ES, FR, JA, KO, RU).
  • Add GitHub Actions workflow to automatically update the README file on repository updates.

๐Ÿ“’ Changelog

Changelog


๐Ÿค Contributing

Contributing Guidelines


๐Ÿ“„ License

MIT


๐Ÿ‘ Acknowledgments

Badges

๐Ÿ” Return