mntnr / build-a-space

Automatically add community documentation to your repository
https://maintainer.io
MIT License
21 stars 3 forks source link
api automatic bot community github

Build A Space

Build Status Greenkeeper badge

Automatically add community documentation to your repository

Background

I often clean up repositories, and have ideas for what I want to add to them. However, just as often, I manually add files to repositories. @gr2m got me thinking - wouldn't it be better if I could automatically add files to a repository, using a GitHub bot?

This GitHub bot does just that. It adds a Contributing guide, a Code of Conduct, a README if you don't have one stubbed out, a License, and more to a repository. It lints your package.json. It tells you if you don't have an email specified in your CoC. It does a lot of stuff.

The point is to make building a space for community to grow easier. This stuff isn't rocket science, but doing it manually day after day is the hard part. Let's make it easier to build a space.

Install

You can install this globally with npm:

$ npm install -g build-a-space

You'll need a GitHub token. Put it in the env.js file, or in a $BUILD_A_SPACE token in your environment.

You may be able to install this locally and include it, but I have no idea how it would react.

Usage

Usage
  $ build-a-space <input> [opts]

Options
  -f, --fork  Create and use a fork instead of pushing to a branch
  -t, --test  Don't open issues or create pull requests
  -c, --config  The path to a configuration file
  -b, --branch  The default branch to use instead of 'master'
  --email     The email for the Code of Conduct
  --licensee  The person to license the repository to
  --travis    Edit the Travis file
  --open      Open the PR url afterwards

Examples
  $ build-a-space mntnr/build-a-space

Substitute another repo as needed. It drives itself from there.

Configuration

You can specify a configuration file to stop having to type lots and lots of flags for multiple repositories. This will overwrite any flags you send in.

$ build-a-space -c=config.json

And, in config.json:

{
  "email": "richard@maintainer.io",
  "licensee": "Richard Littauer",
  "contributing": "./contributing.md"
}

The contributing file path needs to be in the build-a-space directory.

Maintainers

Me.

And you?

Contribute

I would love for this to be a community effort. For now, I am hacking away at it because I want to be able to use it quickly get various documents into place as needed for different organizations I work with. However, if would be great if others would start using it, as well.

Check out the Contributing guide and Code of Conduct for more.

License

MIT © 2017 Richard Littauer