npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@moamc/rn-cli

v1.5.4

Published

Enterprise-grade Code Generation CLI for React Native Applications with Multi-Project Support

Readme

@moamc/rn-cli

Enterprise-grade Code Generation CLI for React Native Applications

🚀 Features

  • Multi-Project Support - Works with both Investor and Distributor apps
  • Automatic Structure Detection - Detects and adapts to your project structure
  • ✅ Generate complete feature modules with screens, hooks, and API integration
  • ✅ Add screens to existing features with form support
  • ✅ Create API services with GET/POST methods
  • ✅ Generate React Query hooks with validation
  • ✅ Support for multiple field types (text, number, email, date, dropdown, etc.)
  • ✅ Automatic validation generation
  • ✅ TypeScript-ready templates

📦 Installation

Global Installation (Recommended)

npm install -g @moamc/rn-cli

Project-specific Installation

npm install --save-dev @moamc/rn-cli

🎯 Usage

After installation, run the CLI from your React Native project root:

rn-cli

The CLI automatically detects your project type (Investor/Distributor) and generates files with the appropriate structure!

Supported Projects

  • Investor App - Nested structure (screens/Feature/Screen/Screen.js)
  • Distributor App - Flat structure (screens/Feature/Screen.js)

See MULTI_PROJECT_SUPPORT.md for detailed information.

Available Commands

Generate Feature

rn-cli generate:feature
# or
rn-cli g:f

Creates a complete feature module with screen, API service, and hooks.

Generate Screen

rn-cli generate:screen
# or
rn-cli g:s

Adds a new screen to an existing feature with optional form support.

Generate API

rn-cli generate:api
# or
rn-cli g:a

Creates API service methods with React Query integration.

Generate Hook

rn-cli generate:hook
# or
rn-cli g:h

Generates data-fetching hooks with validation.

📁 Project Structure Requirements

The CLI supports two project structures:

Investor App (Nested Structure)

project-root/
├── screens/
│   └── FeatureName/
│       └── ScreenName/
│           ├── ScreenName.js
│           ├── hooks/
│           │   └── useScreenName.js
│           ├── components/
│           │   └── styles.js
│           ├── validation.js
│           ├── constants.js
│           └── helpers.js
├── services/
├── queries/
└── navigations/
    └── Navigation.js

Distributor App (Flat Structure)

project-root/
├── screens/
│   └── FeatureName/
│       ├── ScreenName.js
│       ├── hooks/
│       │   └── useScreenName.js
│       ├── components/
│       │   └── ScreenNameStyles.js
│       ├── ScreenNameConstants.js
│       └── ScreenNameHelpers.js
├── services/
├── queries/
└── navigation/
    └── Navigation.js

🎨 Form Field Types

  • Text - Standard text input
  • Number - Numeric input
  • Email - Email address with validation
  • Date - Date picker
  • Dropdown - Select from options
  • Radio - Single choice
  • Checkbox - Multiple choices
  • File - File upload

🔌 API Integration

The CLI supports both GET and POST APIs:

  1. GET API - Fetch data with React Query
  2. POST API - Submit forms with useMutation
  3. Automatic cache invalidation after successful POST

✨ Features

Automatic Validation

  • Real-time field validation
  • Submit-time validation
  • Custom validation rules per field type

React Query Integration

  • Automatic query key generation
  • Cache management
  • Error handling
  • Loading states

Form Support

  • Multiple field types
  • Field width control (full/half)
  • Required field validation
  • Dropdown options

🛠️ Development

To use in development mode:

cd cli-tool
npm link

Then in your project:

rn-cli

📝 License

MIT

👥 Author

MOAMC Engineering Team

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.