A Very Good Command Line Interface for Dart created by Very Good Ventures πŸ¦„

Overview

Very Good CLI

Very Good Ventures

Developed with πŸ’™ by Very Good Ventures πŸ¦„

ci coverage pub package style: very good analysis License: MIT


A Very Good Command Line Interface for Dart.

Installing

$ dart pub global activate very_good_cli

Commands

$ very_good create

Create a new very good flutter starter application in seconds based on Very Good Core.

Very Good Create

What's Included? πŸ“¦

Out of the box, Very Good Core includes:

βœ…   Cross Platform Support - Built-in support for iOS, Android, and Web (Desktop coming soon!)

βœ…   Build Flavors - Multiple flavor support for development, staging, and production

βœ…   Internationalization Support - Internationalization support using synthetic code generation to streamline the development process

βœ…   Sound Null-Safety - No more null-dereference exceptions at runtime. Develop with a sound, static type system.

βœ…   Bloc - Integrated bloc architecture for scalable, testable code which offers a clear separation between business logic and presentation

βœ…   Testing - Unit and Widget Tests with 100% line coverage (Integration Tests coming soon!)

βœ…   Logging - Built-in, extensible logging to capture uncaught Flutter and Dart Exceptions

βœ…   Very Good Analysis - Strict Lint Rules which are used at Very Good Ventures

βœ…   Continuous Integration - Lint, format, test, and enforce code coverage using GitHub Actions

* Learn more at Flutter Starter App: Very Good Core & CLI


$ very_good --help

See the complete list of commands and usage information.

πŸ¦„ A Very Good Command Line Interface

Usage: very_good <command> [arguments]

Global options:
-h, --help           Print this usage information.
    --version        Print the current version.
    --analytics      Toggle anonymous usage statistics.

          [false]    Disable anonymous usage statistics
          [true]     Enable anonymous usage statistics

Available commands:
  create   very_good create <output directory>
           Creates a new very good flutter project in the specified directory.

Run "very_good help <command>" for more information about a command.
Comments
  • fix: org name with 2 parts in identifier Ex. com.example

    fix: org name with 2 parts in identifier Ex. com.example

    Description org-name is not accepted when given a single identifier

    Steps To Reproduce For creating app with org name com.example we use very_good create --org-name com.example example but this creates an app with applicationId com.example.example which actually should have been com.example

    If very_good create --org-name com example is used, it is not accepted as the identifier required 2 parts between .

    flutter create --org com example creates the valid required applicationId com.example

    Expected Behavior very_good create --org-name com example should create an app with applicationId com.example

    enhancement 
    opened by toufeeqahamedns 16
  • very_good command not work

    very_good command not work

    Successfully install

    PS C:\Users\lkrja\AndroidStudioProjects> dart pub global activate very_good_cli
    Package very_good_cli is currently active at version 0.3.0.
    Resolving dependencies...
    The package very_good_cli is already activated at newest available version.
    To recompile executables, first run `global decativate very_good_cli`.
    Installed executable very_good.
    Warning: Pub installs executables into C:\Users\lkrja\AppData\Local\Pub\Cache\bin, which is not on your path.
    You can fix that by adding that directory to your system's "Path" environment variable.
    A web search for "configure windows path" will show you how.
    Activated very_good_cli 0.3.0.
    

    Show error

    PS C:\Users\lkrja\AndroidStudioProjects> very_good
    very_good : The term 'very_good' is not recognized as the name of a cmdlet, function, script file, or operable
    program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:1
    + very_good
    + ~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (very_good:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    
    PS C:\Users\lkrja\AndroidStudioProjects>
    

    Flutter doctor

    Doctor summary (to see all details, run flutter doctor -v):
    [βœ“] Flutter (Channel stable, 2.2.2, on Microsoft Windows [Version 10.0.22000.71], locale en-IN)
    [βœ“] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    [βœ“] Chrome - develop for the web
    [βœ“] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.3)
    [βœ“] Android Studio (version 4.1.0)
    [βœ“] VS Code (version 1.58.2)
    [βœ“] Connected device (3 available)
    
    β€’ No issues found!
    
    bug 
    opened by lkrjangid1 16
  • fix: very_good test Invalid argument(s): Groups may not be async.

    fix: very_good test Invalid argument(s): Groups may not be async.

    Description when run very_good test gives following error

    βœ“ Optimizing tests (2.1s) Failed to load "/Users/dipak/Desktop/projects/alliwant/test/.test_runner.dart": Invalid argument(s): Groups may not be async. package:test_api Declarer.group package:flutter_test/src/test_compat.dart 189:13 group test/.test_runner.dart 30:3 main

    loading /Users/dipak/Desktop/projects/alliwant/test/.test_runner.dart /Users/dipak/Desktop/projects/alliwant/test/.test_runner.dart (FAILED) 00:13 -1: Some tests failed. Failing Tests:

    • [ERROR] test/.test_runner.dart:30:3

    Steps To Reproduce run very_good test

    Expected Behavior should run tests

    Screenshots Screenshot 2022-11-15 at 9 06 20 PM

    Additional Context flutter test run successfully

    bug 
    opened by dipakp2726 10
  • feat: Add Generator Icons in Android, IOS, and Web

    feat: Add Generator Icons in Android, IOS, and Web

    Description

    very_good_cli is very helpful for me when creating new Project Apps. But when you want to change the icon it is very complicated, unlike https://pub.dev/packages/flutter_launcher_icons.

    Expected Behavior

    Create a tool to generate automatic icons similar to https://pub.dev/packages/flutter_launcher_icons.

    Maybe you can customize it according to this very_good_cli

    documentation enhancement 
    opened by wisnuwiry 10
  • very_good command fail to run

    very_good command fail to run

    I'm on Ubuntu 20.04.

    When I run very_good from terminal I get: /home/michal/.pub-cache/bin/very_good: 8: dart: not found

    But if I run: dart "/home/michal/.pub-cache/global_packages/very_good_cli/bin/very_good.dart-2.13.0-30.0.dev.snapshot" I get proper output about using A Very Good Command Line Interface

    Not sure what I'm doing wrong.

    bug 
    opened by mivoligo 10
  • fix: Can't replace very_good_cli generated app icon

    fix: Can't replace very_good_cli generated app icon

    I have generated my Flutter app using very_good_cli.

    I'm using flutter_launcher_icon to change the default app icon.

    I make sure that the old icon does not exist in the project, but still, the very_good_cli icon appears after reinstalling the app.

    [enter image description here]3

    Where does it get this icon if it does not exist in the project?

    What are the steps I need to take to change the app's icon that was generated by very_good_cli?

    bug 
    opened by CartmanGD 9
  • Instance of 'HookRunException' when creating new project fix:

    Instance of 'HookRunException' when creating new project fix:

    Description I'm trying to use very_good create myproject and it generates an unhandled exception.

    Steps To Reproduce

    1. type very_good create myproject

    Expected Behavior It creates the project

    Screenshots Added screenshot error

    Additional Context I just started using mason, probably incorrectly, and it looks like I may have broke the vgv stuff. Any ideas? I tried to deactivate/reactivate and still no luck.

    question 
    opened by wednesdei 9
  • fix: Trying to update from 0.7.6 to 0.7.9 throw a kernel binary error

    fix: Trying to update from 0.7.6 to 0.7.9 throw a kernel binary error

    Description Before the new 0.7.9 version I was updating the very_good_cli using dart pub global activate very_good_cli. But now when I try to run that command I see the dependencies list but the cli keeps in 0.7.6.

    Here is the detail that I see in the terminal:

    + archive 3.3.0
    + args 2.3.1
    + async 2.9.0
    + checked_yaml 2.0.
    + collection 1.16.0
    + crypto 3.0.2
    + file 6.1.2
    + glob 2.1.0
    + http 0.13.4
    + http_parser 4.0.1
    + json_annotation 4.5.0
    + lcov_parser 0.1.2
    + mason 0.1.0-dev.17 (0.1.0-dev.26 available)
    + mason_logger 0.1.0-dev.8 (0.1.0-dev.13 available)
    + meta 1.8.0
    + mustache_template 2.0.0
    + path 1.8.2
    + platform 3.1.0
    + process 4.2.4
    + pub_semver 2.1.1
    + pub_updater 0.2.2
    + pubspec_parse 1.2.0
    + recase 4.0.0
    + source_span 1.9.0
    + stack_trace 1.10.0
    + string_scanner 1.1.1
    + term_glyph 1.2.1
    + typed_data 1.3.1
    + universal_io 2.0.4
    + usage 4.1.0
    + very_good_analysis 2.4.0 (3.0.1 available)
    + very_good_cli 0.7.6 (0.7.9 available)
    + very_good_test_runner 0.1.2
    + yaml 3.1.1
    Building package executables... (1.0s)
    Built very_good_cli:very_good.
    Installed executable very_good.
    Activated very_good_cli 0.7.6.
    

    If I try to run flutter pub global activate very_good_cli as an alternative the process runs successfully.

    Detail here:

    + archive 3.3.0
    + args 2.3.1
    + async 2.9.0
    + checked_yaml 2.0.1
    + collection 1.16.0
    + crypto 3.0.2
    + file 6.1.2
    + glob 2.1.0
    + http 0.13.4
    + http_parser 4.0.1
    + json_annotation 4.5.0
    + lcov_parser 0.1.2
    + mason 0.1.0-dev.26
    + mason_logger 0.1.0-dev.13
    + meta 1.8.0
    + mustache_template 2.0.0
    + path 1.8.2
    + platform 3.1.0
    + process 4.2.4
    + pub_semver 2.1.1
    + pub_updater 0.2.2
    + pubspec_parse 1.2.0
    + recase 4.0.0
    + source_span 1.9.0
    + stack_trace 1.10.0
    + string_scanner 1.1.1
    + term_glyph 1.2.1
    + typed_data 1.3.1
    + universal_io 2.0.4
    + usage 4.1.0
    + very_good_analysis 3.0.1
    + very_good_cli 0.7.9
    + very_good_test_runner 0.1.2
    + yaml 3.1.1
    Building package executables...
    Built very_good_cli:very_good.
    Installed executable very_good.
    Activated very_good_cli 0.7.9.
    

    Then when I try to run for example very_good --help I see this error:

    Can't load Kernel binary: Invalid kernel binary format version. very_good_cli as globally activated doesn't support Dart 2.16.1, try: dart pub global activate very_good_cli

    Steps To Reproduce

    1. You need to be at version 0.7.6 (always updating using dart pub global activate very_good_cli)
    2. When trying to update to 0.7.9 the cli keeps in 0.7.6 version.
    3. Run flutter pub global activate very_good_cli. (This will set the version to 0.7.9)
    4. Run very_good --help
    question 
    opened by gonzalogauto 9
  • fix: Collect usage statistic showing twice

    fix: Collect usage statistic showing twice

    Description When running the very_good_cli for the first time it asks if it can collect usage statistics. If you say yes then it will output the exact message once more.

    Steps To Reproduce

    1. Install the very_good_cli from clean (tested it with v0.6.0)
    2. Run a very_good create command
    3. When asked if it can collect data say yes.
    4. It outputs the same message again and continues.

    Expected Behavior That it will only show the message asking to collect data once, before answering and not again after answering the question.

    Screenshots image

    Additional Context I did run it on dart version 2.15.1 by accident but I was able to reproduce it after updating and clean installing the tool.

    • Terminal: bash v5.1.8
    • OS: pop-os 21.10
    bug 
    opened by wolfenrain 9
  • feat: add support for `test` command

    feat: add support for `test` command

    As a developer, I want to be able to easily run tests and collect coverage for my projects so that I can identify failing tests and gaps in code coverage.

    # run tests for current project (flutter/dart)
    very_good test
    
    # run tests recursively
    very_good test --recursive
    
    # run tests for specific project
    very_good test ./path/to/my/project
    
    # run tests with coverage generates coverage report at coverage/lcov.info
    very_good test --coverage
    
    # run tests with coverage generates coverage report at custom/path/lcov.info
    very_good test --coverage --coverage-path ./custom/path
    
    # run tests with coverage and exclude files from coverage
    very_good test --coverage --coverage-exclude "*.g.dart"
    
    # run tests with coverage and exit(1) if coverage is below min coverage threshold
    very_good test --coverage --min-coverage 100
    
    # run tests with coverage and output coverage results as html report
    very_good test --coverage --report html
    
    # run tests with coverage and output coverage results as json output
    very_good test --coverage --report json
    
    # run tests without running "pub get" first
    very_good test --no-pub
    
    # run tests in a random order
    very_good test --test-randomize-ordering-seed random
    
    
    enhancement 
    opened by felangel 9
  • feat: Run scripts from pubspec.yaml?

    feat: Run scripts from pubspec.yaml?

    Tools like derry let you add a scripts to your pubspec.yaml file, like so:

    scripts:
      build: flutter pub run build_runner build --delete-conflicting-outputs
    

    And, if you've done dart pub global activate derry you can run derry build in your project's folder to run the above command. I think being able to store scripts inside the pubspec.yaml file is a convenient and easily discoverable way for newcomers to see what commands are available, kind of like the "scripts" section of a package.json, but that might just be the web developer in me.

    I am proposing that we take the script commands in the readme.md that's generated for each project and add them to the pubspec.yaml (or another file or scripts folder perhaps?) and encourage the use of a script runner (or build one into very good cli) so that script commands are not just discoverable, but easily accessible. It's a minor thing, but it crossed my mind again so here's a ticket.

    enhancement wontfix 
    opened by definitelyokay 9
  • fix(create-flutter-plugin): directory listing failed

    fix(create-flutter-plugin): directory listing failed

    Description The command I ran: very_good create ncnn --org-name=com.sportsvisio --desc="Native bridge to ncnn, a high-performance neural network inference framework optimized for the mobile platform" --template=flutter_plugin --web=false --linux=false --macos=false --windows=false --publishable

    The output:

    FileSystemException: Directory listing failed, path = 'C:\Users\Tomas\AppData\Local\Mason\Cache\bundled\very_good_flutter_plugin_0.2.1_5b74e6eea4904f8b209d5e5b0789ab77cb28c29b\__brick__\{{project_name.snakeCase()}}\{{#android}}{{project_name.snakeCase()}}_android{{\android}}\android\src\main\kotlin\{{org_name.pathCase()}}\*' (OS Error: The system cannot find the path specified.
    , errno = 3)
    #0      _Directory._fillWithDirectoryListing (dart:io-patch/directory_patch.dart:42:24)
    #1      _Directory.listSync (dart:io/directory_impl.dart:243:5)
    #2      MasonGenerator._fromBrick (package:mason/src/generator.dart:93:14)
    #3      MasonGenerator.fromBundle (package:mason/src/generator.dart:72:27)
    <asynchronous suspension>
    #4      CreateCommand.run (package:very_good_cli/src/commands/create/create.dart:165:23)
    <asynchronous suspension>
    #5      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
    <asynchronous suspension>
    #6      VeryGoodCommandRunner.runCommand (package:very_good_cli/src/command_runner.dart:144:18)
    <asynchronous suspension>
    #7      VeryGoodCommandRunner.run (package:very_good_cli/src/command_runner.dart:91:14)
    <asynchronous suspension>
    #8      main (file:///C:/Users/Tomas/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/very_good_cli-0.9.0/bin/very_good.dart:5:24)
    <asynchronous suspension>
    ⠏ Bootstrapping... (0.7s)Unhandled exception:
    FileSystemException: Directory listing failed, path = 'C:\Users\Tomas\AppData\Local\Mason\Cache\bundled\very_good_flutter_plugin_0.2.1_5b74e6eea4904f8b209d5e5b0789ab77cb28c29b\__brick__\{{project_name.snakeCase()}}\{{#android}}{{project_name.snakeCase()}}_android{{\android}}\android\src\main\kotlin\{{org_name.pathCase()}}\*' (OS Error: The system cannot find the path specified.
    , errno = 3)
    #0      _Directory._fillWithDirectoryListing (dart:io-patch/directory_patch.dart:42:24)
    #1      _Directory.listSync (dart:io/directory_impl.dart:243:5)
    #2      MasonGenerator._fromBrick (package:mason/src/generator.dart:93:14)
    #3      MasonGenerator.fromBundle (package:mason/src/generator.dart:72:27)
    <asynchronous suspension>
    #4      CreateCommand.run (package:very_good_cli/src/commands/create/create.dart:165:23)
    <asynchronous suspension>
    #5      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
    <asynchronous suspension>
    #6      VeryGoodCommandRunner.runCommand (package:very_good_cli/src/command_runner.dart:144:18)
    <asynchronous suspension>
    #7      VeryGoodCommandRunner.run (package:very_good_cli/src/command_runner.dart:91:14)
    <asynchronous suspension>
    #8      main (file:///C:/Users/Tomas/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/very_good_cli-0.9.0/bin/very_good.dart:5:24)
    <asynchronous suspension>
    

    Rollback to v0.8.5 fixes the issue, so it must've been added in v0.8.6, as it also breaks there. It looks like what breaks everything is the update of mason in #579.

    bug 
    opened by tomassasovsky 0
  • chore(deps): bump mason from 0.1.0-dev.39 to 0.1.0-dev.40

    chore(deps): bump mason from 0.1.0-dev.39 to 0.1.0-dev.40

    Bumps mason from 0.1.0-dev.39 to 0.1.0-dev.40.

    Release notes

    Sourced from mason's releases.

    mason_cli-v0.1.0-dev.40

    • feat: add hooks/build to .gitignore when generating new brick
    • deps: upgrade to mason: ^0.1.0-dev.39

    mason-v0.1.0-dev.40

    • feat: export StringCaseExtensions
    Commits
    • 9df867f chore(mason): v0.1.0-dev.40 (#680)
    • 86378e4 feat(mason): export StringCaseExtensions (#679)
    • 9a37e37 feat(mason_cli): search separator length uses terminalColumns (#678)
    • 05baddb feat(mason_cli): improve error when running add in an uninitialized workspace...
    • a355896 chore(deps): bump yaml from 2.1.3 to 2.2.0 in /extensions/vscode (#675)
    • b2b4358 chore(deps-dev): bump @​typescript-eslint/parser in /extensions/vscode (#673)
    • e4cf0d6 chore(deps-dev): bump @​typescript-eslint/eslint-plugin (#672)
    • ddca00b chore(deps-dev): bump eslint from 8.29.0 to 8.30.0 in /extensions/vscode (#670)
    • 1b71c52 chore(deps-dev): bump @​types/node in /extensions/vscode (#668)
    • 72da3b3 chore(deps-dev): bump @​typescript-eslint/eslint-plugin (#665)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    external dependency dart 
    opened by dependabot[bot] 0
  • feat: refactor flutter create with sub commands

    feat: refactor flutter create with sub commands

    Description

    feat: refactor flutter create with sub commands

    Add a common superclass for create sub commands, preserve legacy behavior with a deprecated message

    Type of Change

    • [x] ✨ New feature (non-breaking change which adds functionality)
    • [ ] πŸ› οΈ Bug fix (non-breaking change which fixes an issue)
    • [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
    • [ ] 🧹 Code refactor
    • [ ] βœ… Build configuration change
    • [ ] πŸ“ Documentation
    • [ ] πŸ—‘οΈ Chore
    opened by renancaraujo 0
  • Not optimized code in cli.dart

    Not optimized code in cli.dart

    https://github.com/VeryGoodOpenSource/very_good_cli/blob/fcd5750cbd18b891ed3436ce02169318d92b10a3/lib/src/cli/cli.dart#L143

    Test on 285675 files

    bool _isPubspec(FileSystemEntity entity) {
      final segments = p.split(entity.path).toSet();
      if (segments.intersection(_ignoredDirectories).isNotEmpty) return false;
      if (entity is! File) return false;
      return p.basename(entity.path) == 'pubspec.yaml';
    }
    

    Performance result: 1414 milliseconds

    //change check order

    bool _isPubspec(FileSystemEntity entity) {
      if (entity is! File) return false;
      if(p.basename(entity.path) != 'pubspec.yaml') return false;
      final segments = p.split(entity.path).toSet();
      return segments.intersection(_ignoredDirectories).isEmpty;
    }
    

    Performance result: 559 milliseconds

    // solution 1

    RegExp _pathSeparatorRegex = RegExp(r'[\\/]');
    bool _isPubspec(FileSystemEntity entity) =>
        entity is File &&
        entity.path.endsWith('pubspec.yaml')&&
        !entity.path.split(_pathSeparatorRegex).any(_ignoredDirectories.contains);
    

    Performance result: 24 milliseconds

    // solution 2

    RegExp _pathSeparatorRegex = RegExp(r'[\\/]');
    bool _isPubspec(FileSystemEntity entity) =>
        entity is File &&
        (entity.path.endsWith('pubspec.yaml') ||
            entity.path.endsWith('pubspec.yml')) &&
        !entity.path.split(_pathSeparatorRegex).any(_ignoredDirectories.contains);
    

    Performance result: 27 milliseconds

    //solution 3

    RegExp _pathSeparatorRegex = RegExp(r'[\\/]');
    RegExp _pubspecRegex = RegExp(r'pubspec\.ya?ml$');
    bool _isPubspec(FileSystemEntity entity) =>
        entity is File &&
            entity.path.contains(_pubspecRegex)&&
            !entity.path.split(_pathSeparatorRegex).any(_ignoredDirectories.contains);
    

    Performance result: 102 milliseconds

    I think it's better to use solution 1 or solution 2, the execution result will be the same.

    enhancement 
    opened by crifurch 0
  • feat(create)! subcommand: Very Good Flame Game Usage

    feat(create)! subcommand: Very Good Flame Game Usage

    Split the create command to use this subcommand:

    # Very Good Flame Game Usage
    very_good create flame_game <project-name> <options>
    
    options:
        --org-name
        --description
    
    enhancement 
    opened by BeatriceMitchell 0
  • feat(create)! subcommand: Very Good Docs Site Usage

    feat(create)! subcommand: Very Good Docs Site Usage

    Split the create command to use this subcommand:

    # Very Good Docs Site Usage
    very_good create docs_site <project-name> <options>
    
    options:
        --org-name
        --description
    
    enhancement 
    opened by BeatriceMitchell 0
Releases(v0.9.1)
Owner
Very Good Open Source
Open Source Code from Very Good Ventures (@VGVentures)
Very Good Open Source
A command-line interface for Ultroid

UltroidCli Welcome to the UltroidCli project built for The Ultroid. This Project is actively maintained by Akash Pattnaik. All kinds of contributions

AkashPattanaik 38 Nov 13, 2022
Command-line Interface (CLI) for any_icon_maker.

makeanyicon Command-line Interface (CLI) for any_icon_maker. makeanyicon Quick Start Installation Usage License Quick Start Installation dart pub glob

MakeAnyIcon 6 Nov 4, 2022
A simple shortcut, command line interface (CLI) for a lazy (a.k.a effective) Flutter developer in order to increase productivity and happiness.

f A simple shortcut, command line interface (CLI) for a lazy (a.k.a effective) Flutter developer in order to increase productivity and happiness. Inst

Salman S 27 Nov 22, 2022
Uproot(uprt) is a multi-platform (Windows, MacOs, and Linux) command line utility written in Dart to convert a router's DHCP IP Reservations between routers

UPROOT Uproot(uprt) is a multi-platform (Windows, MacOs, and Linux) command line utility written in Dart to convert a router's DHCP IP Reservations be

GeekVisit 73 Jan 1, 2023
Arissounddart - a Command-line SoundSprite generator for Dart

SoundDart SoundDart is a Command-line SoundSprite generator for Dart. It require

Behruz Hurramov 1 Jan 9, 2022
Command-line tool to provide null-safety percentage info of a project. Track your migration progress on mixed-version programs that execute with unsound null safety.

null_safety_percentage Command-line tool to provide null-safety percentage info of a project. Track your migration progress on mixed-version programs

dartside.dev 8 Mar 27, 2022
Easy to use cross-platform regex replace command line util

replace Easy to use cross-platform regex replace command line util. Can't remember the arguments to the find command? or how xargs works? Maybe sed is

Rob Becker 3 Feb 1, 2022
A simple command-line application to generate simple folder and file structure for Flutter Applications

Kanza_cli is a simple command line tool to generate folder and file structure for your Flutter apps. To use it, you should do the followings: 1. First

Kanan Yusubov 9 Dec 16, 2022
A tool to easily install the Android SDK command-line and platform tools.

gibadb A tool to easily install the Android SDK command-line and platform tools. For developers: This README describes the CLI tool that ships with th

null 3 Sep 22, 2022
A Flutter curl-command generator for Dio

curl_logger_dio_interceptor A Flutter curl-command generator for Dio. Easily test your Flutter-made requests in your favorite terminal or even in Post

null 7 Nov 17, 2022
Scribble is a lightweight library for freehand drawing in Flutter supporting pressure, variable line width and more!

Scribble Scribble is a lightweight library for freehand drawing in Flutter supporting pressure, variable line width and more! A

Tim Created It. 73 Dec 16, 2022
A very basic prototype of macros using build_runner

Description This is a basic prototype for 3 phase macros using package:build. The general idea is that macros run in 3 different phases, and each phas

Jacob MacDonald 64 Dec 14, 2022
Pensil Teaching App is an education platform created in flutter.

Pensil Teaching App Pensil Teach App is an education platform created specifically for the tutors of the digital age. Pensil Teaching app reduce gap b

Pensil Inc 45 Dec 1, 2022
Simple generative arts created using Flutter

Flutter Generative Art Try it out on DartPad Simple Generative Art created using Flutter. Watch the full video on YouTube to know how to build it from

Souvik Biswas 11 Aug 11, 2022
Flutter implementation of Clean Architecture, inspired on the guidelines created by Uncle Bob.

clean_framework Flutter implementation of Clean Architecture, inspired on the guidelines created by Uncle Bob. see http://www.amazon.com/dp/0134494164

Acme Software 21 Dec 13, 2022
A property search app created using flutter

flutter_property_finder A property listings app built using Flutter sdk. Tutorial Link Watch as i guide you step by step on how to build this applicat

Emmanuel Okiche 68 Dec 13, 2022
A Dart build script that downloads the Protobuf compiler and Dart plugin to streamline .proto to .dart compilation.

A Dart build script that downloads the Protobuf compiler and Dart plugin to streamline .proto to .dart compilation.

Julien Scholz 10 Oct 26, 2022
Dart wrapper via dart:ffi for https://github.com/libusb/libusb

libusb Dart wrapper via dart:ffi for https://github.com/libusb/libusb Environment Windows(10) macOS Linux(Ubuntu 18.04 LTS) Usage Checkout example Fea

Woodemi Co., Ltd 28 Dec 20, 2022
Extensible Dart interpreter for Dart with full interop

dart_eval is an extensible interpreter for the Dart language, written in Dart. It's powered under the hood by the Dart analyzer, so it achieves 100% c

Ethan 169 Dec 28, 2022