Skip to content

azu/github-label-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

82 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

@azu/github-label-setup

Opinionated GitHub label setup tool.

demo

  • Create starter GitHub labels
  • Migrate existing labels
  • No configuration - It is opinionated

Install

Install with npm:

npm install --global @azu/github-label-setup

Usage

This tool works without any configuration.

Usage
  $ github-label-setup --token xxx

Options

  -h, --help                  [Boolean] output usage information
  -l, --labels <path>         [Path:String] the path to look for the label configuration in. Default: labels.json
  --token <token>             [String] a GitHub access token (also settable with a GITHUB_TOKEN or GITHUB_ACCESS_TOKEN environment variable)
  -d, --dry-run               [Boolean] calculate the required label changes but do not apply them
  -A, --allow-added-labels    [Boolean] allow additional labels in the repo, and don't delete them
  
GitHub Release Options
  
  --addReleaseYml             [Boolean] add a .github/release.yml file
  --addReleaseYmlOutputPath   [Path:String] the path to write the .github/release.yml file to. Default: .github/release.yml

Examples
    # Overwrite labels in the current repository
    $ github-label-setup --token "$GITHUB_TOKEN"
    # Add labels to the current repository
    $ github-label-setup --token "$GITHUB_TOKEN" --allow-added-labels
    # Add .github/release.yml to integrate with GitHub Releases
    $ github-label-setup --addReleaseYml

You will need to get a GitHub Personal Accesses token to update labels of your repository. You need to generate GitHub Personal Accesses token with "repo" scope.

This tool is a wrapper of github-label-sync.

Npm packages for labels

labels can be set requireable path like npm packages.

$ github-label-setup --token xxx --labels @owner/github-label-presets

See Label JSON format.

Default Labels

These are opinionated labels.

demo

  • #ededed duplicate - This issue or Pull Request already exists
  • #e99695 help wanted - Extra attention is needed
  • #7057ff good first issue - Good for newcomers
  • #ee0701 Priority: Critical
  • #d93f0b Priority: High
  • #fbca04 Priority: Medium
  • #0e8a16 Priority: Low
  • #000000 Status: Abandoned - The issue or Pull Request is wontfix
  • #ee0701 Status: Blocked - Progress on the issue is Blocked
  • #cccccc Status: In Progress - Work in Progress
  • #d4c5f9 Status: Proposal - Request for comments
  • #2E7733 Status: PR Welcome - Welcome to Pull Request
  • #fbca04 Status: Review Needed - Request for review comments
  • #F9C90A Status: Need More Info - Lacks enough info to make progress
  • #b60205 Type: Breaking Change - Includes breaking changes
  • #ee0701 Type: Bug - Bug or Bug fixes
  • #0e8a16 Type: Documentation - Documentation only changes
  • #1d76db Type: Feature - New Feature
  • #fbca04 Type: Refactoring - A code change that neither fixes a bug nor adds a feature
  • #257759 Type: Testing - Adding missing tests or correcting existing tests
  • #abd406 Type: Maintenance - Repository Maintenance
  • #ffd412 Type: CI - Changes to CI configuration files and scripts
  • #cc317c Type: Question - Further information is requested
  • #ee0701 Type: Security - Vulnerability disclosure or Fixing security issue
  • #0366d6 Type: Dependencies - Dependency issues or Changes to dependency files
  • #0366d6 Type: Meta - Related to repository itself (This will not be includes in Release Note)
  • #0366d6 Type: Release - Related to release process (This will not be includes in Release Note)

Integration with GitHub Releases

GitHub Releases support automatically generate release notes using labels. --addReleaseYml option will add .github/release.yml file to your repository.

# Add .github/release.yml to integrate with GitHub Releases
$ github-label-setup --addReleaseYml

For more details, see GitHub Releases document.

Related

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm i -d && npm test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT Β© azu