sidekik

sidekik

  • Docs
  • Contributing

›Contributing

Contributing

  • Contribution Guide
  • Codebase Overview
  • Package Codebase
  • Design Principles

Codebase Overview

Monorepo Architecture

At sidekik, we use the Mono Repository Architecture to manage all the packages under on repository. So that managing different packages becomes less tedious. We use Lerna to handle the core packages within the monorepo.

Development Workflow

After cloning sidekik, run yarn to fetch its dependencies. Then, you can run several commands:

  • yarn lint checks the code style.
  • yarn test runs the complete test suite.
  • yarn test --watch runs an interactive test watcher.
  • yarn compile compile the TypeScript files.

We recommend running yarn test (or its variation above) to make sure you don't introduce any regressions as you work on your change.

We insist that your pull request contains unit tests for any new functionality. This way we can ensure that we don't break your code in the future.

Style Guide

We use an automatic code formatter called Prettier. Run yarn lint after making any changes to the code.

Then, our linter will catch most issues that may exist in your code.

However, there are still some styles that the linter cannot pick up. If you are unsure about something, looking at Airbnb's Style Guide will guide you in the right direction.

Versioning

Sidekik follows semantic versioning. We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version so that our users learn about the upcoming changes and migrate their code in advance.

What Next?

Read the next section which discusses the codebase of every package in the repository.

← Contribution GuidePackage Codebase →
  • Monorepo Architecture
  • Development Workflow
  • Style Guide
  • Versioning
  • What Next?
Docs
Contributing
Community
GitterDiscord
More
GitHubStar
Sidekik
This project is licensed under the MIT License.