Ver en Español
The Go To Boilerplate for Building React Native Apps
Apr 15, 2023
Updated: Jun 25, 2026

The Go To Boilerplate for Building React Native Apps

When we start a React Native project from scratch, we waste a lot of time on decisions that are actually already solved: which navigation library to use, how to organize folders, how to handle state, what testing setup to apply. A good boilerplate saves us all of that and lets us start straight away with good practices. In this post I want to introduce you to what, in my opinion, is the go to boilerplate for React Native.

First, let's meet Infinite Red

Before talking about the boilerplate, let me introduce you to Infinite Red, a San Francisco startup made up of a group of experts in building applications with React Native. Their clients hire them to build their React Native apps and, on top of that, they also contribute to the React Native core. They are seriously experienced developers, focused on the React and React Native niche. You can learn more about them on their website, infinite.red.

The boilerplate is called Ignite

In 2017, Infinite Red published an open source boilerplate on GitHub so that any developer in the world could start their project from scratch, while still meeting enterprise development standards: scalability, maintainability, and a set of good practices around testing, navigation, structure, naming, and components, among other things.

That boilerplate is called Ignite and you can find it at github.com/infinitered/ignite. It is one of the most used and best maintained React Native boilerplates in the ecosystem, and it is updated constantly to keep pace with new React Native and Expo releases.

Note on versions. Ignite has been built on Expo for several major versions now, so today's recommended flow is very different from 2017. Instead of cloning the repository, you scaffold a new project with its CLI. Before you start, check the repository README for the exact React Native, Expo, and Ignite versions being shipped right now, because they change often.

>

Note: as of 2026, Ignite is on version 11.x (v11.5.0) and the CLI is still used as ignite-cli (npx ignite-cli@latest new). The current template targets React Native 0.81, Expo SDK 55, React 19 and TypeScript 5.

How to start a project with Ignite

The modern way to use Ignite is not to clone the repository, but to scaffold a new project with its CLI. Run the following command, which downloads the latest version of the tool and generates the project:

npx ignite-cli@latest new MyApp

The CLI will ask you a few questions (package manager, whether you want example screens, which navigation flow you prefer) and when it finishes you will have a project ready to run. From there you can start it like any Expo or React Native app:

cd MyApp
npm start

Note: the ignite-cli new wizard asks about the package manager, whether to include examples, and the navigation flow; the start scripts can vary slightly between Ignite versions.

What we find inside Ignite

Since the original video for this post is no longer available, it is worth describing in writing what Ignite ships out of the box, which is exactly what makes it so valuable:

  • An opinionated folder structure. Ignite clearly separates screens, components, navigation, services, and models, so a large project stays easy to read and maintain.
  • Navigation set up. It comes integrated with React Navigation and a stack structure ready to grow.
  • State management. It includes a well integrated state solution, so you do not have to decide and wire everything from scratch.
  • Testing ready to go. It ships a testing setup so that writing tests is a natural part of the workflow and not something you leave for later.
  • Code generators. Through the CLI you can generate screens, components, and models with a single command, always keeping the same naming convention and structure.
  • Base components. It includes a set of reusable UI components as a starting point.

The underlying idea is that you are not starting with a blank canvas, but with the same conventions a professional team would use in production.

Conclusions

  • Infinite Red is a startup that specializes in building React Native applications, and it also contributes to the framework's core.
  • Their open source boilerplate is called Ignite, and it exists to help us start projects following good practices and enterprise standards.
  • Knowing and applying a boilerplate like Ignite helps us guarantee the scalability, maintainability, and quality of our React Native apps from day one.

Exercises to practice

  1. Create a new project with the Ignite CLI by running npx ignite-cli@latest new MyApp and start it to see it running.
  2. Explore the generated structure: find where screens, components, navigation, and models live, and understand why they are separated that way.
  3. Use an Ignite generator to create a new screen or component, and implement an extra feature following the conventions and structure of the boilerplate.

Summary of what we learned

  1. We met Infinite Red, a startup that specializes in building React Native applications.
  2. We learned that their open source boilerplate is called Ignite and that today it is used through its CLI, not by cloning the repository.
  3. We discovered what Ignite ships out of the box (structure, navigation, state, testing, generators, and components) and why applying it ensures quality and scalability in our projects.

That's all. I hope this post is useful to you and that you can apply it to a project you have in mind. Leave me a comment if it helped, if you want to add an opinion, or if you have any questions. And remember, if you liked it, you can also share it using the social links below. Good luck with your next React Native app.

Sebastian Gomez

Sebastian Gomez

Creador de contenido principalmente acerca de tecnología.

Leave a Reply

0 Comments

Advertisements

Related Posts

Categorias