RNJet Boilerplate
A production-ready React Native boilerplate and CLI toolkit that bootstraps fully-configured apps in a single command.
Built with Clean Architecture, New Architecture (Fabric + JSI), i18next, MMKV, and React Navigation v7 — all wired up and ready to ship.
Published as an npm package (@jonathantri/rnjet), RNJet eliminates weeks of setup so teams can focus on building features from day one.
Tech Stack & Tools
Android
iOS
React Native
TypeScript
CLI Tool
npm Package
Key Features
Module Generator CLI
Instantly scaffold modules, components, screens, and services with a single CLI command. Standard-compliant naming conventions are enforced automatically, keeping the codebase consistent from day one without any manual configuration.
New Architecture (Fabric + JSI)
Built from the ground up to support React Native's New Architecture — Fabric renderer and JSI bindings included out of the box. Near-native performance levels with direct C++ interop, no migration required.
Clean Architecture — Feature-Based Structure
Enforced separation of concerns with a modular, feature-based folder structure. Domain, data, and UI layers are clearly separated — scales cleanly from solo projects to large teams without the codebase becoming chaotic.
i18n with i18next — Built In
Full internationalization support with i18next and type-safe translation keys. English and Bahasa Indonesia included. Adding any new language takes just minutes — no additional setup needed.
MMKV Storage — Faster Than AsyncStorage
Ultra-fast synchronous storage powered by MMKV with AES-256 encryption. No async/await complexity, no performance overhead — orders of magnitude faster than AsyncStorage for key-value data.
React Navigation v7 — Pre-Configured
Production-ready navigation with typed screens, nested stacks, and a custom useNavigate hook — fully wired and ready to extend. Supports deep linking and tab-based layouts out of the box.
Development Journey
Project Vision & Motivation
Every React Native project starts the same way — setting up navigation, configuring themes, wiring up an API layer, integrating storage, and adding internationalization. Developers routinely lose the first two weeks of every new project to this repetitive boilerplate work, before a single product feature is written.
RNJet was built to solve that exact problem. The goal was to create a single CLI command that bootstraps a fully production-ready React Native starter kit, with Clean Architecture, New Architecture support, i18next, MMKV, and React Navigation v7 all pre-configured and wired up. Not a minimal template, and not an over-opinionated framework — but the right set of tools for real production apps.
Beyond the boilerplate, RNJet ships with a module generator CLI that lets developers scaffold new features, screens, components, and services in seconds. Published as an npm package (@jonathantri/rnjet), the tool is open source and actively maintained, giving the React Native community a reliable, scalable starting point that grows with any team or project size.
Challenges Faced
Designing a Flexible yet Opinionated Architecture
Most boilerplates either do too little — leaving everything to the developer — or too much, imposing decisions that are nearly impossible to override. Striking the right balance between pre-configured structure and developer freedom was the core design challenge throughout the build.
New Architecture Compatibility
Supporting React Native's New Architecture (Fabric + JSI) required ensuring every library and native module in the stack was compatible. Many popular packages still had incomplete New Architecture support, requiring careful selection and validation of each dependency.
Building a Reliable CLI with Cross-Platform Support
The module generator CLI needed to work reliably across macOS, Linux, and Windows environments — handling different file systems, shell environments, and platform-specific edge cases. Ensuring consistent templating and code generation across all platforms required significant testing and iteration.
Solutions Implemented
Curated, Production-Tested Tech Stack
Each library in RNJet was hand-picked based on production use across real projects. The stack is opinionated enough to eliminate decision fatigue, but modular enough that developers can swap or extend any layer without fighting the boilerplate.
New Architecture First, Zero Migration
RNJet was designed on New Architecture from day one, not retrofitted. All dependencies are validated for Fabric and JSI compatibility, so projects generated with RNJet never need a painful migration path.
TypeScript-First CLI with Automated Scaffolding
The CLI was built with TypeScript and tested across multiple platforms. It generates fully typed, convention-compliant module scaffolding, reducing cognitive overhead and enforcing naming standards automatically — so the team stays consistent as the project grows.
Projects Showcase

Key Learnings & Takeaways
Developer Tools Are Products
Building RNJet reinforced that CLI tools and boilerplates deserve the same product thinking as end-user apps.
Developer experience, clear documentation, sensible defaults, and intuitive commands are just as important as code quality.
A tool that developers enjoy using gets adopted; one that frustrates them gets abandoned regardless of technical merit.
Architecture Decisions Compound Over Time
Designing a starter kit forces you to think deeply about architectural decisions that most projects defer until it's too late.
Every structural choice in RNJet — folder organization, layer separation, module boundaries — was made knowing it would need to scale across many different project types and team sizes.
This experience deepened my appreciation for intentional architecture as a long-term force multiplier.
Open Source Requires Sustained Commitment
Publishing RNJet on npm and maintaining it as an open source project comes with responsibility beyond the initial release.
Keeping dependencies updated, responding to issues, writing clear documentation, and shipping improvements require ongoing effort.
This project gave me firsthand experience with what it takes to build and maintain an open source tool that others rely on.
Future Improvements
Interactive CLI Mode
Adding an interactive project initialization mode where developers can select features to include — state management library, authentication setup, analytics integration — making the boilerplate even more flexible for different project requirements.
Automated Testing Setup
Integrating pre-configured Jest and Detox setups directly into the boilerplate, so projects start with a working test suite and E2E testing scaffolding — reducing the barrier to writing tests from the very beginning of a project.
Expanding UI Component Library
Continuously adding more production-ready, highly customizable UI components to the boilerplate. The goal is to provide a comprehensive suite of pre-built elements out of the box so developers can assemble complex interfaces even faster.
Let’s Build Something Amazing Together
Ready to take your ideas to reality? I’m always excited to work on new challenges and create innovative solutions.