Skip to content

azu/github-label-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 9, 2023
0992f32 Β· Jan 9, 2023

History

82 Commits
Jan 9, 2023
Jan 8, 2023
May 16, 2017
Jan 8, 2023
Jan 8, 2023
Nov 25, 2020
May 15, 2017
Nov 25, 2020
May 15, 2017
Jan 9, 2023
Jan 9, 2023
Jan 9, 2023
Jan 8, 2023
Jan 8, 2023

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