Thank you for being an important part of the Evidence community! ❤️
This guide is meant for anyone who would like to contribute to Evidence - either through code or through suggestions and ideas. Even if you've never contributed to an open source project before, you are welcome to contribute to Evidence.
- Be respectful
- Help each other
- Document solutions to problems for the benefit of the community
Open issues for bugs, docs improvements or errors.
If your problem relates to sensitive or private information, please don't post any of your data in an issue. We suggest creating a small test dataset that can reproduce the problem without revealing any private info, and posting that data in the issue. If that's not possible, please reach out to support@evidence.dev.
To request a feature, a new data source, or ask for help, create a GitHub discussion.
Follow these steps to test your changes, once you've started the example project (per steps below),
you should be able to open the Evidence Development Workspace
on localhost:3000
. Any subsequent changes you make will be reflected on the website.
Open a terminal and make sure pnpm
is installed with:
npm i -g pnpm
In the project root folder, run:
pnpm install
In the project root folder, run:
pnpm run sources:example-project
In the project root folder, run:
pnpm run dev:core-components
In another terminal, run:
pnpm run dev:example-project
If you get: Error [ERR_MODULE_NOT_FOUND]: Cannot find package [...]
. You might need to clean the caches
At the root
of the project, run:
rm -rf ./**/.parcel-cache node_modules ./**/dist
And reinstall with:
pnpm i
The automated test suite should run upon PR creation via Github actions.
You can also run the tests locally via pnpm test
.
Note that for the DB tests, enviroment variables are needed for the test to run.
Under each DB package, you can add a .env
file with the credentials needed for each DB type. Take a look at the index.cjs
file for the variables required for each DB driver.
Pull requests are welcome! We review pull requests as they are submitted and will reach out to you with any questions or comments.
Follow these steps to submit a pull request for your changes:
- Create a fork of the
evidence
repo - Commit your changes to your fork
- Test your changes to make sure all results are as expected
- Format your code to prevent linting errors
pnpm run format
- Add a changeset
- Open a pull request against the
next
branch of theevidence
repo
Here's an example of a pull request from a community member who built Evidence's MySQL connector.
Changesets ensure that package versions are updated correctly before releasing onto NPM.
cd
to the root of the monorepopnpm changeset
- Follow the steps in the CLI to add some change notes:
- Bump the packages that have changed
- Most things are patch changes, not major or minor patch bumps
- Unless you're making changes that will break someone's project, or change it in a really unexpected way, just do a patch release
- Commit the release notes to your branch so they'll be included as part of the PR
- the file will be called three random words like delighted-fish-brick.md
If you're passionate about what we're building at Evidence and want to join our team, reach out to us at support@evidence.dev.