Keen to contribute to Garden? We're stoked to have you join us. You may find that opening an issue is the best way to get a conversation started. When you're ready to submit a pull request, follow the steps below. We follow a code of conduct as our guide for community behavior.
Garden follows semantic versioning. We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes.
The pull request workflow along with the PR template will help us determine how to version your contributions.
All changes are recorded in the changelog file.
Before you start, be sure npm is installed
on your system. After you clone this repo, run npm install
to install
dependencies needed for development. After installation, the following commands
are available:
npm test
to run package tests.npm run lint
to enforce consistent code conventions. Note this is run as a gitpre-commit
hook.npm run format
to enforce code style with opinionated formats. Note this is run as a gitpre-commit
hook.
- Fork the repo and create a branch. Format your branch name as
username/verb-noun
. - If you haven't yet, get comfortable with the development environment.
- Regularly
git commit
locally andgit push
to the remote branch. Use whatever casual commit messaging you find suitable. We'll help you apply an appropriate squashed conventional commit message when it's time to merge to the main branch. - If your changes result in a major modification, be sure all documentation is up-to-date.
- When your branch is ready, open a new pull request via GitHub. The repo PR template will guide you toward describing your contribution in a format that is ultimately suitable for a structured conventional commit (used to automatically advance the published package version).
- Every PR must pass CI checks and receive at least one 👍 to be considered for merge.
- Garden maintainers will manage the squashed merge to the main branch, using your PR title and description as the scope, description, and body for a conventional commit.
By contributing to Garden, you agree that your contributions will be licensed under the Apache License, Version 2.0.