Contributing

Thank you for expressing your interest in contributing to PancakeSwap !

Setup your dev environment

  1. Fork the repository and an add upstream remote. E.g.

    $ git remote add upstream git@github.com:pancakeswap/pancake-frontend.git
  2. Make sure you have the latest version of the default branch ( develop or master )

    $ git checkout develop
    $ git pull upstream develop
  3. Create your own branch and install dependencies

    $ git checkout -b branch-name
    $ yarn

Coding rules

Use the UIKit

If a variant of a component needs to be created, use the corresponding component in the UI Kit as a base. For example:

import styled from 'styled-components'
import { Button } from '@pancakeswap-libs/uikit'

const NewButtonVariant = styled(Button)`
  // custom styles here
`

Use the tools !

Most of our repos use Typescript, ESLint, and Prettier. Make sure you are familiar with Typescript’s best practices, and enable an ESLint and Prettier plugin for your IDE.

Make sure your code is formatted with Prettier, and is free from any ESLint error before you submit a pull request.

Some good practices

  • Keep components as small and "dumb" as possible.

  • Keep in mind that your code will be read and maintained by several other developers. Make it as clear and easy to update as possible.

Committing

Our commit messages follow Conventional Commits using commitlint.‌

More at Angular's guidelines

Creating your pull request

  • All pull requests must have a description of what the PR is trying to accomplish.

  • Keep pull requests as small as possible. Larger pull requests should be broken up into smaller chunks with a dedicated base branch. Please tag the PR's that are merging into your base branch with the epic tag.

  • If possible self-review your PR and add comments where additional clarification is needed.

Create a draft PR as soon as possible so we can view your ongoing progress.

Last updated