nylo_installer 1.8.0
nylo_installer: ^1.8.0 copied to clipboard
CLI tool to create new Nylo Flutter projects. Quickly scaffold production-ready Flutter applications.
Nylo Installer #
A CLI tool to scaffold new Nylo Flutter projects.
Installation #
dart pub global activate nylo_installer
Usage #
nylo <command> [arguments]
Commands:
new <project_name> Create a new Nylo project
init Set up the Metro CLI alias
clean Run flutter clean and flutter pub get
--ios Deep clean iOS (remove Pods, re-run pod install)
--android Deep clean Android (run gradlew clean)
--all Deep clean both iOS and Android
metro <command> Run a metro command (e.g. make:model)
ios:pod-refresh Remove iOS pods and run pod install --repo-update
locale:find-untranslated Find hardcoded strings not wrapped in .tr()/trans()
--format=<md|json> Report format; --stdout to print; --ci to fail on findings
locale:check-missing-keys Compare lang/*.json against a baseline locale
--file=<name> Baseline locale (default: en.json); --stdout; --ci; --strict
test Format and run Flutter tests
--no-format Skip formatting before running tests
--filter=<pattern> Filter tests by name
--coverage Collect code coverage
--path=<dir> Test directory path (default: test)
self-update Update nylo to the latest version
Options:
-h, --help Show usage information
-v, --version Show version
Commands #
nylo new <project_name> #
Create a new Nylo project:
nylo new my_app
This will:
- Clone the Nylo template
- Configure your project name across all platform files (Android, iOS, pubspec.yaml, .env)
- Install Flutter dependencies
Project names are automatically converted to snake_case.
nylo init #
Set up the Metro CLI alias for an existing Nylo project:
nylo init
This configures the metro command in your shell so you can use it from anywhere within your project.
nylo clean #
Clean your Flutter project and reinstall dependencies:
nylo clean
This runs:
flutter clean- Removes build artifactsflutter pub get- Reinstalls dependencies
Use platform flags for deep cleaning:
nylo clean --ios # Deep clean iOS (removes Pods, .symlinks, Podfile.lock, re-runs pod install)
nylo clean --android # Deep clean Android (runs gradlew clean)
nylo clean --all # Deep clean both iOS and Android
nylo test #
Format and run Flutter tests with pretty output:
nylo test
Options:
nylo test --no-format # Skip formatting before running tests
nylo test --filter "login" # Filter tests by name
nylo test --coverage # Collect code coverage
nylo test --path integration_test # Specify test directory
nylo test --filter "auth" --coverage
nylo metro <command> #
Run metro commands without needing the metro alias:
nylo metro make:model User
nylo metro make:page HomePage
nylo metro make:controller HomeController
This runs dart run nylo_framework:main <command> behind the scenes.
nylo ios:pod-refresh #
Refresh CocoaPods dependencies for an iOS project:
nylo ios:pod-refresh
This runs:
- Removes
ios/Pods,ios/.symlinks, andios/Podfile.lock - Runs
pod install --repo-updatein theios/directory
macOS-only. Useful when pods become stale or out of sync.
nylo locale:find-untranslated #
Scan your lib/resources/pages/ and lib/resources/widgets/ for hardcoded, user-facing strings that are not wrapped in Nylo's .tr() / trans() translation calls. To stay focused on real UI copy, only strings inside text widgets (Text, SelectableText, RichText, TextSpan) are reported — keys, route paths, and data-model values are ignored. Parsing happens via the analyzer AST, so "welcome".tr() is never a false positive:
nylo locale:find-untranslated # writes nylo-i18n-baseline.md
nylo locale:find-untranslated --stdout # print the report instead
nylo locale:find-untranslated --format json -o report.json
nylo locale:find-untranslated --ci # exit 1 if any finding exists
Add a // i18n-ignore comment above a line to suppress it. Defaults (scan globs, the text widgets to inspect, etc.) can be overridden with an optional nylo_i18n.yaml at your project root — e.g. add your own text widgets via text_widgets: (or string-bearing helpers via text_functions:).
nylo locale:check-missing-keys #
Compare every lang/*.json locale file against a baseline locale (default en.json) and report missing, empty, and extra keys per locale. Nested JSON is flattened to dot-notation (navigation.home), matching Nylo's key resolution:
nylo locale:check-missing-keys # writes nylo-i18n-missing-keys.md
nylo locale:check-missing-keys --stdout
nylo locale:check-missing-keys --file en.json --format txt
nylo locale:check-missing-keys --ci # exit 1 on missing/empty keys
nylo locale:check-missing-keys --ci --strict # also exit 1 on extra keys
By default, extra keys alone do not fail --ci; add --strict to enforce identical key sets, so locales with keys absent from the baseline also fail. Invalid JSON or a missing baseline produces a clean error and exit code 1.
nylo self-update #
Update nylo to the latest version from pub.dev:
nylo self-update
Metro CLI #
Once Metro is set up via nylo init, you can generate files for your Nylo project:
metro make:page HomePage
metro make:controller HomeController
metro make:model User
Requirements #
- Dart SDK >= 3.9.0
- Flutter
- Git
