NonStop
Digital Product Development Experts for Startups & Enterprises
🚀 NonStop CLI
⚡ Supercharge your Flutter development with mono-repo magic
🎯 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
🔄 update
- Stay Current
Updates the NonStop CLI to the latest version automatically.
nonstop update
🚀 What it does:
- 🔍 Checks the current installed version
- 🌐 Compares with the latest version on pub.dev
- ⬆️ 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:
- 🐦 Ensure Flutter is installed correctly: Flutter Installation
- 🎯 Verify your Dart SDK installation:
dart --version
- 🔧 Install Melos if missing:
dart pub global activate melos
🚫 Template generation fails
If template generation fails:
- 🔐 Ensure you have proper permissions in the target directory
- ✅ Check if the project name is valid (should follow Dart package naming rules)
- 🔍 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
🔗 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! ║
║ ║
╚══════════════════════════════════════════════════════════════╝
Libraries
- command_runner
- commands/commands
- commands/create/command
- commands/create/flutter_app_for_mono_repo_bundle
- commands/create/flutter_package_for_mono_repo_bundle
- commands/create/flutter_plugin_for_mono_repo_bundle
- commands/create/flutter_project_with_mono_repo_bundle
- commands/create/templates
- commands/doctor/command
- commands/doctor/src/doctor
- commands/doctor/src/utils/comand_version_validator
- commands/doctor/src/utils/doctor_validator
- commands/doctor/src/utils/user_messages
- commands/doctor/src/utils/utils
- commands/doctor/src/validators/dart_validator
- commands/doctor/src/validators/flutter_validator
- commands/doctor/src/validators/melos_validator
- commands/doctor/src/validators/validators
- commands/update/command
- nonstop_cli
- nonstop_cli
- template
- utils/customs
- utils/signature_extension
- utils/summary_extension
- utils/utils
- version