We appreciate any and all contributions. Before contributing, please read our code of conduct.
If you are here, you are likely part of the Kernel and you should join the #kernel-building-kernel Slack channel.
Feel free to submit an issue through the issue tracker.
For non-trivial changes, please first seek a conversation to avoid any unnecessary work.
You'll want to fork this repo and submit a PR from your fork to this repo's main
branch.
When you're ready to submit a PR:
- Run
yarn lint
from the root directory to see the linter errors (it can also be run per package from inside the package's directory). Runyarn format
to auto-fix the errors where possible. - Ensure your branch includes the latest commits from
main
. - Write a PR title and description summarizing your changes.
- In your PR description, mention any Issues that your PR addresses.
- For changes visible in the frontend, include screenshots in your PR description.
- CI will run on your branch. It will need to be green before your PR can be merged.
- Get at least 1 PR review from another contributor. If changes are requested, make the requested changes in new commits and request a new review from the PR reviewer.
- When CI and PR reviews are green, your PR will be merged via "Squash and merge" which will trigger a deploy to staging.
Node: Check that Node is installed with version >= 16.8.0
. You can check this with node -v
.
Yarn: Make sure that Yarn 1 is installed with version >= 1.22.0
.
Fork the repo to your GitHub account, check it out locally and run
yarn install
All changes should be submitted against the main branch. The goal is to maintain a healthy tip of the branch with all tests passing and no breaking changes. Potentially breaking changes or experimental features should be behind a feature flag.
This is a monorepo using yarn workspaces
with each workspace in the customary packages
folder.
Look at packages/admin
and copy the necessary config files. Consider contributing by adding a custom template to make this process easier.
The storage
service currently needs to connect to a Google Cloud Storage bucket. Consider contributing by adding a version with a storage service backed by a local file system instead.
This repo uses workspaces
to manage local dependencies. From the root of the repo, this is how you start the admin
app:
yarn workspace @kernel/admin start
TBD