Nonstop Logo

NonStop

Digital Product Development Experts for Startups & Enterprises

About | Website

🚀 NonStop CLI

⚡ Supercharge your Flutter development with mono-repo magic

pub package License Flutter


🎯 What is NonStop CLI?

The NonStop CLI simplifies Flutter project setup and management, with a focus on mono-repository structures using Melos. It provides standardized templates, validation tools for your development environment, and ongoing updates for the best experience.

🎨 Perfect for teams who want consistent project structure and streamlined development workflows

🚀 Quick Start

# Install NonStop CLI globally
dart pub global activate nonstop_cli

# Check your development environment
nonstop doctor

# Create your first mono-repo project
nonstop create my_awesome_app

# Navigate and start coding!
cd my_awesome_app

📖 Commands

🏗️ create - Project Generator

Creates a new Flutter project based on predefined templates.

nonstop create <project-name> [arguments]

🔧 Arguments

Argument Alias Description Default
--template -t Type of project to create mono
--output-directory -o Output directory for the new project Current directory
--description --desc Description for the new project "A Melos-managed project for mono-repo, created using NonStop CLI."
--org-name --org Organization name for the new project com.example
--application-id Bundle identifier on iOS or application id on Android <org-name>.<project-name>

📦 Template Options

Template 🎯 Description 📁 Structure Created
mono 🏢 Generate a Flutter application along with mono-repo (default) Complete mono-repo structure with apps, features, packages, and plugins
package 📦 Generate a Flutter package for a Melos-managed mono-repo Flutter package compatible with mono-repo structure
app 📱 Generate a Flutter application for a Melos-managed mono-repo Flutter application configured for mono-repo structure
plugin 🔌 Generate a Flutter plugin for a Melos-managed mono-repo Flutter plugin compatible with mono-repo structure

💡 Examples

🏢 Create a mono-repo project
nonstop create youtube

This creates the following structure:

youtube/
├── 📱 apps/
│   └── youtube/
├── 🧩 features/
├── 📦 packages/
├── 🔌 plugins/
├── 📋 analysis_options.yaml
├── 📖 README.md
├── ⚙️ melos.yaml
└── 📄 pubspec.yaml
📦 Create a Flutter package for a mono-repo
nonstop create core --template package
📱 Create a Flutter application for a mono-repo
nonstop create youtube_studio --template app -o ./apps
🏢 Create with custom organization
nonstop create youtube_music --org-name com.youtube
📁 Create in a specific directory
nonstop create youtube -o ./projects

🩺 doctor - Environment Checker

Checks your development environment to ensure all required tools are installed and configured correctly.

nonstop doctor

🔍 What it checks:

Tool 📋 Analysis
🐦 Flutter Installation and version compatibility
🎯 Dart SDK Installation and version compatibility
🔧 Melos Installation and version compatibility

📊 Status Indicators:

  • Success: Tool is installed and working properly
  • ⚠️ Partial: Tool is installed but has issues
  • Missing: Tool is not installed or not found
nonstop doctor output

🔄 update - Stay Current

Updates the NonStop CLI to the latest version automatically.

nonstop update

🚀 What it does:

  1. 🔍 Checks the current installed version
  2. 🌐 Compares with the latest version on pub.dev
  3. ⬆️ Updates to the latest version if needed

🔄 Common Workflows

🚀 Setting up a new Flutter project with mono-repo

# 1️⃣ Check if your environment is properly set up
nonstop doctor

# 2️⃣ Create a new Flutter project with mono-repo structure
nonstop create youtube

# 3️⃣ Navigate to the project directory
cd youtube

# 🎉 You're ready to code!

📦 Adding a new package to an existing mono-repo

# 1️⃣ Navigate to your mono-repo root
cd youtube/packages

# 2️⃣ Create a new package
nonstop create core --template package

# 3️⃣ Update dependencies
melos bootstrap

📱 Adding a new app to an existing mono-repo

# 1️⃣ Create a new app in the apps directory
nonstop create youtube_studio --template app -o ./apps

# 2️⃣ Update dependencies
melos bootstrap

🛠️ Troubleshooting

❌ CLI not found after installation

Ensure the Dart SDK bin directory is in your PATH. Follow the instructions at: 📖 Running a script from your PATH

⚠️ Doctor command shows issues

If the doctor command shows issues with your development environment:

  1. 🐦 Ensure Flutter is installed correctly: Flutter Installation
  2. 🎯 Verify your Dart SDK installation: dart --version
  3. 🔧 Install Melos if missing: dart pub global activate melos

🚫 Template generation fails

If template generation fails:

  1. 🔐 Ensure you have proper permissions in the target directory
  2. ✅ Check if the project name is valid (should follow Dart package naming rules)
  3. 🔍 Run with the --verbose flag to see detailed logs: nonstop create my_project --verbose

⚙️ Global Options

Option Alias 📝 Description
--version -v 📊 Print the current version of the CLI
--verbose 🔍 Enable verbose logging including all shell commands
--help -h ❓ Display help information for commands

🌟 Connect with NonStop

Stay connected and get the latest updates!

LinkedIn X.com Instagram YouTube Email


🔗 Command Aliases

Choose your preferred way to invoke the CLI:

nonstop create my_app    # Full command
ns create my_app         # Short alias
nsio create my_app       # Alternative alias
Alias 📝 Description
nonstop 🎯 Full command name
ns ⚡ Quick shorthand
nsio 🚀 Alternative short form

╔══════════════════════════════════════════════════════════════╗
║                                                              ║
║  🚀 Built with ❤️ by Ajay Kumar                              ║
║                                                              ║
║  ⭐ Star us on GitHub if this helped you!                    ║
║                                                              ║
╚══════════════════════════════════════════════════════════════╝

🎉 Founded by Ajay Kumar 🎉