Opinionated GitHub label setup tool.
- Create starter GitHub labels
- Migrate existing labels
- No configuration - It is opinionated
Install with npm:
npm install --global @azu/github-label-setup
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.
- Generation Link: https://github.com/settings/tokens/new?scopes=repo
This tool is a wrapper of github-label-sync
.
labels can be set require
able path like npm packages.
$ github-label-setup --token xxx --labels @owner/github-label-presets
See Label JSON format.
These are opinionated labels.
- duplicate - This issue or Pull Request already exists
- help wanted - Extra attention is needed
- good first issue - Good for newcomers
- Priority: Critical
- Priority: High
- Priority: Medium
- Priority: Low
- Status: Abandoned - The issue or Pull Request is wontfix
- Status: Blocked - Progress on the issue is Blocked
- Status: In Progress - Work in Progress
- Status: Proposal - Request for comments
- Status: PR Welcome - Welcome to Pull Request
- Status: Review Needed - Request for review comments
- Status: Need More Info - Lacks enough info to make progress
- Type: Breaking Change - Includes breaking changes
- Type: Bug - Bug or Bug fixes
- Type: Documentation - Documentation only changes
- Type: Feature - New Feature
- Type: Refactoring - A code change that neither fixes a bug nor adds a feature
- Type: Testing - Adding missing tests or correcting existing tests
- Type: Maintenance - Repository Maintenance
- Type: CI - Changes to CI configuration files and scripts
- Type: Question - Further information is requested
- Type: Security - Vulnerability disclosure or Fixing security issue
- Type: Dependencies - Dependency issues or Changes to dependency files
- Type: Meta - Related to repository itself (This will not be includes in Release Note)
- Type: Release - Related to release process (This will not be includes in Release Note)
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.
- Conventional Commits
- yoshuawuyts/github-standard-labels: Create a standard set of issue labels for a GitHub project
- Financial-Times/github-label-sync: Synchronise your GitHub labels with as few destructive operations as possible
- MunGell/awesome-for-beginners: A list of awesome beginners-friendly projects.
- himynameisdave/git-labelmaker: Manage your GitHub labels from the command line!
- Sane GitHub Labels β Dave Lunny β Medium
See Releases page.
Install devDependencies and Run npm test
:
npm i -d && npm test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
MIT Β© azu