📖 Looking for karrio's legacy docs? Visit docs.karrio.io

Introduction

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make to Karrio are greatly appreciated.

Ways to Contribute

There are many ways to contribute to the Karrio ecosystem:

  • Answer Questions: Help other users in GitHub Discussions
  • Report Issues: Submit bugs or feature requests through GitHub Discussions
  • Improve Documentation: Fix confusing or incomplete documentation sections
  • Create Pull Requests: Fix bugs or add new features to the codebase
  • Test and Provide Feedback: Try new features and provide feedback
  • Spread the Word: Share Karrio with others if you like what we’re doing

Priorities

When contributing to Karrio, we have different priorities for different types of issues:

Type of issuePriority
Critical bugs (API failures, shipping operations not working)Urgent
Core features (carrier integrations, tracking, label generation)High
Confusing UX (working but not intuitive)Medium
Minor improvements, non-core feature requestsLow

Developing

The development branch is main. This is the branch that all pull requests should be made against. The changes on the main branch are tagged into a release periodically.

To start developing locally:

  1. Fork the repository to your own GitHub account and then clone it to your local device
  2. Create a new branch: git checkout -b MY_BRANCH_NAME
  3. Follow the setup instructions in the Local Development guide

Building and Testing

You can build the project with:

For server components
1source ./bin/setup-server-env 2 3# For UI components 4npm i 5 6# Start the development 7npm run dev

Running Tests

To run and test all flows:

For SDK tests
1./bin/run-sdk-tests 2 3# For server tests 4./bin/run-server-tests 5 6# For a specific carrier integration 7# python -m unittest discover -v -f modules/connectors/[carrier_extension]/tests 8python -m unittest discover -v -f modules/connectors/fedex/tests 9 10# For a specific server component 11# karrio test --failfast karrio.server.[component].tests 12karrio test --failfast karrio.server.core.tests

Next Steps