Skip to content

Latest commit

 

History

History
71 lines (46 loc) · 2.24 KB

CONTRIBUTING.md

File metadata and controls

71 lines (46 loc) · 2.24 KB

Contributing

We welcome contributions and assistance! If you want to know where to start, check out our Github Projects sorted by name.

If you want to add a new feature, note that GraphiQL is eventually going to support its own extension system, and we are rarely adding new features, so make sure you submit feature requests with that in mind.

Development

To get setup for development, refer to DEVELOPMENT.md

Issues

We use GitHub issues to track public bugs and requests. Please ensure your bug description is clear and has sufficient instructions to be able to reproduce the issue. The best way is to provide a reduced test case on jsFiddle or jsBin.

Pull Requests

All active development of this project happens on GitHub. We actively welcome your pull requests.

Commit Message Conventions

Our commit messages are linted by commitlint following the angular changelog convention. You may end up losing a commit message or two if you don't follow this rule. We can add a prompt if people ask for it. This was designed for compatibility with various git clients in mind.

You will need to include a type prefix for all commit messages. For example:

`git commit -m 'fix: fix window undefined error in result viewer'

Type Prefixes

a list of type prefixes is available:

[
  'build',
  'ci',
  'chore',
  'docs',
  'feat',
  'fix',
  'perf',
  'refactor',
  'revert',
  'style',
  'test',
];

of these, fix and feat can trigger patch and minor version releases, reflexively. the rest are useful to help track activity.

another commit message that can trigger a major version bump is this:

feat: introduce new `fooBar()` API, break `foo()` api

- list changes

BREAKING CHANGE: break `foo()` api

notice the nonbreaking spaces between header and footer.

Releasing

Please see the RELEASING.md document.

License

By contributing to GraphiQL, you agree that your contributions will be licensed under the LICENSE file in the project root directory.