Netlify Status

Balance Mobile

Balance Mobile is the Design System for creating Reckon's React Native applications.

Geting Started

To start using Balance in your React Native App, please ensure you have SSH access to Reckon's BitBucket organsiation.

Then, you can install it like so...

yarn add git+ssh://git@bitbucket.org/reckonhq/design-system.git#v1.52.1
# Ensure you update the version number above

and you are ready to use the components!

import { Box } from 'reckon-mobile-design-system`

Demo app

This repo includes a demo app, which allows you to view and test components while you dev.

Make sure you install expo-cli globally on your machine...

npm install -g expo-cli

...then run the following commands in your terminal...

yarn && yarn demo

About releasing and versioning

Releasing a new version of the Mobile Design System is done by merging a PR from dev to master.

This Design System follows the Semantic Versioning convention. This repository is configured to generate version tags and changelog notes automatically with semantic-release. When a new commit is added to master branch (for example when a pull request is merged) semantic-release will inspect the git log and generate a changelog and appropriate version tag based on the changes it finds.

To make it easier to document changes in the codebase we use a formalise commit message convention. A simple commit message might look like:

feat(button): Implement weight props

As per this guide, the commit type must be one of the following:

  • build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
  • ci: Changes to our CI configuration files and scripts (example scopes: Circle, BrowserStack, SauceLabs)
  • docs: Documentation only changes
  • feat: A new feature
  • fix: A bug fix
  • perf: A code change that improves performance
  • refactor: A code change that neither fixes a bug nor adds a feature
  • test: Adding missing tests or correcting existing tests

PRs from Dev to Master must be merged via a 'merge commit' rather than squashing, to retain all of the commit descriptions for the semantic versioning bot.

To read more about this commit message format and how it's used by semantic-release check out the docs. Or to get started try using the built-in helper:

yarn commit