readmy-readmes 0.2.0
Read the contents of your README files and match a ruleset against them.
License: MIT
Requires Python: >=3.6

<div align="center">

# Readmy Readmes

Read the contents of your README files and match a ruleset against them.

[![Build Status](https://travis-ci.com/Justintime50/readmy-readmes.svg?branch=main)](https://travis-ci.com/Justintime50/readmy-readmes)
[![Coverage Status](https://coveralls.io/repos/github/Justintime50/readmy-readmes/badge.svg?branch=main)](https://coveralls.io/github/Justintime50/readmy-readmes?branch=main)
[![PyPi](https://img.shields.io/pypi/v/readmy-readmes)](https://pypi.org/project/readmy-readmes)
[![Licence](https://img.shields.io/github/license/justintime50/readmy-readmes)](LICENSE)

<img src="assets/showcase.png" alt="Showcase">

</div>

Readmy Readmes is a fantastic tool to help find the holes in your project's documentation. Quickly iterate over every project README you have to search for key phrases you know should be there. 

**Use Cases**
* Ensure you have instructions for installing, usage, and testing your project
* Find long-forgotten TODO's that still need fixing
* Search for a particular phrase when you can't remember where it lived
* Find hiding README's deep in a project's structure

**Sample Output**

```
| README File             | install | usage | todo  | test  |
| adventofcode/README.md  | True    | False | False | True  |
| algorithms/README.md    | True    | True  | False | True  |
| brew-backup/README.md   | True    | False | False | False |
| brew-update/README.md   | False   | True  | False | False |
| build-project/README.md | True    | False | False | False |
| build-readme/README.md  | False   | False | False | False |
| burn-notice/README.md   | False   | False | False | False |
| dad/README.md           | False   | False | False | True  |
| dev-tools/README.md     | False   | False | False | True  |
| diff/README.md          | True    | False | False | True  |
| dotfiles/README.md      | True    | False | False | False |
...
```

## Install

```bash
# Install tool
pip3 install readmy-readmes

# Install locally
make install

# Get Makefile help
make help
```

## Usage

Each rule must be on its own line in your `rules` test file. Depending on the path you specify, you can search all your project README's or just a single project.

```
Usage
    readmy-readmes -p path/to/git_projects -r path/to/rules.txt -l -c -csv_path path/to/file.csv

Options:
    -h, --help            show this help message and exit
    -p PATH, --path PATH  The path where the tool will search for README's.
    -r RULES, --rules RULES
                            The path to your rule text file.
    -l, --lazy            Match rules lazily (case-insensitive).
    -c, --create_csv      Save output to a CSV file.
    --csv_path CSV_PATH   The file path where a CSV file will be saved. By default, it will be saved to the current directory.
```

## Development

```bash
# Lint the project
make lint

# Run tests
make test

# Run test coverage
make coverage
```

## Attribution

* Icons made by <a href="https://www.flaticon.com/authors/eucalyp" title="Eucalyp">Eucalyp</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>