SkillAgentSearch skills...

Fastforge

The ultimate all-in-one Flutter application packaging and distribution tool, providing a seamless solution for all your distribution needs.

Install / Use

/learn @fastforgedev/Fastforge
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

fastforge <sub>formerly Flutter Distributor</sub>

pub version pub downloads melos All Contributors

The ultimate all-in-one Flutter application packaging and distribution tool, providing a seamless solution for all your distribution needs.

[!WARNING] Rust Migration In Progress: The core of Fastforge is being rewritten in Rust to deliver better performance, a smaller install footprint, and zero runtime dependencies on the Dart SDK. The new implementation lives in the crates/ directory and is being developed in parallel with the existing Dart packages.

What this means for you:

  • The current Dart-based CLI (dart pub global activate fastforge) continues to work and receives bug fixes.
  • The Rust CLI will be released as a native binary — no Dart or Flutter SDK required to run it.
  • APIs and configuration formats are designed to remain compatible; any breaking changes will be clearly announced.
  • Contributions, feedback, and bug reports on the Rust implementation are very welcome — see the Contributing section.

English | 简体中文


Documentation

Complete documentation is available at fastforge.dev.

Key Features

  • 🚀 One-Click Build: Support for Android APK/AAB, iOS IPA, OpenHarmony HAP/APP and more
  • 📦 Multi-Platform Release: Support for App Store, Google Play, Firebase, Pgyer, fir.im, etc.
  • 🔄 CI/CD Integration: Perfect integration with GitHub Actions, GitLab CI, and more
  • 🛠 Flexible Configuration: Support for multiple environments, flavors, and custom build arguments

Supported Package Formats

Supported Distribution Platforms

Installation

dart pub global activate fastforge

Quick Start

  1. Add distribute_options.yaml to your project root:
variables:
  PGYER_API_KEY: "your api key" # Replace with your own API keys
output: dist/
releases:
  - name: dev
    jobs:
      # Build and publish APK to PGYER
      - name: release-dev-android
        package:
          platform: android
          target: apk
          build_args:
            target-platform: android-arm,android-arm64
            dart-define:
              APP_ENV: dev
        publish_to: pgyer

      # Build and publish IPA to PGYER
      - name: release-dev-ios
        package:
          platform: ios
          target: ipa
          build_args:
            export-options-plist: ios/dev_ExportOptions.plist
            dart-define:
              APP_ENV: dev
        publish_to: pgyer

Note: build_args are parameters supported by the flutter build command. Modify them according to your project requirements.

  1. Release your app:
fastforge release --name dev

CLI Commands

Package Your App

fastforge package --platform=android --targets=aab,apk

Publish a Package

fastforge publish --path dist/your-app-1.0.0+1-android.apk --targets pgyer

Release (Package + Publish)

fastforge release --name dev

Examples

Fastforge includes several example projects to help you get started:

Advanced Usage

Environment Variables

Fastforge supports using environment variables in your configuration files. This is useful for sensitive information like API keys:

variables:
  API_KEY: ${PGYER_API_KEY} # Uses the PGYER_API_KEY environment variable

CI/CD Integration

Fastforge works well in CI/CD environments. For example, with GitHub Actions:

jobs:
  build-and-release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: subosito/flutter-action@v2
      - name: Install Fastforge
        run: dart pub global activate fastforge
      - name: Build and release
        run: fastforge release --name production
        env:
          API_KEY: ${{ secrets.API_KEY }}

Check the documentation for more detailed CI/CD integration examples.

Who's Using It?

  • Biyi - A convenient translation and dictionary app.
  • Qianji - A purely bookkeeping app.
  • Airclap - Send any file to any device. cross platform, ultra fast and easy to use.

Contributing

Contributions are welcome! If you'd like to help improve Fastforge:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please make sure to update tests as appropriate and follow the existing code style.

Contributors

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lijy91"><img src="https://avatars.githubusercontent.com/u/3889523?v=4?s=100" width="100px;" alt="LiJianying"/><br /><sub><b>LiJianying</b></sub></a><br /><a href="https://github.com/fastforgedev/fastforge/commits?author=lijy91" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://juejin.cn/user/764915820276439"><img src="https://avatars.githubusercontent.com/u/8764899?v=4?s=100" width="100px;" alt="Zero"/><br /><sub><b>Zero</b></sub></a><br /><a href="https://github.com/fastforgedev/fastforge/commits?author=BytesZero" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/KRTirtho"><img src="https://avatars.githubusercontent.com/u/61944859?v=4?s=100" width="100px;" alt="Kingkor Roy Tirtho"/><br /><sub><b>Kingkor Roy Tirtho</b></sub></a><br /><a href="https://github.com/fastforgedev/fastforge/commits?author=KRTirtho" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/laiiihz"><img src="https://avatars.githubusercontent.com/u/35956195?v=4?s=100" width="100px;" alt="LAIIIHZ"/><br /><sub><b>LAIIIHZ</b></sub></a><br /><a href="https://github.com/fastforgedev/fastforge/commits?author=laiiihz" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ueki-tomohiro"><img src="https://avatars.githubusercontent.com/u/27331430?v=4?s=100" width="100px;" alt="Tomohiro Ueki"/><br /><sub><b>Tomohiro Ueki</b></sub></a><br /><a href="https://github.com/fastforgedev/fastforge/commits?author=ueki-tomohiro" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://cybrox.eu/"><img src="https://avatars.githubusercontent.com/u/2383736?v=4?s=100" width="100px;" alt="Sven Gehring"/><br /><sub><b>Sven Gehring</b></sub></a><br /><a href="https://github.com/fastforgedev/fastforge/commits?author=cybrox" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/GargantuaX"><img src="https://avatars.githubusercontent.com/u/14013111?v=4?s=100" width="100px;" alt="GargantuaX"/><br /><sub><b>GargantuaX</b></sub></a><br /><a href="https://github.com/fastforgedev/fastforge/commits?author=GargantuaX" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/hiperioncn"><img src="https://avatars.githubusercontent.com/u/6045710?v=4?s=100" width="100px;" alt="H
View on GitHub
GitHub Stars1.1k
CategoryDevelopment
Updated20h ago
Forks218

Languages

Rust

Security Score

100/100

Audited on Apr 9, 2026

No findings