We love contributions from our community of users! This document explains our guidelines and workflows. Please take care to follow them, as it helps us keep things moving smoothly.
- Install Node.js (6 or newer) and npm (3 or newer).
- Make a fork of Swagger-UI on GitHub, then clone your fork to your machine.
- Run
npm install
in your Swagger-UI directory. - Run
npm run dev
.localhost:3200
should open automatically. - You're ready to go!
Feature branches should be prefixed with ft/
.
Bugfix branches should be prefixed with bug/
.
Version branches should be prefixed with v/
.
After the forward slash, include a short description of what you're fixing. For example: bug/fix-everything-that-was-broken
. For versions, add the version that will be released via the branch, for example: v/1.2.3
.
If there's an issue filed that you're addressing in your branch, include the issue number directly after the forward slash. For example: bug/1234-fix-all-the-other-things
.
- Do include the Swagger-UI build you're using - you can find this by opening your console and checking
window.versions.swaggerUi
- Do include a spec that demonstrates the issue you're experiencing.
- Do include screenshots, if needed. GIFs are even better!
- Do place code inside of a pre-formatted container by surrounding the code with triple backticks.
- Don't open tickets discussing issues with the Swagger/OpenAPI specification itself, or for issues with projects that use Swagger-UI.
- Don't open an issue without searching the issue tracker for duplicates first.
- Break your commits into logical atomic units. Well-segmented commits make it much easier for others to step through your changes.
- Limit your subject (first) line to 50 characters (GitHub truncates more than 70).
- Provide a body if you'd like to explain your commit in detail.
- Capitalize the beginning of your subject line, and do not end the subject line with a period.
- Your subject line should complete this sentence:
If applied, this commit will [your subject line].
- Don't use magic GitHub words in your commits to close issues - do that in the pull request for your code instead.
Adapted from How to Write a Git Commit Message.
- Do summarize your changes in the PR body. If in doubt, write a bullet-point list titled
This PR does the following:
. - Do include references to issues that your PR solves, and use magic GitHub words to close those issues automatically when your PR is merged.
- Do include tests that cover new or changed functionality.
- Do be careful to follow our ESLint style rules. We recommend installing an ESLint plugin if you use a graphical code editor.
- Do make sure that tests and the linter are passing by running
npm test
locally, otherwise we can't merge your pull request. - Don't include any changes to files in the
dist/
directory - we update those files only during releases. - Don't mention maintainers in your original PR body - we probably would've seen it anyway, so it just increases the noise in our inboxes. Do feel free to ping maintainers if a week has passed and you've heard nothing from us.
- Don't open PRs for custom functionality that only serves a small subset of our users - custom functionality should be implemented outside of our codebase, via a plugin.
- Do use GitHub's
Squash and merge
strategy. - Do follow the Conventional Commits standard format for your squash commit.