tezkor 0.2.7+3 copy "tezkor: ^0.2.7+3" to clipboard
tezkor: ^0.2.7+3 copied to clipboard

A powerful Flutter build CLI tool with automatic version management, smart file naming, and personalized experience

Tezkor CLI – User Guide #

Tezkor is a powerful CLI tool for simplifying Flutter builds with automatic version management, multi-language support, and smart output handling.

tezkor build <target> --<environment> [extra flags]

Examples:

# With environment (flavor builds) - automatic version management
tezkor build ipa --production --split
tezkor build apk --development --other-flag
tezkor build appbundle --staging

# Short flags (convenient!)
tezkor build apk -p              # production
tezkor build apk -prod           # production
tezkor build apk -d              # development
tezkor build apk -dev            # development
tezkor build apk -s              # staging

# Without environment - plain Flutter build (no version management)
tezkor build apk                 # flutter build apk
tezkor build apk --release       # flutter build apk --release
tezkor build ipa --split         # flutter build ipa --split-per-abi

Requirements #

  • Dart SDK β‰₯ 3.0
  • Flutter SDK installed
  • Terminal (Mac/Linux/Windows)

Installation #

Install from pub.dev #

dart pub global activate tezkor

Add to PATH (if needed) #

Mac/Linux (.zshrc or .bashrc):

export PATH="$PATH:$HOME/.pub-cache/bin"
source ~/.zshrc

Windows PowerShell:

$env:PATH += ";$env:USERPROFILE\.pub-cache\bin"

Configuration #

The build_config.json file is automatically created with default settings when you first run Tezkor. You can also create it manually in your Flutter project root:

{
  "language": "uz",
  "output_path": "~/Desktop/tezkor-builds",
  "apk": {
    "production": "flutter build apk --release --flavor production",
    "staging": "flutter build apk --release --flavor staging",
    "development": "flutter build apk --debug --flavor development"
  },
  "ipa": {
    "production": "flutter build ipa --release --flavor production",
    "staging": "flutter build ipa --release --flavor staging"
  },
  "appbundle": {
    "production": "flutter build appbundle --release --flavor production",
    "staging": "flutter build appbundle --release --flavor staging",
    "development": "flutter build appbundle --debug --flavor development"
  }
}

Config Parameters:

  • language (optional): Interface language for all log messages and progress indicators

    • Supported languages: uz (Uzbek), en (English), ru (Russian)
    • Default: uz
    • Fallback: If unsupported language is set, defaults to English with a warning
    • Examples:
      "language": "en"  // English interface
      "language": "ru"  // Russian interface
      "language": "uz"  // Uzbek interface (default)
      
  • api (optional): Base API URLs for different environments

    • Automatically injects --dart-define=API_BASE_URL=YOUR_URL into build command
    • Keys match environment names (production, staging, development)
    • Example:
      "api": {
        "production": "https://api.production.com",
        "staging": "https://api.staging.com",
        "development": "https://api.dev.com"
      }
      

Usage in Flutter #

To access the API URL in your Flutter code, use String.fromEnvironment:

// 1. Get the URL (it will be injected by tezkor)
const baseUrl = String.fromEnvironment('API_BASE_URL');

// 2. Use it in Dio or Http client
final dio = Dio(BaseOptions(
  baseUrl: baseUrl,
));
  • output_path (optional): Path where built files will be copied after build
    • If not specified, files will only be renamed in the build directory
    • Can be absolute path (/Users/you/releases) or relative to project (releases)
    • Directory will be created automatically if it doesn't exist
    • Default: ~/Desktop/tezkor-builds

Usage #

tezkor build <target> [--<environment>] [extra flags]

Parameters:

  • <target>: Build target

    • apk - Android APK
    • ipa - iOS IPA
    • appbundle (or aab) - Android App Bundle
  • <environment>: Build environment (OPTIONAL - multiple flag variants supported!)

    • Production: --production, -p, -prod
    • Staging: --staging, -s
    • Development: --development, -d, -dev
    • Note: If no environment specified, runs plain Flutter build without version management
  • [extra flags]: Additional Flutter build flags

    • --split - For APK builds, automatically adds --split-per-abi
    • --obfuscate - Obfuscate Dart code
    • --dart-define=KEY=VALUE - Define environment variables
    • Any other Flutter build flags

Features #

🌍 Multi-Language Support #

Tezkor supports three languages for all interface messages and progress indicators:

  • Uzbek (uz) - Default language with "Xo'jayiin" (Boss) addressing
  • English (en) - Professional English interface with "Boss" addressing
  • Russian (ru) - Russian interface with "Босс" (Boss) addressing

Setting Language:

{
  "language": "en"  // Set in build_config.json
}

Language Features:

  • All log messages translated
  • Progress bar stages localized
  • Build status messages in selected language
  • Donation messages with cultural humor
  • Automatic fallback to English for unsupported languages with warning

Example Uzbek:

πŸ“ˆ Yangi build number: 46 (oldingi: 45), Xo'jayiin!
[β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘]  60% - [apk - production] - Bundle yaratilmoqda...
βœ… apk build muvaffaqiyatli yakunlandi, Xo'jayiin!

Example English:

πŸ“ˆ New build number: 46 (previous: 45), Boss!
[β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘]  60% - [apk - production] - Creating bundle...
βœ… apk build completed successfully, Boss!

πŸ€– Auto Configuration #

If build_config.json doesn't exist in your Flutter project, Tezkor will automatically create it with sensible defaults on first run.

πŸ”’ Automatic Version Management #

When using environment flags (flavor builds), Tezkor automatically:

  1. Reads the current version from pubspec.yaml
  2. Increments the build number by 1
  3. Updates pubspec.yaml with the new build number

Example:

# Before build (with environment flag)
version: 1.2.3+45

# After build
version: 1.2.3+46

Note: Version management only happens when environment flag is specified. Plain builds (tezkor build apk) don't modify version numbers.

πŸ“¦ Smart File Naming #

For flavor builds (with environment flags), built files are automatically renamed using the format:

{target}_{environment}_{version}_{buildNumber}.{extension}

Examples:

  • apk_production_1.2.3_46.apk
  • ipa_staging_2.0.0_12.ipa
  • appbundle_development_1.5.0_78.aab

For split APKs:

  • apk_production_1.2.3_46_arm64-v8a.apk
  • apk_production_1.2.3_46_armeabi-v7a.apk
  • apk_production_1.2.3_46_x86_64.apk

For plain builds (without environment), files are renamed using the format:

{target}_{version}_{buildNumber}.{extension}

Examples:

  • apk_1.2.3_46.apk
  • ipa_2.0.0_12.ipa
  • appbundle_1.5.0_78.aab

Note: Plain builds don't increment version, but still get renamed and moved to output_path.

πŸ“ Output Path Management #

If output_path is specified in build_config.json:

  • Built files are copied to the specified directory
  • Original files remain in the build directory
  • Directory structure is created automatically

Without output_path:

  • Files are only renamed in the build directory

Notes #

Environment Flags #

  • Full flags: --production, --staging, --development
  • Short flags: -p, -prod, -s, -d, -dev
  • All variants work identically

Language Support #

  • Supported: uz (Uzbek), en (English), ru (Russian)
  • Default: Uzbek (uz)
  • Unsupported language: Automatically falls back to English with a warning:
    ⚠️  Warning: Language "fr" is not supported. Falling back to English.
       Supported languages: uz (Uzbek), en (English), ru (Russian)
    

Build Behavior #

  • For APK builds, --split automatically adds --split-per-abi
  • Any additional flags after the base command are appended automatically
  • Build number is incremented before the build starts
  • All messages are personalized ("Xo'jayiin" for Uzbek, "Boss" for English/Russian)
  • Missing build_config.json is automatically created with default settings
  • Progress bar shows real-time build stages in your selected language

Tezkor-flutter-build-managaer- #

1
likes
0
points
1
downloads

Publisher

unverified uploader

Weekly Downloads

A powerful Flutter build CLI tool with automatic version management, smart file naming, and personalized experience

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

args, yaml

More

Packages that depend on tezkor