devloops-cli
v1.1.1
Published
DevLoops is a Flutter developer CLI for project setup, assets, Firebase, notifications, build checks, live debugging, and APK handoff.
Maintainers
Readme
DevLoops CLI
DevLoops is a Flutter helper CLI for builders who want to move faster without memorizing every setup step. It can create a clean Flutter project, add screens, manage assets, configure Firebase, setup push notifications, check builds, and create APK handoff pages.
Install
npm install -g devloops-cliCheck it installed:
devloops --helpUse most commands from inside a Flutter project:
cd your_flutter_app
devloops build-checkRequirements
- Node.js 18 or newer
- Flutter installed
- macOS is recommended for iOS/Firebase workflows
- Firebase CLI for Firebase features:
npm install -g firebase-tools
firebase loginQuick Start
Create a new Flutter app:
devloops create-flutter my_app
cd my_app
flutter runCheck an existing Flutter project:
devloops build-checkOpen the live debugging dashboard:
devloops live-dashboardBuild an APK handoff page:
devloops shipCommands
devloops create-flutter <appName>
Creates a clean Flutter starter app with GetX, MVC-style modules, dark starter UI, routes, services, constants, theme, and useful folders.
devloops create-flutter booking_appGenerated structure includes:
lib/app/modules/<module>/models
lib/app/modules/<module>/views
lib/app/modules/<module>/controllers
lib/app/routes
lib/core/services
lib/core/widgets
lib/core/themedevloops add-screen <screenName>
Adds a new screen/module with view, controller, model, and route.
devloops add-screen profiledevloops add-service
Adds a Dio API service for network calls.
devloops add-servicedevloops add-widget <widgetName>
Creates a reusable widget inside lib/core/widgets.
devloops add-widget primary_buttondevloops add-asset
Imports image/icon/animation assets, updates pubspec.yaml, creates folders if needed, avoids duplicate names, and generates Dart constants.
devloops add-assetYou can also pass files directly:
devloops add-asset ~/Downloads/logo.pngdevloops app-icon
Generates Android and iOS app icons using icons_launcher.
devloops app-icondevloops permissions
Scans existing Android/iOS permissions, shows what already exists, then asks what to add or update.
devloops permissionsUseful for camera, photos, location, microphone, contacts, Bluetooth, and notifications.
devloops connect-firebase
Guides Firebase setup with FlutterFire.
devloops connect-firebaseIt helps with:
- Android package name
- iOS bundle id
firebase_core- FlutterFire CLI
lib/firebase_options.dartFirebase.initializeApp
Before running, make sure Firebase CLI is installed and logged in:
npm install -g firebase-tools
firebase logindevloops notifications
Sets up Firebase Cloud Messaging and local foreground notifications.
devloops notificationsRun this after:
devloops connect-firebaseIt adds:
firebase_corefirebase_messagingflutter_local_notificationspermission_handlerlib/core/services/notification_service.dart- Android
POST_NOTIFICATIONS - Android notification channel metadata
- Android core library desugaring
main.dartnotification initialization
Test flow:
flutter runThen copy the token printed after:
DEVLOOPS_FCM_TOKENOpen Firebase Console > Cloud Messaging > Send test message, paste the token, and send.
iOS note: use a real iPhone. If delivery does not arrive, enable Push Notifications and Background Modes > Remote notifications in Xcode.
devloops live-dashboard
Opens a browser dashboard for Flutter logs, errors, routes, API usage, and SharedPreferences values.
devloops live-dashboardAliases:
devloops live-dash
devloops live-dashoarddevloops install-debug-tools
Installs the debug helper used by the live dashboard to show SharedPreferences values.
Usually you do not need to run this manually because live-dashboard handles setup.
devloops install-debug-toolsdevloops build-check
Checks common Flutter project issues.
devloops build-checkChecks include:
- missing assets
- missing route imports
- broken asset references
- duplicate constants
- app structure
- Flutter analyzer
Skip analyzer:
devloops build-check --no-analyzedevloops ship
Builds an APK and creates a shareable local handoff page for QA, PMs, clients, or teammates.
devloops shipServe it on your local network:
devloops ship --servedevloops setup-github
Pushes the project to an existing GitHub repository URL.
devloops setup-githubdevloops explain
Explains the current Flutter project structure.
devloops explainWith AI summary, set:
export OPENAI_API_KEY="your_key"
devloops explaindevloops onboard
Generates an onboarding guide for a Flutter project, useful when joining a codebase or handing it to another developer.
devloops onboarddevloops crash-intelligence
Analyzes Flutter/backend error logs with project-aware AI debugging.
devloops crash-intelligenceOr from a file:
devloops crash-intelligence --file crash.txtRequires:
export OPENAI_API_KEY="your_key"Common Workflows
Start A New Flutter Project
devloops create-flutter my_app
cd my_app
devloops connect-firebase
devloops notifications
flutter runImprove An Existing Project
devloops build-check
devloops permissions
devloops add-asset
devloops live-dashboardPrepare A Build For Someone Else
devloops build-check
devloops shipSetup Firebase Push Notifications
devloops connect-firebase
devloops notifications
flutter runThen send a test notification from Firebase Console using the printed DEVLOOPS_FCM_TOKEN.
Updating DevLoops
Users can update to the latest version with:
npm install -g devloops-cli@latestTroubleshooting
If devloops is not found:
npm install -g devloops-cli
devloops --helpIf macOS says zsh: killed:
xattr -d com.apple.provenance "$(which devloops)"If Firebase commands fail:
npm install -g firebase-tools
firebase login
flutterfire --versionIf notifications do not arrive:
- Use a real device.
- Make sure Firebase is connected.
- Check that
DEVLOOPS_FCM_TOKENprints in console. - On Android 13+, allow notification permission.
- On iOS, enable Push Notifications in Xcode.
Local Development
From this repo:
npm install
npm install -g .
devloops --helpTest package contents:
npm test
npm pack --dry-runPublish
npm version patch
npm publish --access public --otp=YOUR_CODECreator
DevLoops is built and maintained by Hammas Ahmed.
- GitHub: hammasahmed1003
- LinkedIn: Hammas Ahmed
- Email: [email protected]
License
MIT
