dartdosh 0.9.2 copy "dartdosh: ^0.9.2" to clipboard
dartdosh: ^0.9.2 copied to clipboard

Flutter build and release CLI. Bumps the version, names artifacts, and uploads to Firebase, Telegram, App Store and Google Play.

DartDosh #

pub package pub points likes license

Build and ship your Flutter app with one command. Bumps the version, names the file properly, and uploads it to Firebase, Telegram, or the store — so you stop doing it by hand.

Pure Dart. No Ruby, no fastlane, no Gemfile.

$ dartdosh build aab -p

✅ Build number updated: 41 → 42, Boss!
⚙️ Process: Build steps in progress, Boss...
[██████████████████████████████] 100% - [appbundle - production] - Ready!
🎉 App ready: appbundle (production), Boss!
✅ Build saved: ~/Desktop/dartdosh-builds/my_app/aab/prod_1.2.3_42.aab, Boss!
🚀 Uploading AAB to Google Play (production → production track), Boss...
✅ AAB successfully uploaded to Play Store (production track), Boss!
🎯 Process completed in 94.3 seconds. Saved your time, Boss! ⚡

That is one command doing five things: incrementing the build number, running the right flavored build, renaming the artifact to prod_1.2.3_42.aab, filing it under your output folder, and pushing it to the store.


Why not a shell script or fastlane? #

DartDosh fastlane
Runtime Dart — already on your machine Ruby + Gemfile + bundler
Setup dartdosh init writes the config for you Fastfile per platform, by hand
Flutter flavors First-class (-p, -s, -d) You wire it up
Version + file naming Automatic, consistent You script it
UI language English, Uzbek, Russian, Turkish English

Flutter is dropping Ruby and CocoaPods from new projects. A release toolchain that needs neither is one less thing to maintain.


Install #

dart pub global activate dartdosh

If the command isn't found: export PATH="$PATH:$HOME/.pub-cache/bin"

Quick start #

cd your_flutter_project
dartdosh init          # writes dartdosh_config/, updates .gitignore
dartdosh build apk -p  # build production APK

init reads your pubspec.yaml and generates two files:

  • build_config.json — build commands and upload targets. Commit it, share it with your team.
  • settings.json — your machine's preferences and credentials. Gitignored automatically.

That's the whole setup. If a later release adds a config key, dartdosh init fills it in without touching what you already have.


What it does #

Building

  • One command per target: apk, aab (or appbundle), ipa
  • Flavor flags: -p production, -s staging, -d development
  • Any extra Flutter flag passes straight through — --split-per-abi, --obfuscate, --dart-define
  • Live progress bar parsed from the real build output

Versioning and naming

  • Auto-increments the build number in pubspec.yaml before the build
  • Renames artifacts to prod_1.2.3_42.aab — flavor, version, build number
  • Sorts them into output_path/<project>/<target>/, so releases don't pile up in build/

Distributing

  • 🔥 Firebase App Distribution — APK to your tester groups
  • ✈️ Telegram — APK straight to a channel over MTProto, so the 50 MB Bot API limit doesn't apply (up to 2 GB)
  • 🍎 App Store Connect — IPA upload
  • 🏪 Google Play — AAB to internal, beta, or production
  • Release notes prompt once, then travel with every upload

Housekeeping

  • dartdosh clean removes old build output and reports the space freed
  • dartdosh upgrade / downgrade manage the CLI itself
  • Logs in English, Uzbek, Russian, or Turkish — set language in settings.json

Commands #

dartdosh init                      # set up or repair config
dartdosh build <target> [-p|-s|-d] # build, rename, move, upload
dartdosh clean [target] [-p|-s|-d] # delete old output files
dartdosh telegram setup            # store your Telegram credentials
dartdosh telegram status           # check which credentials are in effect
dartdosh --version                 # show version
dartdosh upgrade                   # update to the latest release

Documentation #

🚀 Getting started 01-getting-started.md
⚙️ Configuration 02-configuration.md
🔨 Build commands and flags 03-build-commands.md
🔢 Version management and file naming 04-version-management.md
🍎 iOS build and App Store upload 05-ios-appstore.md
🔥 Firebase App Distribution 06-firebase.md
✈️ Telegram channel upload 07-telegram.md
🏪 Google Play Store upload 11-play-store.md
🔧 --dart-define-from-file 08-dart-define.md
🌍 Language support 09-language.md
🧹 Cleaning build output 10-clean.md

Read in your language: 🇺🇿 O'zbekcha · 🇷🇺 Русский · 🇹🇷 Türkçe


Video walkthrough #

DartDosh tutorial

Watch on YouTube →


Support #

Found a bug or want a feature? Open an issue.

If DartDosh saves you time, buying me a coffee helps keep it maintained. ☕

31
likes
160
points
603
downloads

Documentation

API reference

Publisher

verified publisherahadjonovss.uz

Weekly Downloads

Flutter build and release CLI. Bumps the version, names artifacts, and uploads to Firebase, Telegram, App Store and Google Play.

Repository (GitHub)
View/report issues

Topics

#cli #build #deployment #ci-cd #automation

License

MIT (license)

Dependencies

args, yaml

More

Packages that depend on dartdosh