= App::Bob
:toc: preamble

`App::Bob` is a tool to assist in creating and sharing
https://www.cpan.org/[CPAN] modules.

== Features
To do it's job, `bob` has a couple of tools ready for you. Use any of the
following subcommands to use them.

=== depend
Indicate your module depends on another module. Unless disabled with
`--skip-install`, `bob` will try to install the module as well through `zef`.
Regardless of the `--skip-install` value, `bob` will update your `META6.json`
with the new dependency as well.

=== dist
`dist` creates a `.tar.gz` file you can upload to
https://pause.perl.org/[PAUSE].

=== new
Create a new module in the current directory. Bob will ask you some questions,
and continue to perform the following steps:

- Create module directory skeleton
- Write `META6.json`
- Write `.editorconfig`
- If the `git` flag is enabled (which it is by default):
  - Initialize a git repository
  - Make an initial commit

=== pkg
The `pkg` command allows you to easily create packages for distributions. For
each type of package, there's a different subcommand.

==== ebuild
To create `ebuild` files, used by Gentoo and derivatives, you can make use of
the `ebuild` subcommand to `package`.

=== release
Create a new release for a module. This will bump the version number in
`META6.json`, commit it into git and create a tag with the version number.

== Roadmap
- Add `upload` command to upload a given `.tar.gz` distribution to PAUSE
- Add `push` command to release a new version of a module, and upload it to PAUSE
- Make `new` also write a `.travis.yml`

== License
`App::Bob` is released under the GNU GPL, version 3 or later.
