Want to contribute to the napari hub? Please follow the steps below and check out the contribution guide for an idea of good first issues you could work on.
First you'll need to fork the repository on Github.
Clone the forked repository to your local machine and change directories:
git clone https://github.com/your-username/napari-hub.git
cd napari-hub
Set the upstream
remote to the base napari-hub
repository:
git remote add upstream https://github.com/chanzuckerberg/napari-hub.git
Now that you have the repo forked and cloned, you can start developing for the napari hub!
If you're working on the frontend only, it's faster to run the frontend in development mode using Node.js. Please read frontend/README.md for setup.
If you're working on something that requires the backend, it's better to use
docker-compose
to start the frontend and backend at the same time. Please read
DEV_ENV.md to for setup.
For new napari hub features, please start a discussion on the repo.
When creating a pull request, please follow these guidelines:
- Keep PRs reasonably sized. Max 500 LOC is ideal. Prefer splitting into multiple PRs if you can.
- Include a description of what your PR does and any background information for nuanced topics.
- Do not request code reviews until the PR checks pass.
- Include screenshots / videos for frontend PRs if there are visual changes.
A good example is #77.
Creating a PR with changes to frontend/ will start workflows for testing and linting the PR. When contributing to the frontend, make sure these checks are passing:
Action | Description |
---|---|
prettier |
Lints codebase with Prettier. |
stylelint |
Lints styles with Stylelint. |
eslint |
Lints JS/TS with ESLint. |
jest |
Runs unit / integration tests. |
tsc |
Type checks TypeScript code. |
If you change a component, you may need to update the snapshots.