🎉 Thanks for your interest in contributing! 🎉
If find issues while using this library or just reading through it, look to see if an issue has been created. If no issues are related, feel free to open a new one using the template.
If you find any existing issues that you are interested in fixing, you are welcome to open a PR and we will gladly review your changes.
Getting setup is quick and easy. Follow the steps below to get your your dev environment up.
- Fork GitHub repo
- Install dependencies
- Build packages
$ git clone <HTTPS_OR_GIT_URL>
$ yarn
$ yarn build
This repo contains mutliple major versions of all packages. For contributions to version 1.x
, create a branch off v1.x
. For contributions to the 2.x
(latest) version, create a branch off main
. Refer to the table below for more infomation about the release status of each package.
Package | Version | Status | Dev Branch |
---|---|---|---|
Browser SDK | |||
@amplitude/analytics-browser |
V2 | Beta | main |
@amplitude/analytics-browser |
V1 | Current | v1.x |
@amplitude/marketing-analytics-browser |
V1 | Current | v1.x |
Node SDK | |||
@amplitude/analytics-node |
V2 | Unreleased | main |
@amplitude/analytics-node |
V1 | Current | v1.x |
ReactNative SDK | |||
@amplitude/analytics-react-native |
V2 | Unreleased | main |
@amplitude/analytics-react-native |
V1 | Current | v1.x |
Building quality software is one of our top priorities. We recommend getting your changes tested using manual and automated practices.
$ yarn build
$ yarn test
When writing commit message, follow PR Commit Title Conventions for the format. A git hook will also run to verify that the format is followed.
Once you are finished with your changes and feel good about the proposed changes, create a pull request. A team member will assist in getting them reviewed. We are excited to work with you on this.
For contributions to version 1.x
, open a pull request against v1.x
. For contributions to the 2.x
(latest) version, open a pull request against main
.
As soon as your changes are approved, a team member will merge your PR to main and will get published shortly after.
PR titles should follow conventional commit standards. This helps automate the release process.
- Special Case: Any commit with
BREAKING CHANGES
in the body: Creates major release feat(<optional scope>)
: New features (minimum minor release)fix(<optional scope>)
: Bug fixes (minimum patch release)perf(<optional scope>)
: Performance improvementdocs(<optional scope>)
: Documentation updatestest(<optional scope>)
: Test updatesrefactor(<optional scope>)
: Code change that neither fixes a bug nor adds a featurestyle(<optional scope>)
: Code style changes (e.g. formatting, commas, semi-colons)build(<optional scope>)
: Changes that affect the build system or external dependencies (e.g. Yarn, Npm)ci(<optional scope>)
: Changes to our CI configuration files and scriptschore(<optional scope>)
: Other changes that don't modify src or test filesrevert(<optional scope>)
: Revert commit