Skip to content

Latest commit

History

History
52 lines (41 loc) 路 2.57 KB

File metadata and controls

52 lines (41 loc) 路 2.57 KB

Contributing

Thanks for taking the time to contribute! 馃帀 馃帄 馃憤

Getting started

Looking for places to contribute to the codebase? Check out the "help wanted" label.

Installation

First, ensure you have Node v8+ and yarn v1.0+ installed on your machine.

As an external contributor (not a member of the Palantir org), you will have to fork Blueprint in order to contribute code. Clone your fork onto your machine and run the following commands to install dependencies:

git clone git@github.com:<username>/blueprint.git # using ssh
cd blueprint
yarn
yarn verify

Developing

A typical contributor workflow looks like this:

  1. Create a new feature branch. We use a format like [your-initials]/[short-name]: bd/refactor-buttons.
  2. Run yarn dev in the root to watch all the code and run the dev app at http://localhost:9000
    • You can instead watch package subsets with yarn dev:core, yarn dev:select, etc.
  3. Write some code. 馃敤 Refer to the wiki in this repo for detailed instructions on:
  4. Ensure your code is tested and linted.
    • Add unit tests as necessary when fixing bugs or adding features; run them with yarn test in the relevant packages/ directory.
    • Linting is best handled by your editor for real-time feedback (see Editor integration). Run yarn lint to be 100% safe.
    • TypeScript lint errors can often be automatically fixed by ESLint. Run lint fixes with yarn lint-fix.
  5. Submit a Pull Request on GitHub and fill out the template.
    • 鈿狅笍 DO NOT enable CircleCI for your fork of Blueprint. Our build will run on your fork when you open a PR. You can run NPM scripts locally to validate before pushing code.
  6. Team members will review your code and merge it after approvals.
    • You may be asked to make modifications to code style or to fix bugs you may have not noticed.
    • Please respond to comments in a timely fashion (even if to tell us you need more time).
    • Do not amend commits and push --force as they break the PR history. Please add more commits; we squash each PR to a single commit on merge.
  7. Hooray, you contributed! 馃帺