# Setup ES6+Babel+JSX Linting with Atom/Nuclide This sets up Atom to properly lint ES6+Babel+JSX using Airbnb's .eslintrc as a starting point. ## Steps 1. Download [Atom](https://atom.io/) and get these two packages: [Linter](https://atom.io/packages/linter) and [Linter-ESLint)(https://atom.io/packages/linter-eslint) 2. Run `npm i -D eslint eslint-config-airbnb babel-eslint eslint-plugin-babel eslint-plugin-react eslint-plugin-react-native eslint-plugin-import eslint-plugin-jsx-a11y` from your project root. 3. Add `"extends": "airbnb"` to your .eslintrc and `"plugins": [ "babel", "react", "react-native", "jsx-a11y" ]` 4. Run `apm install linter-eslint` this also installs `linter` which clashes with nuclide diagnostics 5. Run `apm disable linter` to stop the linter clashing with nuclide See [Airbnb's Javascript styleguide](https://github.com/airbnb/javascript) and the [ESlint config docs](http://eslint.org/docs/user-guide/configuring#extending-configuration-files) for more information.