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

create-mobile-arch

v1.0.1

Published

A production-ready CLI tool to generate Flutter project architectures with Clean Architecture or Feature-First patterns

Downloads

32

Readme

create-mobile-arch

A production-ready CLI tool to generate Flutter project architectures with best practices baked in.

🚀 Quick Start

Create a new Flutter project with a single command:

npx create-mobile-arch my_app

✨ Features

  • 🏗️ Multiple Architecture Patterns: Clean Architecture & Feature-First
  • 📦 State Management: Riverpod or Bloc
  • 🔌 Backend Integration: Firebase or REST API
  • 📁 Well-Structured: Production-ready folder organization
  • 🎨 Theme Support: Light & dark mode out of the box
  • 🧪 Testing Ready: Example tests included
  • 📝 Documentation: README with architecture details

📋 Usage

Basic Usage

npx create-mobile-arch <project-name>

With Default Configuration

Skip prompts and use default settings:

npx create-mobile-arch my_app -y

🎯 Interactive Configuration

When you run the CLI, you'll be asked to choose:

  1. Architecture Pattern

    • Clean Architecture (Domain-driven with layers)
    • Feature First (Organized by features)
  2. State Management

    • Riverpod (Recommended - compile-safe, testable)
    • Bloc (Event-driven state management)
  3. Backend Integration

    • Firebase (Auth, Firestore, Storage)
    • REST API (Custom backend with HTTP)
  4. Include Examples

    • Sample code and features

📂 Generated Project Structure

your_app/
├── lib/
│   ├── core/               # Core functionality
│   │   ├── constants/      # App constants
│   │   ├── theme/          # Theme configuration
│   │   └── utils/          # Utility functions
│   ├── data/               # Data layer
│   │   ├── datasources/    # API, local storage
│   │   ├── models/         # Data models
│   │   └── repositories/   # Repository implementations
│   ├── domain/             # Business logic
│   │   ├── entities/       # Business entities
│   │   ├── repositories/   # Repository interfaces
│   │   └── usecases/       # Business use cases
│   ├── presentation/       # UI layer
│   │   ├── screens/        # App screens
│   │   ├── widgets/        # Reusable widgets
│   │   └── providers/      # State management
│   └── main.dart           # App entry point
├── test/                   # Unit & widget tests
├── pubspec.yaml            # Dependencies
└── README.md               # Project documentation

🛠️ Requirements

  • Node.js: >= 14.0.0
  • Flutter: >= 3.0.0 (for running the generated project)

📦 What's Included

The generated Flutter project includes:

Dependencies

  • flutter_riverpod: State management
  • get_it: Dependency injection
  • dio: HTTP client
  • go_router: Navigation
  • hive: Local storage
  • equatable: Value equality
  • freezed: Code generation

Dev Dependencies

  • build_runner: Code generation
  • flutter_lints: Linting rules
  • flutter_test: Testing framework

🏃 After Project Generation

Once your project is created:

cd my_app
flutter run

📖 Examples

Create a clean architecture project

npx create-mobile-arch awesome_app
# Then select: Clean Architecture, Riverpod, REST API

Quick start with defaults

npx create-mobile-arch quick_app -y

🔧 Development

Clone & Setup

git clone <repository-url>
cd create-mobile-arch
npm install

Test Locally

npm test
# or
node bin/index.js test_app

Link for Local Development

npm link
create-mobile-arch my_test_app

📜 License

MIT

🤝 Contributing

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

📞 Support

If you encounter any issues or have questions:

  • Open an issue on GitHub
  • Check the documentation

🙏 Acknowledgments

Inspired by popular project generators like:

  • create-next-app
  • create-vite
  • create-react-app

Built with ❤️ for the Flutter community