campaigner/README.md

52 lines
1.6 KiB
Markdown
Raw Normal View History

2020-02-28 23:34:24 +01:00
# Campaigner
Command line tool to create and manage community campaigns.
2020-02-29 01:22:11 +01:00
## Usage
```sh
$ campaigner --help
Create and manage Open Source campaigns
Usage:
campaigner [command]
Available Commands:
add Adds tickets to the campaign
filter Interactively filters the current ticket list
2020-02-29 01:22:11 +01:00
help Help about any command
init Creates a new campaign in the current directory
token Subcommands related to tokens
Flags:
-h, --help help for campaigner
Use "campaigner [command] --help" for more information about a command.
```
2020-02-28 23:34:24 +01:00
## Application flow
1. Run `campaigner set-token` to set the tokens for `jira/github`.
2. Run `campaigner init` to create a new community campaign.
2020-02-28 23:34:24 +01:00
3. Run `campaigner add` to add new tickets based either on a `grep/ag`
command or a `govet` check.
4. Run `campaigner filter` to interactively remove false matches.
5. Run `campaigner status` to see the status of each one of the
2020-02-28 23:34:24 +01:00
tickets. The tickets can be in an `unpublished`, `jira`, `github`
and `completed` state.
6. Modify the `template.md` file to adjust the ticket templates.
7. Run `campaigner publish` to create the tickets in `jira` based on
2020-02-28 23:34:24 +01:00
the template.
8. Possible next step to publish the tickets from `jira` to `github`.
2020-02-29 16:39:27 +01:00
## Roadmap
- [ ] Modify the add command to only act on `stdin`, using the
`--grep` and `--govet` flags to distinguish how to parse the
input.
- [ ] Add `--ag` to the `add` command.
- [ ] Add the `publish` command.
- [ ] Add state management to the tickets and links to the jira
issues.
- [ ] Add the `sync` command to synchronize the issue state.