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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@easyappkit/cli

v1.0.3

Published

CLI tool for scaffolding Easy App Kit applications

Readme

@easyappkit/cli

The fastest way to build production-ready Expo apps with Firebase integration.

Easy App Kit CLI is a command-line tool that scaffolds fully-configured Expo applications with Firebase backend in seconds. Skip the tedious setup and jump straight into building your app.

What Does It Do?

The CLI creates a complete Expo app with:

  • Expo SDK 50 - Stable, tested configuration
  • Firebase Integration - Auth, Database, and Storage ready to use
  • TypeScript - Full type safety out of the box
  • Project Structure - Organized folders for components, screens, services, and more
  • All Dependencies - Pre-configured with compatible versions (no peer dependency conflicts!)
  • Example Code - Firebase config, providers, and initial setup included

Why Use This CLI?

Saves Hours of Setup Time

  • No manual dependency installation
  • No version conflicts to debug
  • No boilerplate code to write

Production-Ready Foundation

  • Battle-tested package versions (Expo 50, React 18.2, Firebase 10.7)
  • Clean architecture with separated concerns
  • TypeScript configuration optimized for React Native

Zero Configuration Headaches

  • All peer dependencies resolved automatically
  • Firebase providers pre-wired
  • ESLint and TypeScript ready to go

Perfect for developers who want to build apps, not fight with configuration files.

Installation

```bash npm install -g @easyappkit/cli ```

Usage

Create a new app

```bash npx @easyappkit/cli create my-app cd my-app npm start ```

Create with template

```bash npx @easyappkit/cli create my-app --template full ```

Available templates:

  • `basic` - Basic setup with minimal configuration
  • `full` - Complete setup with all Easy App Kit packages

Add packages to existing app

```bash npx @easyappkit/cli add auth npx @easyappkit/cli add database npx @easyappkit/cli add storage npx @easyappkit/cli add local-storage npx @easyappkit/cli add ui npx @easyappkit/cli add utils ```

Commands

`create `

Creates a new Expo app with Easy App Kit packages pre-configured.

Options:

  • `-t, --template ` - Template to use (default: basic)

`add `

Adds an Easy App Kit package to your existing project.

Available packages:

  • `auth` - Firebase authentication
  • `database` - Firebase database
  • `storage` - Firebase storage
  • `local-storage` - Local storage management
  • `ui` - UI components
  • `utils` - Utility functions

Example: ```bash easyappkit add auth ```

`setup `

Setup and configure external services interactively.

Firebase Setup ```bash easyappkit setup firebase ``` Interactive wizard to configure Firebase:

  • Prompts for Firebase credentials
  • Creates `.env` and `.env.example` files
  • Generates `src/config/firebase.ts`
  • Updates `.gitignore`
  • Optionally updates `app.json`

CI/CD Setup ```bash easyappkit setup ci --platform github ``` Generates GitHub Actions workflows:

  • Creates `.github/workflows/ci.yml` for linting and testing
  • Optionally creates `.github/workflows/eas-build.yml` for Expo builds

Options:

  • `-p, --platform ` - CI platform (github, gitlab) - default: github

Internationalization Setup ```bash

Setup with default languages (English and Spanish)

easyappkit setup i18n

Setup with custom languages

easyappkit setup i18n --languages fr,de,ja

Setup with spaces (also works)

easyappkit setup i18n --languages "en, es, fr, de" ``` Sets up react-i18next with multiple languages:

  • Installs i18n dependencies (react-i18next, i18next, expo-localization)
  • Creates `src/i18n/` structure with configuration file
  • Generates translation files for each language (e.g., `en.json`, `es.json`)
  • Updates `App.tsx` to automatically import i18n config
  • Configures device language detection with fallback

Options:

  • `-l, --languages ` - Comma-separated list of language codes (e.g., en,es,fr) - default: en,es

Examples: ```bash easyappkit setup i18n # Uses default: en, es easyappkit setup i18n -l fr # Single language: fr easyappkit setup i18n -l en,fr,de,ja,zh # Multiple languages easyappkit setup i18n --languages "fr, de" # With spaces (cleaned automatically) ```

After setup, use i18n in your components: ```tsx import { useTranslation } from 'react-i18next';

function MyComponent() { const { t, i18n } = useTranslation();

return ( {t('common.welcome')} <Button onPress={() => i18n.changeLanguage('es')}> Español ); } ```

`generate ` (alias: `g`)

Generate boilerplate code for common patterns.

Generate Screen ```bash easyappkit generate screen ProfileScreen

or

easyappkit g screen ProfileScreen ``` Creates a new screen component in `src/screens/`

Generate Component ```bash easyappkit generate component Button ``` Creates a new component in `src/components/` (automatically uses theme if ui-components installed)

Generate Hook ```bash easyappkit generate hook useAuth ``` Creates a new custom hook in `src/hooks/`

Generate Firestore Collection CRUD Hooks ```bash easyappkit generate collection users --fields name:string,email:string,role:string ``` Creates complete CRUD hooks for a Firestore collection:

  • `useUsers()` - Get all documents
  • `useUser(id)` - Get single document
  • `useAddUser()` - Add new document
  • `useUpdateUser()` - Update document
  • `useDeleteUser()` - Delete document

Options:

  • `--fields ` - Field definitions (name:type,email:string)

What Gets Set Up Automatically

When you run `create`, the CLI:

  1. Creates Expo App with SDK 50 and TypeScript
  2. Installs All Packages with compatible versions:
    • Firebase 10.7.0
    • React 18.2.0
    • React Native 0.73.0
    • All Easy App Kit packages
  3. Sets Up Project Structure: ``` my-app/ ├── src/ │ ├── components/ # Reusable UI components │ ├── screens/ # App screens │ ├── navigation/ # Navigation setup │ ├── services/ # Business logic │ ├── hooks/ # Custom React hooks │ ├── utils/ # Helper functions │ └── config/ # Configuration files ├── App.tsx # Entry point with providers └── .env.example # Firebase config template ```
  4. Configures Firebase with environment variables
  5. Adds Providers - ThemeProvider and AuthProvider pre-wired
  6. Sets Up ESLint with Easy App Kit config

Compatibility

This CLI creates apps with:

  • Expo SDK: 50.x
  • React: 18.2.0
  • React Native: 0.73.0
  • Firebase: 10.7.x
  • TypeScript: 5.3+
  • Node.js: 18+ required

All versions are tested and guaranteed to work together without conflicts.

Next Steps After Creating Your App

  1. Add Firebase Credentials ```bash cp .env.example .env

    Add your Firebase config to .env

    ```

  2. Start Development ```bash npm start ```

  3. Start Building!

    • Use `@easyappkit/firebase-auth` for authentication
    • Use `@easyappkit/firebase-database` for Firestore/Realtime DB
    • Use `@easyappkit/firebase-storage` for file uploads
    • Use `@easyappkit/ui-components` for pre-built UI
    • Use `@easyappkit/local-storage` for local data

Check out the Easy App Kit documentation for detailed guides and examples.

License

MIT