/ignite

The hottest CLI for React Native, boilerplates, plugins, generators, and more!

Primary LanguageJavaScriptMIT LicenseMIT

npm version Build Status Coverage Status js-standard-style

Ignite CLI

Ignite CLI screenshot

🔥 The hottest CLI for React Native, boilerplates, plugins, generators, and more. 🔥

Note: if you're coming to Chain React, the React Native Conference in Portland July 10-11, we'll be handing out Ignite stickers! Be sure to say hi to an Infinite Red employee there.

Ignite CLI is here!

After months of work and sweat and tears, Ignite CLI has landed! We're incredibly proud of where Ignite CLI is and where it's headed.

Cliff notes version of the difference between Ignite 1 and Ignite CLI:

Ignite 1 was a (very nice!) React Native boilerplate. Ignite CLI is a generator for React Native with boilerplates, plugins, and more. Where before you had one choice -- Infinite Red's boilerplate -- now you can choose from many boilerplates and also add standalone plugins as you need them. It's much more modular and extensible than Ignite 1.

If you really liked Ignite 1 as it was, then not much has changed! You just run ignite new MyApp --max and everything feels pretty normal from there.

Quick Example

$ npm install -g ignite-cli
$ ignite new PizzaApp
$ cd PizzaApp
$ ignite add maps
$ ignite add vector-icons
$ ignite generate screen PizzaLocationList
$ ignite generate component PizzaLocation
$ ignite generate map StoreLocator
$ ignite add i18n
$ ignite remove i18n
$ ignite i love you

Why Ignite CLI?

  • Easily spin up a new React Native app with best practices built-in
  • No runtime! This is a developer tool only, not a library you have to depend on
  • An ever-expanding list of boilerplates and plugins
  • Powerful but well-defined behavior
  • Battle tested and used every day by the developers at Infinite Red

And you also get (by default) all of the sweet, sweet goodness of our default boilerplate, or choose one of many others.

⬇️ Install

First, make sure you're set up for React Native

then...

Make sure you have Node 7.6+

Note: July 2017 Users of Node 8.0+ should beware of issues with debugging. V8 uses the inspector protocol and no longer allows --debug and --debug-brk. But inspector does not run well with Chrome debugger (and probably also not with VS Code debugger and node-inspector). Breakpoints are not hit, or debugger doesn't disconnect. So inform yourself well before going this route. See nodejs/node#7593 (and many related issues) for more info.

While you are free to use whichever node version manager you like, we like using n

If you currently use nvm and would like to switch, follow these steps

You can check your version of node by running

node -v

then install Yarn for your system

finally...

All global installs below are using npm over yarn because of this bug on Windows.

$ npm install -g ignite-cli
$ ignite new MyNewAppName

📋 Documentation 📋

Want to dive into the Ignite CLI documentation? Go here Looking for React Native's documentation? Go here

🔌 Plugins 🔌

Check out the list of Plugins

🍽️ Boilerplates 🍽️

Check out the list of Boilerplates

$ ignite new MyNewAppName -b ir-boilerplate

💩 Troubleshooting 💩

If you run into problems, first search the issues in this repository. If you don't find anything, you can either file an issue or come talk to our friendly developers in the Infinite Red Community Slack (community.infinite.red).

🔭 Where to Go From Here 🔭

Contribute to Ignite CLI - Getting up and running for your first pull request

Chat with us on the IR Community - Infinite Red devs standing by

Who are We? - Learn More About Infinite Red

Project Web Page - Ignite on Infinite Red

❤️ Special Thanks ❤️

Thank you to the numerous contributors of Ignite CLI. Our awe and appreciation for the friendliness of Open Source is the fuel for all Infinite Red projects like Ignite CLI.

Premium Support

Ignite CLI, as open source projects, is free to use and always will be. Infinite Red offers premium Ignite CLI and boilerplate support and general mobile app design/development services. Get in touch here or email us at hello@infinite.red.