We'd love for you to contribute and welcome your help. Here are some guidelines to follow:
-
Ensure the bug was not already reported by searching on GitHub under Issues
-
If you're unable to find an open issue addressing the problem, open a new one
Open a new GitHub pull request with the patch following the steps outlined below. Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
Before you submit your pull request consider the following guidelines:
- Search Pull Requests for an open or closed Pull Request that relates to your submission. You don't want to duplicate effort.
Please follow these steps for all pull requests. These steps are derived from the GitHub flow.
Fork the current repository and clone your fork locally.
git clone https://github.com/solacecommunity/<github-repo>Make your changes on a new git branch in your fork of the repository.
git checkout -b my-fix-branch masterBefore committing your changes, run these security checks:
# Check for known vulnerabilities
yarn audit
# Ensure dependencies are up to date
yarn outdated
# Verify lockfile integrity (install without modifying lockfile)
yarn install --frozen-lockfileIf adding new dependencies:
# Always specify exact versions to prevent typosquatting
yarn add package@1.2.3
# Then commit both files
git add package.json yarn.lockIf yarn audit reports vulnerabilities:
- For high/critical vulnerabilities in direct dependencies: update the package
- For vulnerabilities in transitive dependencies: check if updating the direct dependency resolves it
- Document any accepted risks in your pull request
Important: Never use version ranges (^, ~). Always use exact version pinning.
Commit your changes using a descriptive commit message.
git commit -a -m "Your Commit Message"Note: the optional commit -a command line option will automatically "add" and "rm" edited files.
Assuming you have not yet pushed your branch to origin, use git rebase (not git merge) to synchronize your work with the main
repository.
$ git fetch upstream
$ git rebase upstream/masterIf you have not set the upstream, do so as follows:
$ git remote add upstream https://github.com/solacecommunity/<github-repo>If you have already pushed your fork, then do not rebase. Instead merge any changes from master that are not already part of your branch.
Push your branch to your fork in GitHub:
git push origin my-fix-branchIn GitHub, send a pull request to <github-repo>:master.
When fixing an existing issue, use the commit message keywords to close the associated GitHub issue.
- If we suggest changes then:
- Make the required updates.
- Commit these changes to your branch (ex: my-fix-branch)
That's it! Thank you for your contribution!
- Open a GitHub issue and label it as an enhancement and describe the new functionality.
- Ask any question about the code or how to use Solace technologies in the Solace community.