readmeai


Namereadmeai JSON
Version 0.5.99.post5 PyPI version JSON
download
home_pagehttps://github.com/eli64s/readme-ai
SummaryAutomated README file generator, powered by AI.
upload_time2024-10-27 08:37:08
maintainerNone
docs_urlNone
authorEli
requires_python<4.0,>=3.9
licenseMIT
keywords ai-documentation anthropic badge-generator cli developer-tools documentation documentation-generator gemini gpt gpt-4 markdown markdown-generator markdown-md readme-md readme-md-generator readme-generator readme-template readme-md-generator
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/svg/readme-ai-cosmic.svg" alt="readme-ai-banner-logo" width="100%">
</p>

<p align="center">
  <em>Designed for simplicity, customization, and developer productivity.</em>
</p>

<p align="center">
  <a href="https://github.com/eli64s/readme-ai/actions">
    <img src="https://img.shields.io/github/actions/workflow/status/eli64s/readme-ai/release-pipeline.yml?logo=githubactions&label=CICD&logoColor=white&color=4169E1" alt="github-actions">
  </a>
  <a href="https://app.codecov.io/gh/eli64s/readme-ai">
    <img src="https://img.shields.io/codecov/c/github/eli64s/readme-ai?logo=codecov&logoColor=white&label=Coverage&color=5D4ED3" alt="codecov">
  </a>
  <a href="https://pypi.python.org/pypi/readmeai/">
    <img src="https://img.shields.io/pypi/v/readmeai?logo=Python&logoColor=white&label=PyPI&color=7934C5" alt="pypi-version">
  </a>
  <a href="https://www.pepy.tech/projects/readmeai">
    <img src="https://img.shields.io/pepy/dt/readmeai?logo=PyPI&logoColor=white&label=Downloads&color=9400D3" alt="pepy-total-downloads">
  </a>
  <a href="https://opensource.org/license/mit/">
    <img src="https://img.shields.io/github/license/eli64s/readme-ai?logo=opensourceinitiative&logoColor=white&label=License&color=8A2BE2" alt="license">
  </a>
</p>

---

## ๐Ÿ”— Quick Links

1. [Overview](#-overview)
2. [Demo](#-demo)
3. [Features](#๏ธ-features)
4. [Getting Started](#-getting-started)
5. [Configuration](#-configuration)
6. [Examples](#-examples)
7. [Contributing](#-contributing)

> [!IMPORTANT]
> โœจ Visit the [Official Documentation][mkdocs] for detailed guides and tutorials.

---

## ๐Ÿ”ฎ Overview

README-AI is a developer tool that automatically generates README markdown files using a robust repository processing engine and advanced language models. Simply provide a URL or path to your codebase, and a well-structured and detailed README will be generated.

**Why README-AI?**

This tool is designed to streamline the documentation process for developers, saving time and effort while ensuring high-quality README files. Key benefits include:

- **AI-Powered:** Leverage language models for intelligent content generation.
- **Consistency:** Ensure clean, standardized documentation across projects.
- **Customization:** Tailor the output to fit your project's requirements.
- **Language Agnostic:** Works with most programming languages/frameworks.
- **Save Time:** Generate comprehensive READMEs in less than a minute.

---

## ๐Ÿ‘พ Demo

**Running from the command line:**

[readmeai-cli-demo](https://github.com/eli64s/artifacts/assets/43382407/55b8d1b9-06a7-4b1f-b6a7-aaeccdb27679)

**Running directly in your browser:**

[readmeai-streamlit-demo](https://github.com/eli64s/artifacts/assets/43382407/3eb39fcf-c1df-49c6-bb5c-63e141857ae3)

---

## โ˜„๏ธ Features

- **๐Ÿš€ Automated Documentation:** Generate comprehensive README files automatically from your codebase.
- **๐ŸŽจ Customizable Output:** Tailor the styling, formatting, badges, header designs, and more preferences.
- **๐ŸŒ Language Agnostic:** Compatible with a wide range of programming languages and project types.
- **๐Ÿค– Multi-LLM Support:** Current support for `OpenAI`, `Ollama`, `Anthropic`, `Google Gemini`.
- **๐Ÿ“‘ Offline Mode:** Create boilerplate README files offline, without any external API calls.
- **๐Ÿ“ Best Practices:** Ensures clean, professional documentation, adhering to markdown best practices.

Let's take a look at some possible customizations created by readme-ai:

<table>
  <!-- ROW -->
  <tr>
    <td colspan="2" align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/custom-dragon.png" alt="custom-dragon-project-logo" width="700">
      <br>
      <code>--image custom --badge-color FF4B4B --badge-style flat-square --header-style classic</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td colspan="2" align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/toc/roman-numeral.png" alt="docker-go-readme-example" width="700">
      <br>
      <code>--badge-color 00ADD8 --badge-style for-the-badge --header-style modern --toc-style roman</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td colspan="2" align="center"><br>
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/ascii-art.png" alt="ascii-readme-header-style" width="700">
      <br>
      <code>--header-style ascii</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td colspan="2" align="center"><br>
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/svg-banner.png" alt="svg-" width="700">
      <br>
      <code>--badge-style for-the-badge --header-style svg</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/refs/heads/main/docs/docs/assets/img/headers/cloud.png" alt="readme-header-with-cloud-logo" width="350">
      <br>
      <code>--align left --badge-style flat-square --image cloud</code>
    </td>
    <td align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/refs/heads/main/docs/docs/assets/img/headers/gradient.png" alt="readme-header-with-gradient-markdown-logo" width="350">
      <br>
      <code>--align left --badge-style flat --image gradient</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/custom-balloon.png" alt="custom-balloon-project-logo" width="350">
      <br>
      <code>--badge-style flat --image custom</code>
    </td>
    <td align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/skill-icons-light.png" alt="readme-header-with-skill-icons-light" width="350">
      <br>
      <code>--badge-style skills-light --image grey</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/blue.png" alt="readme-header-with-blue-markdown-logo" width="350">
      <br>
      <code>--badge-style flat-square</code>
    </td>
    <td align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/black.png" alt="readme-header-with-black-readme-logo" width="350">
      <br>
      <code>--badge-style flat --image black</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td colspan="2" align="center"><br>
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/compact.png" alt="compact-readme-header" width="700">
      <br>
      <code>--image cloud --header-style compact --toc-style fold</code>
    </td>
  </tr>
  <!-- ROW -->
  <tr>
    <td colspan="2" align="center">
      <img src="https://raw.githubusercontent.com/eli64s/readme-ai/refs/heads/main/docs/docs/assets/img/headers/modern-flat-square.png" alt="readme-header-style-modern" width="700">
      <br>
      <code>-i custom -bc BA0098 -bs flat-square -hs modern -ts fold</code>
    </td>
  </tr>
</table>

> [!IMPORTANT]
> See the [Official Documentation][mkdocs] for more information on customization options and best practices.

Next, let's explore the key sections of a typical README generated by readme-ai.

<details closed>
  <summary><strong>๐Ÿ“ Overview</strong></summary><br>
  <table>
    <tr>
      <td>
      <b>Overview</b><br>
        <p>โ—Ž High-level introduction of the project, focused on the value proposition and use-cases, rather than technical aspects.
        </p>
      </td>
    </tr>
    <tr>
      <td align="center"><img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/llm-content/overview.png" alt="readme-overview-section" width="700">
      </td>
    </tr>
  </table>
</details>

<details closed>
  <summary><strong>โœจ Features</strong></summary><br>
  <table>
    <tr>
      <td><b>Features Table</b><br>
        <p>โ—Ž Generated markdown table that highlights the key technical features and components of the codebase. This table is generated using a structured <a href="https://github.com/eli64s/readme-ai/blob/main/readmeai/config/settings/prompts.toml">prompt template.</a>
        </p>
      </td>
    </tr>
    <tr>
      <td align="center"><img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/llm-content/features-table.png" alt="readme-features-section" width="700">
      </td>
    </tr>
  </table>
</details>

<details closed>
  <summary><strong>๐Ÿ“ƒ Codebase Documentation</strong></summary><br>
  <table>
    <tr>
      <td><b>Directory Tree</b><br>
        <p>โ—Ž The project's directory structure is generated using pure Python and embedded in the README. See <a href="https://github.com/eli64s/readme-ai/blob/main/readmeai/generators/tree.py">readmeai.generators.tree.</a> for more details.
        </p>
      </td>
    </tr>
    <tr>
      <td align="center">
        <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/project-structure/tree.png" alt="directory-tree" width="700">
      </td>
    </tr>
    <tr>
      <td style="padding-top:20px;">
        <b>File Summaries</b><br>
        <p>โ—Ž Summarizes key modules of the project, which are also used as context for downstream <a href="https://github.com/eli64s/readme-ai/blob/main/readmeai/config/settings/prompts.toml">prompts.</a>
        </p>
      </td>
    </tr>
    <tr>
      <td align="center">
        <img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/project-structure/file-summaries.png" alt="file-summaries" width="700">
    </tr>
  </table>
</details>

<details closed>
  <summary><strong>๐Ÿš€ Quickstart Instructions</strong></summary>
  <br>
  <table>
    <tr>
      <td><b>Getting Started Guides</b><br>
        <p>โ—Ž Prerequisites and system requirements are extracted from the codebase during preprocessing. The <a href="https://github.com/eli64s/readme-ai/tree/main/readmeai/parsers">parsers</a> handles the majority of this logic currently.
        </p>
      </td>
    </tr>
    <tr>
      <td align="center"><img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/getting-started/prerequisites-and-installation.png" alt="getting-started-section-prerequisites" width="700">
      </td>
    </tr>
    <tr>
      <td><b>Installation Guide</b><br>
        <p>โ—Ž <code>Installation</code>, <code>Usage</code>, and <code>Testing</code> guides are generated based on the project's dependency files and codebase configuration.
        </p>
        <tr>
        <td align="center"><img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/getting-started/usage-and-testing.png" alt="getting-started-section-usage-and-testing" width="700">
      </td>
    </tr>
  </table>
</details>

<details closed>
  <summary><strong>๐Ÿ”ฐ Contributing Guidelines</strong></summary>
  <br>
  <table>
    <tr>
      <td><b>Contributing Guide</b><br>
        <p>โ—Ž Dropdown section that outlines general process for contributing to your project.</p>
        <p>โ—Ž Provides links to your contributing guidelines, issues page, and more resources.</p>
        <p>โ—Ž Graph of contributors is also included.</p>
        </p>
      </td>
    </tr>
    <tr>
      <td align="center"><img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/contributing/contributing-guidelines.png" alt="contributing-guidelines-section" width="700">
      </td>
    </tr>
    <tr>
      <td><b>Additional Sections</b><br>
        <p>โ—Ž <code>Project Roadmap</code>, <code>Contributing Guidelines</code>, <code>License</code>, and <code>Acknowledgements</code> are included by default.
        </p>
      </td>
    </tr>
    <tr>
      <td align="center"><img src="https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/contributing/footer.png" alt="footer-readme-section" width="700"></td>
    </tr>
  </table>
</details>

---

## ๐Ÿ›ธ Getting Started

### System Requirements

- **Python**: `3.9+`
- **Package Manager/Container**: `pip`, `pipx`, `uv`, or `docker`.

### Supported Sources

The following git hosting services are supported for source code retrieval, along with your local file system:

- [**GitHub**](https://github.com/)
- [**GitLab**](https://gitlab.com/)
- [**Bitbucket**](https://bitbucket.org/)
- [**File System**](https://en.wikipedia.org/wiki/File_system)

### Supported LLM APIs

To enable the full functionality of `readmeai`, an account and API key are required for one of the following providers:

- [**OpenAI**](https://platform.openai.com/docs/quickstart/account-setup): Recommended for general use. Requires an OpenAI account and API key.
- [**Ollama**](https://github.com/ollama/ollama): Free and open-source. No API key required.
- [**Anthropic**](https://www.anthropic.com/): Requires an Anthropic account and API key.
- [**Google Gemini**](https://ai.google.dev/tutorials/python_quickstart): Requires a Google Cloud account and API key.
- [**Offline Mode**](https://github.com/eli64s/readme-ai/blob/main/examples/offline-mode/readme-litellm.md): Generates a README without making API calls.

<sub>For more information on setting up an API key, refer to the provider's documentation.</sub>

## โš™๏ธ Installation

Choose your preferred installation method:

<!--
#### Using `pip`
[![pip](https://img.shields.io/badge/PyPI-3775A9.svg?style=flat&logo=PyPI&logoColor=white)](https://pypi.org/project/readmeai/)
-->

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/python.svg">&emsp13;Pip

```sh
โฏ pip install readmeai
```

<!--
#### Using `pipx`
[![pipx](https://img.shields.io/badge/pipx-2CFFAA.svg?style=flat&logo=pipx&logoColor=black)](https://pipxproject.github.io/pipx/installation/)
-->

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/pipx.svg">&emsp13;Pipx

```sh
โฏ pipx install readmeai
```

> [!TIP]
> <sub>Using [pipx](https://pipx.pypa.io/stable/installation/) allows you to install and run Python command-line applications in isolated environments, which helps prevent dependency conflicts with other Python projects.</sub>

<!--
#### Using `docker`
[![docker](https://img.shields.io/badge/Docker-2496ED.svg?style=flat&logo=Docker&logoColor=white)](https://hub.docker.com/r/zeroxeli/readme-ai)
 -->

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/3052baaca03db99d00808acfec43a44e81ecbf7f/docs/docs/assets/svg/docker.svg">&emsp13;Docker

Pull the latest Docker image from the Docker Hub repository.

```sh
โฏ docker pull zeroxeli/readme-ai:latest
```

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/git.svg">&emsp13;From source

<details><summary>Click to expand instructions</summary>

1. **Clone the repository:**

   ```sh
   โฏ git clone https://github.com/eli64s/readme-ai
   ```

2. **Navigate to the `readme-ai` directory:**

   ```sh
   โฏ cd readme-ai
   ```

3. **Install dependencies:**

   ```sh
   โฏ pip install -r setup/requirements.txt
   ```

Alternatively, the project can be setup using the bash script below:

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/gnubash.svg">&emsp13;Bash

1. **Run the setup script:**

	```sh
	โฏ bash setup/setup.sh
	```

Or, use `poetry` to build the project:

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/poetry.svg">&emsp13;Poetry

1. **Install dependencies using Poetry:**

	```sh
	โฏ poetry install
	```

</details><br>

> [!IMPORTANT]
> To use the **Anthropic** and **Google Gemini** clients, additional dependencies are required. See the following installation commands:
> - **Anthropic:**
>   ```sh
>   โฏ pip install "readmeai[anthropic]"
>   ```
> - **Google Gemini:**
>   ```sh
>   โฏ pip install "readmeai[google-generativeai]"
>   ```

## ๐Ÿค– Running the CLI

**1. Set Up Environment Variables**

With OpenAI:

```sh
โฏ export OPENAI_API_KEY=<your_api_key>

# Or for Windows users:

โฏ set OPENAI_API_KEY=<your_api_key>
```

<details closed><summary>Additional Providers (Ollama, Anthropic, Google Gemini)</summary><br>

<details closed><summary>Ollama</summary><br>

Refer to the [Ollama documentation](https://github.com/ollama/ollama) for more information on setting up the Ollama API. Here is a basic example:

1. Pull your model of choice from the Ollama repository:

	```sh
	โฏ ollama pull mistral:latest
	```

2. Start the Ollama server and set the `OLLAMA_HOST` environment variable:

	```sh
	โฏ export OLLAMA_HOST=127.0.0.1 && ollama serve
	```

</details>

<details closed><summary>Anthropic</summary>

1. Export your Anthropic API key:

	```sh
	โฏ export ANTHROPIC_API_KEY=<your_api_key>
	```

</details>

<details closed><summary>Google Gemini</summary>

1. Export your Google Gemini API key:

	```sh
	โฏ export GOOGLE_API_KEY=<your_api_key
	```

</details>

</details>

**2. Generate a README**

Run the following command, replacing the repository URL with your own:

```sh
โฏ readmeai --repository https://github.com/eli64s/readme-ai --api openai
```

> [!IMPORTANT]
> By default, the `gpt-3.5-turbo` model is used. Higher costs may be incurred when more advanced models.
>

Run with `Ollama` and set `llama3` as the model:

```sh
โฏ readmeai --api ollama --model llama3 --repository https://github.com/eli64s/readme-ai
```

Run with `Anthropic`:

```sh
โฏ readmeai --api anthropic -m claude-3-5-sonnet-20240620 -r https://github.com/eli64s/readme-ai
```
Run with `Google Gemini`:

```sh
โฏ readmeai --api gemini -m gemini-1.5-flash -r https://github.com/eli64s/readme-ai
```

Use a `local` directory path:

```sh
readmeai --repository /path/to/your/project
```

Add more customization options:

```sh
โฏ readmeai --repository https://github.com/eli64s/readme-ai \
           --output readmeai.md \
           --api openai \
           --model gpt-4 \
           --badge-color A931EC \
           --badge-style flat-square \
           --header-style compact \
           --toc-style fold \
           --temperature 0.9 \
           --tree-depth 2
           --image LLM \
           --emojis
```

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/3052baaca03db99d00808acfec43a44e81ecbf7f/docs/docs/assets/svg/docker.svg">&emsp13;Docker

Run the Docker container with the OpenAI client:

```sh
โฏ docker run -it --rm \
    -e OPENAI_API_KEY=$OPENAI_API_KEY \
    -v "$(pwd)":/app zeroxeli/readme-ai:latest \
    --repository https://github.com/eli64s/readme-ai \
    --api openai
```

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/git.svg">&emsp13;From source

<details closed><summary><i>Click to expand instructions</i></summary>

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/gnubash.svg">&emsp13;Bash

If you installed the project from source with the bash script, run the following command:

1. **Activate the virtual environment:**

   ```sh
   โฏ conda activate readmeai
   ```

2. **Run the CLI:**

   ```sh
   โฏ python3 -m readmeai.cli.main -r https://github.com/eli64s/readme-ai
	```

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/poetry.svg">&emsp13;Poetry

1. **Activate the virtual environment:**

   ```sh
   โฏ poetry shell
   ```

2. **Run the CLI:**

   ```sh
   โฏ poetry run python3 -m readmeai.cli.main -r https://github.com/eli64s/readme-ai
   ```

</details>

### <img width="2%" src="https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/streamlit.svg">&emsp13;Streamlit

Try readme-ai directly in your browser, no installation required. See the <a href="https://github.com/eli64s/readme-ai-streamlit">readme-ai-streamlit</a> repository for more details.

[<img align="center" src="https://static.streamlit.io/badges/streamlit_badge_black_white.svg" width="20%">](https://readme-ai.streamlit.app/)

---

## ๐Ÿงช Testing

<!--
#### Using `pytest`
[![pytest](https://img.shields.io/badge/Pytest-0A9EDC.svg?style=flat&logo=Pytest&logoColor=white)](https://docs.pytest.org/en/7.1.x/contents.html)
-->

The [pytest](https://docs.pytest.org/en/7.2.x/contents.html) and [nox](https://nox.thea.codes/en/stable/) frameworks are used for development and testing.

Install the dependencies using Poetry:

```sh
โฏ poetry install --with dev,test
```

Run the unit test suite using Pytest:

```sh
โฏ make test
```

Run the test suite against Python 3.9, 3.10, 3.11, and 3.12 using Nox:

```sh
โฏ make test-nox
```

> [!TIP]
> <sub>Nox is an automation tool that automates testing in multiple Python environments. It is used to ensure compatibility across different Python versions.</sub>

---

## ๐Ÿ”ก Configuration

Customize your README generation using these CLI options:

| Option            | Description                                   | Default           |
|-------------------|-----------------------------------------------|-------------------|
| `--align`         | Text alignment in header                      | `center`          |
| `--api`           | LLM API service provider                      | `offline`         |
| `--badge-color`   | Badge color name or hex code                  | `0080ff`          |
| `--badge-style`   | Badge icon style type                         | `flat`            |
| `--header-style`  | Header template style                         | `classic`         |
| `--toc-style` 	| Table of contents style 				        | `bullet` 			|
| `--emojis`        | Adds emojis to the README header sections     | `False`           |
| `--image`         | Project logo image                            | `blue`            |
| `--model`         | Specific LLM model to use                     | `gpt-3.5-turbo`   |
| `--output`        | Output filename                               | `readme-ai.md`    |
| `--repository`    | Repository URL or local directory path        | `None`            |
| `--temperature`   | Creativity level for content generation       | `0.1`             |
| `--tree-depth`    | Maximum depth of the directory tree structure | `2`               |

Run the following command to view all available options:

```sh
โฏ readmeai --help
```

<sub>Visit the [Official Documentation][mkdocs] for more detailed information on configuration options, examples, and best practices.</sub>

---

## ๐ŸŽจ Examples

View example README files generated by readme-ai across various tech stacks:

| Technology | Example Output | Repository | Description |
|------------|---------------|------------|-------------|
| Readme-ai | [readme-ai.md][default] | [readme-ai][readme-ai] | Readme-ai project |
| Apache Flink | [readme-pyflink.md][modern-header] | [pyflink-poc][pyflink] | Pyflink project |
| Streamlit | [readme-streamlit.md][svg-banner] | [readme-ai-streamlit][streamlit] | Streamlit web app |
| Vercel & NPM | [readme-vercel.md][dalle-logo] | [github-readme-quotes][vercel] | Vercel deployment |
| Go & Docker | [readme-docker-go.md][for-the-badge] | [docker-gs-ping][docker-golang] | Dockerized Go app |
| FastAPI & Redis | [readme-fastapi-redis.md][fastapi-redis] | [async-ml-inference][fastapi] | Async ML inference service |
| Java | [readme-java.md][compact-header] | [Minimal-Todo][java] | Minimalist todo Java app |
| PostgreSQL & DuckDB | [readme-postgres.md][classic-header] | [Buenavista][postgres] | Postgres proxy server |
| Kotlin | [readme-kotlin.md][readme-kotlin] | [android-client][kotlin] | Android client app |
| Offline Mode | [offline-mode.md][offline-mode] | [litellm][litellm] | LLM API service |

<sub>Find additional README examples in the [examples directory](https://github.com/eli64s/readme-ai/tree/main/examples).</sub>

---

## ๐ŸŽ๐Ÿ’จ Roadmap

* [ ] Release `readmeai 1.0.0` with enhanced documentation management features.
* [ ] Develop `Vscode Extension` to generate README files directly in the editor.
* [ ] Develop `GitHub Actions` to automate documentation updates.
* [ ] Add `badge packs` to provide additional badge styles and options.
  + [ ] Code coverage, CI/CD status, project version, and more.

---

## ๐Ÿ”ฐ Contributing

Contributions are welcome! Please read the [Contributing Guide][contributing] to get started.

- **๐Ÿ’ก [Contributing Guide][contributing]**: Learn about our contribution process and coding standards.
- **๐Ÿ› [Report an Issue][issues]**: Found a bug? Let us know!
- **๐Ÿ’ฌ [Start a Discussion][discussions]**: Have ideas or suggestions? We'd love to hear from you.

<br>
<p align="left">
  <a href="https://github.com{/eli64s/readme-ai/}graphs/contributors">
    <img src="https://contrib.rocks/image?repo=eli64s/readme-ai">
  </a>
</p>

---

## ๐ŸŽ— License

README-AI is released under the terms of the [MIT License][license].

---

## ๐Ÿ™Œ Acknowledgments

* [Shields.io](https://shields.io/)
* [Simple Icons](https://simpleicons.org/)
* [Aveek-Saha/GitHub-Profile-Badges](https://github.com/Aveek-Saha/GitHub-Profile-Badges)
* [Ileriayo/Markdown-Badges](https://github.com/Ileriayo/markdown-badges)
* [tandpfun/skill-icons](https://github.com/tandpfun/skill-icons)

<p align="right"><a href="#-overview">โฌ†๏ธ Top</a></p>

---

<!-- Documentation -->
[mkdocs]: https://eli64s.github.io/readme-ai "Official Documentation"

<!-- GitHub Links -->
[contributing]: https://github.com/eli64s/readme-ai/blob/main/CONTRIBUTING.md
[issues]: https://github.com/eli64s/readme-ai/issues
[discussions]: https://github.com/eli64s/readme-ai/discussions
[license]: https://github.com/eli64s/readme-ai/blob/main/LICENSE

<!-- Example READMEs -->
[default]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-ai.md "readme-python.md"
[ascii-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/ascii.md "ascii.md"
[classic-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/classic.md "readme-postgres.md"
[compact-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/compact.md "readme-java.md"
[modern-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/modern.md "readme-pyflink.md"
[svg-banner]: https://github.com/eli64s/readme-ai/blob/main/examples/banners/svg-banner.md "readme-streamlit.md"
[dalle-logo]: https://github.com/eli64s/readme-ai/blob/main/examples/logos/dalle.md "readme-vercel.md"
[readme-kotlin]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-kotlin.md "readme-kotlin.md"
[for-the-badge]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-docker-go.md "readme-docker-go.md"
[fastapi-redis]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-fastapi-redis.md "readme-fastapi-redis.md"
[offline-mode]: https://github.com/eli64s/readme-ai/blob/main/examples/offline-mode/readme-litellm.md "readme-litellm.md"

<!-- Example Repositories -->
[readme-ai]: https://github.com/eli64s/readme-ai "readme-ai"
[pyflink]: https://github.com/eli64s/pyflink-poc "pyflink-poc"
[postgres]: https://github.com/jwills/buenavista "Buenavista"
[java]: https://github.com/avjinder/Minimal-Todo "minimal-todo"
[kotlin]: https://github.com/rumaan/file.io-Android-Client "android-client"
[docker-golang]: https://github.com/olliefr/docker-gs-ping "docker-gs-ping"
[vercel]: https://github.com/PiyushSuthar/github-readme-quotes "github-readme-quotes"
[streamlit]: https://github.com/eli64s/readme-ai-streamlit  "readme-ai-streamlit"
[fastapi]: https://github.com/FerrariDG/async-ml-inference "async-ml-inference"
[litellm]: https://github.com/BerriAI/litellm "offline-mode"


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/eli64s/readme-ai",
    "name": "readmeai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "ai-documentation, anthropic, badge-generator, cli, developer-tools, documentation, documentation-generator, gemini, gpt, gpt-4, markdown, markdown-generator, markdown-md, readme-md, readme-md-generator, readme-generator, readme-template, readme-md-generator",
    "author": "Eli",
    "author_email": "egsalamie@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e3/59/ce3a60e667ec071c01716ac3313daa279b37adb901aeb067dc2afb8f9141/readmeai-0.5.99.post5.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/svg/readme-ai-cosmic.svg\" alt=\"readme-ai-banner-logo\" width=\"100%\">\n</p>\n\n<p align=\"center\">\n  <em>Designed for simplicity, customization, and developer productivity.</em>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/eli64s/readme-ai/actions\">\n    <img src=\"https://img.shields.io/github/actions/workflow/status/eli64s/readme-ai/release-pipeline.yml?logo=githubactions&label=CICD&logoColor=white&color=4169E1\" alt=\"github-actions\">\n  </a>\n  <a href=\"https://app.codecov.io/gh/eli64s/readme-ai\">\n    <img src=\"https://img.shields.io/codecov/c/github/eli64s/readme-ai?logo=codecov&logoColor=white&label=Coverage&color=5D4ED3\" alt=\"codecov\">\n  </a>\n  <a href=\"https://pypi.python.org/pypi/readmeai/\">\n    <img src=\"https://img.shields.io/pypi/v/readmeai?logo=Python&logoColor=white&label=PyPI&color=7934C5\" alt=\"pypi-version\">\n  </a>\n  <a href=\"https://www.pepy.tech/projects/readmeai\">\n    <img src=\"https://img.shields.io/pepy/dt/readmeai?logo=PyPI&logoColor=white&label=Downloads&color=9400D3\" alt=\"pepy-total-downloads\">\n  </a>\n  <a href=\"https://opensource.org/license/mit/\">\n    <img src=\"https://img.shields.io/github/license/eli64s/readme-ai?logo=opensourceinitiative&logoColor=white&label=License&color=8A2BE2\" alt=\"license\">\n  </a>\n</p>\n\n---\n\n## \ud83d\udd17 Quick Links\n\n1. [Overview](#-overview)\n2. [Demo](#-demo)\n3. [Features](#\ufe0f-features)\n4. [Getting Started](#-getting-started)\n5. [Configuration](#-configuration)\n6. [Examples](#-examples)\n7. [Contributing](#-contributing)\n\n> [!IMPORTANT]\n> \u2728 Visit the [Official Documentation][mkdocs] for detailed guides and tutorials.\n\n---\n\n## \ud83d\udd2e Overview\n\nREADME-AI is a developer tool that automatically generates README markdown files using a robust repository processing engine and advanced language models. Simply provide a URL or path to your codebase, and a well-structured and detailed README will be generated.\n\n**Why README-AI?**\n\nThis tool is designed to streamline the documentation process for developers, saving time and effort while ensuring high-quality README files. Key benefits include:\n\n- **AI-Powered:** Leverage language models for intelligent content generation.\n- **Consistency:** Ensure clean, standardized documentation across projects.\n- **Customization:** Tailor the output to fit your project's requirements.\n- **Language Agnostic:** Works with most programming languages/frameworks.\n- **Save Time:** Generate comprehensive READMEs in less than a minute.\n\n---\n\n## \ud83d\udc7e Demo\n\n**Running from the command line:**\n\n[readmeai-cli-demo](https://github.com/eli64s/artifacts/assets/43382407/55b8d1b9-06a7-4b1f-b6a7-aaeccdb27679)\n\n**Running directly in your browser:**\n\n[readmeai-streamlit-demo](https://github.com/eli64s/artifacts/assets/43382407/3eb39fcf-c1df-49c6-bb5c-63e141857ae3)\n\n---\n\n## \u2604\ufe0f Features\n\n- **\ud83d\ude80 Automated Documentation:** Generate comprehensive README files automatically from your codebase.\n- **\ud83c\udfa8 Customizable Output:** Tailor the styling, formatting, badges, header designs, and more preferences.\n- **\ud83c\udf10 Language Agnostic:** Compatible with a wide range of programming languages and project types.\n- **\ud83e\udd16 Multi-LLM Support:** Current support for `OpenAI`, `Ollama`, `Anthropic`, `Google Gemini`.\n- **\ud83d\udcd1 Offline Mode:** Create boilerplate README files offline, without any external API calls.\n- **\ud83d\udcdd Best Practices:** Ensures clean, professional documentation, adhering to markdown best practices.\n\nLet's take a look at some possible customizations created by readme-ai:\n\n<table>\n  <!-- ROW -->\n  <tr>\n    <td colspan=\"2\" align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/custom-dragon.png\" alt=\"custom-dragon-project-logo\" width=\"700\">\n      <br>\n      <code>--image custom --badge-color FF4B4B --badge-style flat-square --header-style classic</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td colspan=\"2\" align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/examples/toc/roman-numeral.png\" alt=\"docker-go-readme-example\" width=\"700\">\n      <br>\n      <code>--badge-color 00ADD8 --badge-style for-the-badge --header-style modern --toc-style roman</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td colspan=\"2\" align=\"center\"><br>\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/ascii-art.png\" alt=\"ascii-readme-header-style\" width=\"700\">\n      <br>\n      <code>--header-style ascii</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td colspan=\"2\" align=\"center\"><br>\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/svg-banner.png\" alt=\"svg-\" width=\"700\">\n      <br>\n      <code>--badge-style for-the-badge --header-style svg</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/refs/heads/main/docs/docs/assets/img/headers/cloud.png\" alt=\"readme-header-with-cloud-logo\" width=\"350\">\n      <br>\n      <code>--align left --badge-style flat-square --image cloud</code>\n    </td>\n    <td align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/refs/heads/main/docs/docs/assets/img/headers/gradient.png\" alt=\"readme-header-with-gradient-markdown-logo\" width=\"350\">\n      <br>\n      <code>--align left --badge-style flat --image gradient</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/custom-balloon.png\" alt=\"custom-balloon-project-logo\" width=\"350\">\n      <br>\n      <code>--badge-style flat --image custom</code>\n    </td>\n    <td align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/skill-icons-light.png\" alt=\"readme-header-with-skill-icons-light\" width=\"350\">\n      <br>\n      <code>--badge-style skills-light --image grey</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/blue.png\" alt=\"readme-header-with-blue-markdown-logo\" width=\"350\">\n      <br>\n      <code>--badge-style flat-square</code>\n    </td>\n    <td align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/black.png\" alt=\"readme-header-with-black-readme-logo\" width=\"350\">\n      <br>\n      <code>--badge-style flat --image black</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td colspan=\"2\" align=\"center\"><br>\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/headers/compact.png\" alt=\"compact-readme-header\" width=\"700\">\n      <br>\n      <code>--image cloud --header-style compact --toc-style fold</code>\n    </td>\n  </tr>\n  <!-- ROW -->\n  <tr>\n    <td colspan=\"2\" align=\"center\">\n      <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/refs/heads/main/docs/docs/assets/img/headers/modern-flat-square.png\" alt=\"readme-header-style-modern\" width=\"700\">\n      <br>\n      <code>-i custom -bc BA0098 -bs flat-square -hs modern -ts fold</code>\n    </td>\n  </tr>\n</table>\n\n> [!IMPORTANT]\n> See the [Official Documentation][mkdocs] for more information on customization options and best practices.\n\nNext, let's explore the key sections of a typical README generated by readme-ai.\n\n<details closed>\n  <summary><strong>\ud83d\udccd Overview</strong></summary><br>\n  <table>\n    <tr>\n      <td>\n      <b>Overview</b><br>\n        <p>\u25ce High-level introduction of the project, focused on the value proposition and use-cases, rather than technical aspects.\n        </p>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\"><img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/llm-content/overview.png\" alt=\"readme-overview-section\" width=\"700\">\n      </td>\n    </tr>\n  </table>\n</details>\n\n<details closed>\n  <summary><strong>\u2728 Features</strong></summary><br>\n  <table>\n    <tr>\n      <td><b>Features Table</b><br>\n        <p>\u25ce Generated markdown table that highlights the key technical features and components of the codebase. This table is generated using a structured <a href=\"https://github.com/eli64s/readme-ai/blob/main/readmeai/config/settings/prompts.toml\">prompt template.</a>\n        </p>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\"><img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/llm-content/features-table.png\" alt=\"readme-features-section\" width=\"700\">\n      </td>\n    </tr>\n  </table>\n</details>\n\n<details closed>\n  <summary><strong>\ud83d\udcc3 Codebase Documentation</strong></summary><br>\n  <table>\n    <tr>\n      <td><b>Directory Tree</b><br>\n        <p>\u25ce The project's directory structure is generated using pure Python and embedded in the README. See <a href=\"https://github.com/eli64s/readme-ai/blob/main/readmeai/generators/tree.py\">readmeai.generators.tree.</a> for more details.\n        </p>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\">\n        <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/project-structure/tree.png\" alt=\"directory-tree\" width=\"700\">\n      </td>\n    </tr>\n    <tr>\n      <td style=\"padding-top:20px;\">\n        <b>File Summaries</b><br>\n        <p>\u25ce Summarizes key modules of the project, which are also used as context for downstream <a href=\"https://github.com/eli64s/readme-ai/blob/main/readmeai/config/settings/prompts.toml\">prompts.</a>\n        </p>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\">\n        <img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/project-structure/file-summaries.png\" alt=\"file-summaries\" width=\"700\">\n    </tr>\n  </table>\n</details>\n\n<details closed>\n  <summary><strong>\ud83d\ude80 Quickstart Instructions</strong></summary>\n  <br>\n  <table>\n    <tr>\n      <td><b>Getting Started Guides</b><br>\n        <p>\u25ce Prerequisites and system requirements are extracted from the codebase during preprocessing. The <a href=\"https://github.com/eli64s/readme-ai/tree/main/readmeai/parsers\">parsers</a> handles the majority of this logic currently.\n        </p>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\"><img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/getting-started/prerequisites-and-installation.png\" alt=\"getting-started-section-prerequisites\" width=\"700\">\n      </td>\n    </tr>\n    <tr>\n      <td><b>Installation Guide</b><br>\n        <p>\u25ce <code>Installation</code>, <code>Usage</code>, and <code>Testing</code> guides are generated based on the project's dependency files and codebase configuration.\n        </p>\n        <tr>\n        <td align=\"center\"><img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/getting-started/usage-and-testing.png\" alt=\"getting-started-section-usage-and-testing\" width=\"700\">\n      </td>\n    </tr>\n  </table>\n</details>\n\n<details closed>\n  <summary><strong>\ud83d\udd30 Contributing Guidelines</strong></summary>\n  <br>\n  <table>\n    <tr>\n      <td><b>Contributing Guide</b><br>\n        <p>\u25ce Dropdown section that outlines general process for contributing to your project.</p>\n        <p>\u25ce Provides links to your contributing guidelines, issues page, and more resources.</p>\n        <p>\u25ce Graph of contributors is also included.</p>\n        </p>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\"><img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/contributing/contributing-guidelines.png\" alt=\"contributing-guidelines-section\" width=\"700\">\n      </td>\n    </tr>\n    <tr>\n      <td><b>Additional Sections</b><br>\n        <p>\u25ce <code>Project Roadmap</code>, <code>Contributing Guidelines</code>, <code>License</code>, and <code>Acknowledgements</code> are included by default.\n        </p>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\"><img src=\"https://raw.githubusercontent.com/eli64s/readme-ai/main/docs/docs/assets/img/contributing/footer.png\" alt=\"footer-readme-section\" width=\"700\"></td>\n    </tr>\n  </table>\n</details>\n\n---\n\n## \ud83d\udef8 Getting Started\n\n### System Requirements\n\n- **Python**: `3.9+`\n- **Package Manager/Container**: `pip`, `pipx`, `uv`, or `docker`.\n\n### Supported Sources\n\nThe following git hosting services are supported for source code retrieval, along with your local file system:\n\n- [**GitHub**](https://github.com/)\n- [**GitLab**](https://gitlab.com/)\n- [**Bitbucket**](https://bitbucket.org/)\n- [**File System**](https://en.wikipedia.org/wiki/File_system)\n\n### Supported LLM APIs\n\nTo enable the full functionality of `readmeai`, an account and API key are required for one of the following providers:\n\n- [**OpenAI**](https://platform.openai.com/docs/quickstart/account-setup): Recommended for general use. Requires an OpenAI account and API key.\n- [**Ollama**](https://github.com/ollama/ollama): Free and open-source. No API key required.\n- [**Anthropic**](https://www.anthropic.com/): Requires an Anthropic account and API key.\n- [**Google Gemini**](https://ai.google.dev/tutorials/python_quickstart): Requires a Google Cloud account and API key.\n- [**Offline Mode**](https://github.com/eli64s/readme-ai/blob/main/examples/offline-mode/readme-litellm.md): Generates a README without making API calls.\n\n<sub>For more information on setting up an API key, refer to the provider's documentation.</sub>\n\n## \u2699\ufe0f Installation\n\nChoose your preferred installation method:\n\n<!--\n#### Using `pip`\n[![pip](https://img.shields.io/badge/PyPI-3775A9.svg?style=flat&logo=PyPI&logoColor=white)](https://pypi.org/project/readmeai/)\n-->\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/python.svg\">&emsp13;Pip\n\n```sh\n\u276f pip install readmeai\n```\n\n<!--\n#### Using `pipx`\n[![pipx](https://img.shields.io/badge/pipx-2CFFAA.svg?style=flat&logo=pipx&logoColor=black)](https://pipxproject.github.io/pipx/installation/)\n-->\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/pipx.svg\">&emsp13;Pipx\n\n```sh\n\u276f pipx install readmeai\n```\n\n> [!TIP]\n> <sub>Using [pipx](https://pipx.pypa.io/stable/installation/) allows you to install and run Python command-line applications in isolated environments, which helps prevent dependency conflicts with other Python projects.</sub>\n\n<!--\n#### Using `docker`\n[![docker](https://img.shields.io/badge/Docker-2496ED.svg?style=flat&logo=Docker&logoColor=white)](https://hub.docker.com/r/zeroxeli/readme-ai)\n -->\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/3052baaca03db99d00808acfec43a44e81ecbf7f/docs/docs/assets/svg/docker.svg\">&emsp13;Docker\n\nPull the latest Docker image from the Docker Hub repository.\n\n```sh\n\u276f docker pull zeroxeli/readme-ai:latest\n```\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/git.svg\">&emsp13;From source\n\n<details><summary>Click to expand instructions</summary>\n\n1. **Clone the repository:**\n\n   ```sh\n   \u276f git clone https://github.com/eli64s/readme-ai\n   ```\n\n2. **Navigate to the `readme-ai` directory:**\n\n   ```sh\n   \u276f cd readme-ai\n   ```\n\n3. **Install dependencies:**\n\n   ```sh\n   \u276f pip install -r setup/requirements.txt\n   ```\n\nAlternatively, the project can be setup using the bash script below:\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/gnubash.svg\">&emsp13;Bash\n\n1. **Run the setup script:**\n\n\t```sh\n\t\u276f bash setup/setup.sh\n\t```\n\nOr, use `poetry` to build the project:\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/poetry.svg\">&emsp13;Poetry\n\n1. **Install dependencies using Poetry:**\n\n\t```sh\n\t\u276f poetry install\n\t```\n\n</details><br>\n\n> [!IMPORTANT]\n> To use the **Anthropic** and **Google Gemini** clients, additional dependencies are required. See the following installation commands:\n> - **Anthropic:**\n>   ```sh\n>   \u276f pip install \"readmeai[anthropic]\"\n>   ```\n> - **Google Gemini:**\n>   ```sh\n>   \u276f pip install \"readmeai[google-generativeai]\"\n>   ```\n\n## \ud83e\udd16 Running the CLI\n\n**1. Set Up Environment Variables**\n\nWith OpenAI:\n\n```sh\n\u276f export OPENAI_API_KEY=<your_api_key>\n\n# Or for Windows users:\n\n\u276f set OPENAI_API_KEY=<your_api_key>\n```\n\n<details closed><summary>Additional Providers (Ollama, Anthropic, Google Gemini)</summary><br>\n\n<details closed><summary>Ollama</summary><br>\n\nRefer to the [Ollama documentation](https://github.com/ollama/ollama) for more information on setting up the Ollama API. Here is a basic example:\n\n1. Pull your model of choice from the Ollama repository:\n\n\t```sh\n\t\u276f ollama pull mistral:latest\n\t```\n\n2. Start the Ollama server and set the `OLLAMA_HOST` environment variable:\n\n\t```sh\n\t\u276f export OLLAMA_HOST=127.0.0.1 && ollama serve\n\t```\n\n</details>\n\n<details closed><summary>Anthropic</summary>\n\n1. Export your Anthropic API key:\n\n\t```sh\n\t\u276f export ANTHROPIC_API_KEY=<your_api_key>\n\t```\n\n</details>\n\n<details closed><summary>Google Gemini</summary>\n\n1. Export your Google Gemini API key:\n\n\t```sh\n\t\u276f export GOOGLE_API_KEY=<your_api_key\n\t```\n\n</details>\n\n</details>\n\n**2. Generate a README**\n\nRun the following command, replacing the repository URL with your own:\n\n```sh\n\u276f readmeai --repository https://github.com/eli64s/readme-ai --api openai\n```\n\n> [!IMPORTANT]\n> By default, the `gpt-3.5-turbo` model is used. Higher costs may be incurred when more advanced models.\n>\n\nRun with `Ollama` and set `llama3` as the model:\n\n```sh\n\u276f readmeai --api ollama --model llama3 --repository https://github.com/eli64s/readme-ai\n```\n\nRun with `Anthropic`:\n\n```sh\n\u276f readmeai --api anthropic -m claude-3-5-sonnet-20240620 -r https://github.com/eli64s/readme-ai\n```\nRun with `Google Gemini`:\n\n```sh\n\u276f readmeai --api gemini -m gemini-1.5-flash -r https://github.com/eli64s/readme-ai\n```\n\nUse a `local` directory path:\n\n```sh\nreadmeai --repository /path/to/your/project\n```\n\nAdd more customization options:\n\n```sh\n\u276f readmeai --repository https://github.com/eli64s/readme-ai \\\n           --output readmeai.md \\\n           --api openai \\\n           --model gpt-4 \\\n           --badge-color A931EC \\\n           --badge-style flat-square \\\n           --header-style compact \\\n           --toc-style fold \\\n           --temperature 0.9 \\\n           --tree-depth 2\n           --image LLM \\\n           --emojis\n```\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/3052baaca03db99d00808acfec43a44e81ecbf7f/docs/docs/assets/svg/docker.svg\">&emsp13;Docker\n\nRun the Docker container with the OpenAI client:\n\n```sh\n\u276f docker run -it --rm \\\n    -e OPENAI_API_KEY=$OPENAI_API_KEY \\\n    -v \"$(pwd)\":/app zeroxeli/readme-ai:latest \\\n    --repository https://github.com/eli64s/readme-ai \\\n    --api openai\n```\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/git.svg\">&emsp13;From source\n\n<details closed><summary><i>Click to expand instructions</i></summary>\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/gnubash.svg\">&emsp13;Bash\n\nIf you installed the project from source with the bash script, run the following command:\n\n1. **Activate the virtual environment:**\n\n   ```sh\n   \u276f conda activate readmeai\n   ```\n\n2. **Run the CLI:**\n\n   ```sh\n   \u276f python3 -m readmeai.cli.main -r https://github.com/eli64s/readme-ai\n\t```\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/poetry.svg\">&emsp13;Poetry\n\n1. **Activate the virtual environment:**\n\n   ```sh\n   \u276f poetry shell\n   ```\n\n2. **Run the CLI:**\n\n   ```sh\n   \u276f poetry run python3 -m readmeai.cli.main -r https://github.com/eli64s/readme-ai\n   ```\n\n</details>\n\n### <img width=\"2%\" src=\"https://raw.githubusercontent.com/eli64s/readme-ai/5ba3f704de2795e32f9fdb67e350caca87975a66/docs/docs/assets/svg/streamlit.svg\">&emsp13;Streamlit\n\nTry readme-ai directly in your browser, no installation required. See the <a href=\"https://github.com/eli64s/readme-ai-streamlit\">readme-ai-streamlit</a> repository for more details.\n\n[<img align=\"center\" src=\"https://static.streamlit.io/badges/streamlit_badge_black_white.svg\" width=\"20%\">](https://readme-ai.streamlit.app/)\n\n---\n\n## \ud83e\uddea Testing\n\n<!--\n#### Using `pytest`\n[![pytest](https://img.shields.io/badge/Pytest-0A9EDC.svg?style=flat&logo=Pytest&logoColor=white)](https://docs.pytest.org/en/7.1.x/contents.html)\n-->\n\nThe [pytest](https://docs.pytest.org/en/7.2.x/contents.html) and [nox](https://nox.thea.codes/en/stable/) frameworks are used for development and testing.\n\nInstall the dependencies using Poetry:\n\n```sh\n\u276f poetry install --with dev,test\n```\n\nRun the unit test suite using Pytest:\n\n```sh\n\u276f make test\n```\n\nRun the test suite against Python 3.9, 3.10, 3.11, and 3.12 using Nox:\n\n```sh\n\u276f make test-nox\n```\n\n> [!TIP]\n> <sub>Nox is an automation tool that automates testing in multiple Python environments. It is used to ensure compatibility across different Python versions.</sub>\n\n---\n\n## \ud83d\udd21 Configuration\n\nCustomize your README generation using these CLI options:\n\n| Option            | Description                                   | Default           |\n|-------------------|-----------------------------------------------|-------------------|\n| `--align`         | Text alignment in header                      | `center`          |\n| `--api`           | LLM API service provider                      | `offline`         |\n| `--badge-color`   | Badge color name or hex code                  | `0080ff`          |\n| `--badge-style`   | Badge icon style type                         | `flat`            |\n| `--header-style`  | Header template style                         | `classic`         |\n| `--toc-style` \t| Table of contents style \t\t\t\t        | `bullet` \t\t\t|\n| `--emojis`        | Adds emojis to the README header sections     | `False`           |\n| `--image`         | Project logo image                            | `blue`            |\n| `--model`         | Specific LLM model to use                     | `gpt-3.5-turbo`   |\n| `--output`        | Output filename                               | `readme-ai.md`    |\n| `--repository`    | Repository URL or local directory path        | `None`            |\n| `--temperature`   | Creativity level for content generation       | `0.1`             |\n| `--tree-depth`    | Maximum depth of the directory tree structure | `2`               |\n\nRun the following command to view all available options:\n\n```sh\n\u276f readmeai --help\n```\n\n<sub>Visit the [Official Documentation][mkdocs] for more detailed information on configuration options, examples, and best practices.</sub>\n\n---\n\n## \ud83c\udfa8 Examples\n\nView example README files generated by readme-ai across various tech stacks:\n\n| Technology | Example Output | Repository | Description |\n|------------|---------------|------------|-------------|\n| Readme-ai | [readme-ai.md][default] | [readme-ai][readme-ai] | Readme-ai project |\n| Apache Flink | [readme-pyflink.md][modern-header] | [pyflink-poc][pyflink] | Pyflink project |\n| Streamlit | [readme-streamlit.md][svg-banner] | [readme-ai-streamlit][streamlit] | Streamlit web app |\n| Vercel & NPM | [readme-vercel.md][dalle-logo] | [github-readme-quotes][vercel] | Vercel deployment |\n| Go & Docker | [readme-docker-go.md][for-the-badge] | [docker-gs-ping][docker-golang] | Dockerized Go app |\n| FastAPI & Redis | [readme-fastapi-redis.md][fastapi-redis] | [async-ml-inference][fastapi] | Async ML inference service |\n| Java | [readme-java.md][compact-header] | [Minimal-Todo][java] | Minimalist todo Java app |\n| PostgreSQL & DuckDB | [readme-postgres.md][classic-header] | [Buenavista][postgres] | Postgres proxy server |\n| Kotlin | [readme-kotlin.md][readme-kotlin] | [android-client][kotlin] | Android client app |\n| Offline Mode | [offline-mode.md][offline-mode] | [litellm][litellm] | LLM API service |\n\n<sub>Find additional README examples in the [examples directory](https://github.com/eli64s/readme-ai/tree/main/examples).</sub>\n\n---\n\n## \ud83c\udfce\ud83d\udca8 Roadmap\n\n* [ ] Release `readmeai 1.0.0` with enhanced documentation management features.\n* [ ] Develop `Vscode Extension` to generate README files directly in the editor.\n* [ ] Develop `GitHub Actions` to automate documentation updates.\n* [ ] Add `badge packs` to provide additional badge styles and options.\n  + [ ] Code coverage, CI/CD status, project version, and more.\n\n---\n\n## \ud83d\udd30 Contributing\n\nContributions are welcome! Please read the [Contributing Guide][contributing] to get started.\n\n- **\ud83d\udca1 [Contributing Guide][contributing]**: Learn about our contribution process and coding standards.\n- **\ud83d\udc1b [Report an Issue][issues]**: Found a bug? Let us know!\n- **\ud83d\udcac [Start a Discussion][discussions]**: Have ideas or suggestions? We'd love to hear from you.\n\n<br>\n<p align=\"left\">\n  <a href=\"https://github.com{/eli64s/readme-ai/}graphs/contributors\">\n    <img src=\"https://contrib.rocks/image?repo=eli64s/readme-ai\">\n  </a>\n</p>\n\n---\n\n## \ud83c\udf97 License\n\nREADME-AI is released under the terms of the [MIT License][license].\n\n---\n\n## \ud83d\ude4c Acknowledgments\n\n* [Shields.io](https://shields.io/)\n* [Simple Icons](https://simpleicons.org/)\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* [tandpfun/skill-icons](https://github.com/tandpfun/skill-icons)\n\n<p align=\"right\"><a href=\"#-overview\">\u2b06\ufe0f Top</a></p>\n\n---\n\n<!-- Documentation -->\n[mkdocs]: https://eli64s.github.io/readme-ai \"Official Documentation\"\n\n<!-- GitHub Links -->\n[contributing]: https://github.com/eli64s/readme-ai/blob/main/CONTRIBUTING.md\n[issues]: https://github.com/eli64s/readme-ai/issues\n[discussions]: https://github.com/eli64s/readme-ai/discussions\n[license]: https://github.com/eli64s/readme-ai/blob/main/LICENSE\n\n<!-- Example READMEs -->\n[default]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-ai.md \"readme-python.md\"\n[ascii-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/ascii.md \"ascii.md\"\n[classic-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/classic.md \"readme-postgres.md\"\n[compact-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/compact.md \"readme-java.md\"\n[modern-header]: https://github.com/eli64s/readme-ai/blob/main/examples/headers/modern.md \"readme-pyflink.md\"\n[svg-banner]: https://github.com/eli64s/readme-ai/blob/main/examples/banners/svg-banner.md \"readme-streamlit.md\"\n[dalle-logo]: https://github.com/eli64s/readme-ai/blob/main/examples/logos/dalle.md \"readme-vercel.md\"\n[readme-kotlin]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-kotlin.md \"readme-kotlin.md\"\n[for-the-badge]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-docker-go.md \"readme-docker-go.md\"\n[fastapi-redis]: https://github.com/eli64s/readme-ai/blob/main/examples/readme-fastapi-redis.md \"readme-fastapi-redis.md\"\n[offline-mode]: https://github.com/eli64s/readme-ai/blob/main/examples/offline-mode/readme-litellm.md \"readme-litellm.md\"\n\n<!-- Example Repositories -->\n[readme-ai]: https://github.com/eli64s/readme-ai \"readme-ai\"\n[pyflink]: https://github.com/eli64s/pyflink-poc \"pyflink-poc\"\n[postgres]: https://github.com/jwills/buenavista \"Buenavista\"\n[java]: https://github.com/avjinder/Minimal-Todo \"minimal-todo\"\n[kotlin]: https://github.com/rumaan/file.io-Android-Client \"android-client\"\n[docker-golang]: https://github.com/olliefr/docker-gs-ping \"docker-gs-ping\"\n[vercel]: https://github.com/PiyushSuthar/github-readme-quotes \"github-readme-quotes\"\n[streamlit]: https://github.com/eli64s/readme-ai-streamlit  \"readme-ai-streamlit\"\n[fastapi]: https://github.com/FerrariDG/async-ml-inference \"async-ml-inference\"\n[litellm]: https://github.com/BerriAI/litellm \"offline-mode\"\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Automated README file generator, powered by AI.",
    "version": "0.5.99.post5",
    "project_urls": {
        "Documentation": "https://eli64s.github.io/readme-ai",
        "Homepage": "https://github.com/eli64s/readme-ai"
    },
    "split_keywords": [
        "ai-documentation",
        " anthropic",
        " badge-generator",
        " cli",
        " developer-tools",
        " documentation",
        " documentation-generator",
        " gemini",
        " gpt",
        " gpt-4",
        " markdown",
        " markdown-generator",
        " markdown-md",
        " readme-md",
        " readme-md-generator",
        " readme-generator",
        " readme-template",
        " readme-md-generator"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3d09df24a6625a36a64e4ccbb2acf1dca2cf54bc508c4f3a4c580256ded74039",
                "md5": "c52550c64c3f8e419c92ce0553bba971",
                "sha256": "bbe69140a76223e39e5355d5c6aaf853ac35e5dbfedd00919ce1e02695538153"
            },
            "downloads": -1,
            "filename": "readmeai-0.5.99.post5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c52550c64c3f8e419c92ce0553bba971",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 167230,
            "upload_time": "2024-10-27T08:37:06",
            "upload_time_iso_8601": "2024-10-27T08:37:06.958985Z",
            "url": "https://files.pythonhosted.org/packages/3d/09/df24a6625a36a64e4ccbb2acf1dca2cf54bc508c4f3a4c580256ded74039/readmeai-0.5.99.post5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e359ce3a60e667ec071c01716ac3313daa279b37adb901aeb067dc2afb8f9141",
                "md5": "e6f90049288446f40d7197a53ca5ad5a",
                "sha256": "ae56dac1407a599b8821f14ff8e5b20996b22820b3327fab671807e1142fd1b4"
            },
            "downloads": -1,
            "filename": "readmeai-0.5.99.post5.tar.gz",
            "has_sig": false,
            "md5_digest": "e6f90049288446f40d7197a53ca5ad5a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 149971,
            "upload_time": "2024-10-27T08:37:08",
            "upload_time_iso_8601": "2024-10-27T08:37:08.788021Z",
            "url": "https://files.pythonhosted.org/packages/e3/59/ce3a60e667ec071c01716ac3313daa279b37adb901aeb067dc2afb8f9141/readmeai-0.5.99.post5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-27 08:37:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "eli64s",
    "github_project": "readme-ai",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "readmeai"
}
        
Eli
Elapsed time: 0.67891s