<commit_before>[![Stories in Ready](https://badge.waffle.io/duckinator/how_is.png?label=ready&title=Ready)](https://waffle.io/duckinator/how_is)
[![Build Status](https://travis-ci.org/duckinator/how_is.svg?branch=master)](https://travis-ci.org/duckinator/how_is)

# How is [your repo]?

`how_is` is tool for generating summaries of the health of a codebase. It uses information available from issues and pull requests to provide an overview of a repository and highlight problem areas of the codebase.

The summary includes:

* repository name,
* number of open issues,
* number of open pull requests,
* number of open issues associated with each label and with no label,
* average issue age,
* average pull request age,
* date oldest issue was opened,
* date oldest pull request was opened.

If you want to contribute or discuss how_is, you can [join Bundler's slack](http://slack.bundler.io/) and join the #how_is channel.

## Installation

If you want to generate PDF reports, make sure you have
[gnuplot](http://gnuplot.info/) installed.

    $ gem install how_is

## Usage

    $ how_is <orgname>/<reponame> [--report-file FILENAME]

E.g.,

    $ how_is rubygems/rubygems --report-file report.html

The above command creates a HTML file containing the summary at `./report.html`.

### Generating reports from a config file

Beyond the above, you can also create a config file &mdash; typically called
how_is.yml &mdash; and run `how_is --config YAML_CONFIG_FILE`. If your config
file is called how_is.yml, you can just run `how_is --config`.

You can see [the how_is.yml in the how-is-rubygems repository](https://github.com/how-is/how-is-rubygems/blob/gh-pages/how_is.yml)
for an example.

The config file is a YAML file. The two root keys are `repository` (the
repository name, of format USER_OR_ORG/REPOSITORY &mdash; e.g. how-is/how_is)
and `reports`.

`reports` is a hash of key/value pairs, with the keys being the type of report
("html", "pdf", or "json") and the values being another hash.

That hash can have the following keys: `directory` (the directory to place the
report in), `filename` (the format string for filenames), and (optionally)
`frontmatter`.<commit_msg>--report-file != --report<commit_after>[![Stories in Ready](https://badge.waffle.io/duckinator/how_is.png?label=ready&title=Ready)](https://waffle.io/duckinator/how_is)
[![Build Status](https://travis-ci.org/duckinator/how_is.svg?branch=master)](https://travis-ci.org/duckinator/how_is)

# How is [your repo]?

`how_is` is tool for generating summaries of the health of a codebase. It uses information available from issues and pull requests to provide an overview of a repository and highlight problem areas of the codebase.

The summary includes:

* repository name,
* number of open issues,
* number of open pull requests,
* number of open issues associated with each label and with no label,
* average issue age,
* average pull request age,
* date oldest issue was opened,
* date oldest pull request was opened.

If you want to contribute or discuss how_is, you can [join Bundler's slack](http://slack.bundler.io/) and join the #how_is channel.

## Installation

If you want to generate PDF reports, make sure you have
[gnuplot](http://gnuplot.info/) installed.

    $ gem install how_is

## Usage

    $ how_is <orgname>/<reponame> [--report FILENAME]

E.g.,

    $ how_is rubygems/rubygems --report report.html

The above command creates a HTML file containing the summary at `./report.html`.

### Generating reports from a config file

Beyond the above, you can also create a config file &mdash; typically called
how_is.yml &mdash; and run `how_is --config YAML_CONFIG_FILE`. If your config
file is called how_is.yml, you can just run `how_is --config`.

You can see [the how_is.yml in the how-is-rubygems repository](https://github.com/how-is/how-is-rubygems/blob/gh-pages/how_is.yml)
for an example.

The config file is a YAML file. The two root keys are `repository` (the
repository name, of format USER_OR_ORG/REPOSITORY &mdash; e.g. how-is/how_is)
and `reports`.

`reports` is a hash of key/value pairs, with the keys being the type of report
("html", "pdf", or "json") and the values being another hash.

That hash can have the following keys: `directory` (the directory to place the
report in), `filename` (the format string for filenames), and (optionally)
`frontmatter`.
{'fraction_non_alphanumeric': 0.10503432494279176, 'fraction_numerical': 0.0, 'mean_word_length': 4.3830049261083746, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1385213', 'n_tokens_mistral': 1385, 'n_tokens_neox': 1342, 'n_words': 538}