Skip to content

Latest commit

 

History

History
52 lines (41 loc) · 2.57 KB

CONTRIBUTING.md

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 TSLint. 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! 🎩