kowainik / crocodealer

🐊 Manage GitHub organization files, labels, issues
https://kowainik.github.io/projects/crocodealer
Mozilla Public License 2.0
9 stars 4 forks source link

Implement Core data types to represent basic configuration #3

Closed chshersh closed 5 years ago

chshersh commented 5 years ago

This issue is only about implementing pure data types without any functions. In the module like Croco.Config. The main Config data type should be able to represent the following:

  1. Optional GitHub username (could be an organization or personal account, but also may not be specified).
  2. Optional repository name where all file templates are stored.
  3. List of label rules.
  4. List of ignored packages: rules won't be applied to them.

Each label rule can be one of the following:

  1. Create. Specific label with the name, description and colour. This rule creates a new label with such properties or updates parameters of the label with the given name if it already exists.
  2. Override. This rule tells how to change the name of the label. For example, in some repositories we have doc and in some we have docs labels. We might want to change everything to docs but we don't want to delete the old label and create a new one, just change the name.

I think this should be okay for the start 👍

bangn commented 5 years ago

I could work on this if noone object :)