Skip to main content

Contributing quick-start

Ways to contribute

  • Improve the codebase: propose new feature via BitBucket Issues or find an existing one that you are interested in and work on it
  • Create a new integration: our list of deisred integrations is always growing. Check out our integrations page for a list of existing integrations. You can contribute to an existing integration or make a start on a new one
  • Improve documentation: fix incomplete or missing docs, bad wording, examples, or explanations
  • Give feedback: share how you're using Carrots, what features are missing, and what is done well via the #carrots_dev channel. (Need access? Reach out to Lochlan!)
  • Give us a code review: help us identify problems with the source code or ways to make Carrots more performant. Open a PR or submit a new BitBucket issue

Contributing workflow

  • If you want to implement a new feature, component, or integration discuss it with a maintainer (#carrots_dev) before jumping into code.
  • After finalizing issue details work on code. Please follow branch and PR naming conventions
  • Run tests with pnpm test and lint with pnpm lint. Submit a PR if everything is fine
  • Get a code review and fix all issues noticed by maintainer
  • Your PR is merged, thanks!

Branches

Main branch

Our trunk branch is main.

We currently do not have a dev/develop/development branch. Once approved work is merged into the main branch 🤠

Working branches

Internally we use Wrike for project management. Tickets created from Wrike tickets will follow the pattern:

[wrike-ticket-id]-[wrike-ticket-title]

Example:

  • 926359911-Create-Search-Page

If you are not working from a Wrike ticket your branch name should follow the pattern:

[bitbucket-issue-id]-[some-meaningful-title]

Examples:

  • 20-fix-product-page-wishlist-button

Pull requests

Create a pull request once your work is complete.

There is no specifc template to match, but PR messages should be as detailed as possible. Include a brief description of the changes, a bullet point changelog, and screenshots of changes (if working on the frontend).

A BitBucket Pipeline will automatically run. It runs all testing scripts and scans your changes with SonarCloud. Any issues will be automatically reported back to you and should be fixed before requesting a review.

After all tests pass notify a maintainer in #carrots_dev. Once any issues they notice are fixed they will merge your work into main branch.

Get started with Carrots locally

  • Clone the monorepo locally
  • Install dependencies with pnpm install
  • Start all applications in development mode with pnpm dev

Read more: