We welcome suggested improvements and bug fixes to the @sentry/* family of
packages, in the form of pull requests on
GitHub. The guide below will
help you get started, but if you have further questions, please feel free to
reach out on Discord. To learn about some general
setup wizard development principles check out the
SDK Development Guide
in the Sentry Developer Documentation.
- Fork the repository
- Clone your fork
- Install dependencies with
yarn install
Build the wizard with this command
yarn buildIf you want to simply try out the wizard locally, you can use
yarn try #also takes all CLI args you'd pass to the wizardIf you want to run the locally built wizard in an external project (for example
a test project outside of the repo), you can simply run
ts-node path/to/sentry-wizard/bin.ts within the project.
Alternatively you can use yarn link:
- run
yarn buildin the wizard repo - run
yarn linkin the wizard repo - head to your project
- install the actual version of the wizard
npm install @sentry/wizard #or use the package manager of your choice - run
yarn link @sentry/wizardto symlink to the local repo - run to run the local repo:
npx sentry-wizard #or yarn sentry-wizard
In repos set up with pnpm or more complex cases, you might want to look into
yalc to install local versions of the wizard
package.
If you’re debugging against a local or self-hosted Sentry instance (instead of https://sentry.io), point the wizard to that URL using the -u, --url flag:
sentry-wizard --url http://dev.getsentry.net:8000You can also use the SENTRY_WIZARD_URL environment variable instead of passing -u, --url every time:
SENTRY_WIZARD_URL=http://dev.getsentry.net:8000Use the base URL of your Sentry instance (the same one you open in the browser), without additional path segments.
The Sentry Wizard includes comprehensive end-to-end tests to ensure integrations work correctly.
To run all end-to-end tests:
yarn test:e2eTo test a specific framework integration:
yarn test:e2e [Flutter | Remix | NextJS | SvelteKit]For every meaningful change, please add an entry to the CHANGELOG.md file:
- Add your entry under the
## Unreleasedsection - Follow the existing format:
- type(scope): Description ([#PR-number](PR-link)) - Choose the appropriate type:
feat: A new featurefix: A bug fixref: Code refactoring that neither fixes a bug nor adds a featurechore: Changes to the build process or auxiliary toolsdocs: Documentation only changes
- Include the scope (framework/area affected) in parentheses
- Provide a concise description of your change
- Add the PR number and link when available (or add it later)
Example:
- feat(nextjs): Add connectivity check to example page with helpful error UI ([#123](https://github.com/getsentry/sentry-wizard/pull/123))
If your change contains breaking changes, add an exclamation mark after the type:
- ref!: Bump main Node.js version to the earliest LTS v18 ([#793](https://github.com/getsentry/sentry-wizard/pull/793))
The wizard is released via our usual Craft and getsentry/publish flow:
- Make sure the changelog is in a good and complete state.
If not, open a PR against
masterto update it - Determine the next version (we follow semver versioning)
- In GitHub, go to "Actions" and start the "Release" action
- Enter the version to be released. If you're publishing a stable release, no other input fields are required. If you release from a branch (e.g. for alpha/beta releases), set the branch as the target branch.
- Start the publishing run in
getsentry/publish