We would love for you to contribute to Nexus-Stats and help us shape the future of the project! To make it as easy as possible, we have a few introduction points for you below:
Do not open issues for general support questions as we want to keep GitHub issues for bug reports and feature requests. You've got much better chances of getting your question answered on Discord.
If you find a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.
If the bug entails a critical security flaw, you can disclose it responsibly by mailing us at [email protected].
You can request a new feature by submitting an issue to our GitHub Repository. If you would like to implement a new feature, please submit an issue with a proposal for your work first. Please consider what kind of change it is:
- For a Major Feature, first open an issue and outline your proposal so that it can be discussed. This will also allow us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project.
- Small Features or Bugfixes can be crafted and directly submitted as a Pull Request alongside a relevant issue.
To ensure consistency throughout the source code, keep these rules in mind as you are working:
- All API endpoints must be documented within the endpoint schema.
- We follow the Standard JS styleguide. Your linter should be able to pick this up automatically.
This is adapted from Angular's commit convention.
We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history. But we also use git commit messages to generate our dynamic change logs.
Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
The type is mandatory and the scope of the header is optional.
Anything below the header is optional and will only be used if you want your
changes to affect the changelogs.
The body should contain a list of the most significant changes in your commit, each line
starting with a hyphen (-
). Think of it as writing patch logs, since this is what the body will
be used for anyways. Keep in mind that not all commit types will be added to the changelogs. For
instance, there is no reason to let users know about changes in our CI pipeline or builds.
Footers should contain a closing reference to an issue if any apply. This will add references to the selected issues in the changelogs.
feat(ui): Add comparison tool to sidebar.
- Can be used on any item or player page.
- Provides a list of tags that allow custom comparisons.
- Comparisons are displayed inline with the normal values of the current page.
Resolves #145, #123
Must be one of the following:
- build: Changes that affect the build system or external dependencies (example scopes: webpack, cubic, vue, npm)
- ci: Changes to our CI configuration files and scripts (example scopes: drone, scripts)
- docs: Documentation only changes
- feat: A new feature (example scopes: api, ui)
- fix: A bug fix
- perf: A code change that improves performance
- refactor: A code change that neither fixes a bug nor adds a feature
- style: Changes that do not affect the meaning of the code (white-space, formatting, etc)
The scope should be the name of the topic that is affected by the changes (i.e. ui for Web-UI changes or api for new/changed API endpoints). Changelogs will be grouped up by these topics.