fastforgedev/fastforge
ユーザーにアプリをより迅速に配信する — 1つの明確な構成でビルド、パッケージ化、公開が可能。人気のある配布形式やアプリストアをターゲットにしつつ、CI/CDパイプラインに自然に統合されます。
- Stars
- 1146
- Forks
- 242
- 最終プッシュ(UTC)
- 2026/09/13
- プロジェクト状態
- 公開中
技術トピック
使用している依存関係
依存関係一覧 1 件
- melos開発用
^6.0.0
元の README
以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。
README を開く / 閉じる
Fastforge formerly Flutter Distributor
pub version pub downloads https://img.shields.io/discord/884679008049037342.svg?style=flat-square melos All Contributors
Ship every app faster to your users — Build, package, and publish with one clear configuration. Target popular distribution formats and app stores while fitting naturally into your CI/CD pipeline.
[!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
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
- Android: AAB, APK
- iOS: IPA
- OpenHarmony: HAP, APP
- Linux: AppImage, DEB, RPM, Pacman
- macOS: DMG, PKG
- Windows: EXE, MSIX
- Universal: ZIP
- More formats coming soon...
Supported Distribution Platforms
- App Store
- Firebase
- Firebase Hosting
- FIR
- GitHub Releases
- PGYER
- Play Store
- Qiniu
- Vercel
- More platforms coming soon...
Installation
dart pub global activate fastforge
Windows users: After activation, ensure the pub cache bin directory is in your PATH:
- Open System Properties → Advanced → Environment Variables
- Under User variables, select
Path→ Edit- Add
%APPDATA%\Pub\Cache\binand click OK- Restart your terminal, then try
fastforge --help
Quick Start
- Add
distribute_options.yamlto 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_argsare parameters supported by theflutter buildcommand. Modify them according to your project requirements.
- 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:
- hello_world - Basic example demonstrating the core functionality.
- multiple_flavors - Example showing how to configure multiple application flavors.
- custom_binary_name - Example of how to customize binary output names.
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@v4
- 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:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please make sure to update tests as appropriate and follow the existing code style.
Contributors
| LiJianying LiJianying 💻 |
Zero Zero 💻 |
Kingkor Roy Tirtho Kingkor Roy Tirtho 💻 |
LAIIIHZ LAIIIHZ 💻 |
Tomohiro Ueki Tomohiro Ueki 💻 |
Sven Gehring Sven Gehring 💻 |
GargantuaX GargantuaX 💻 |
| Hiperion Hiperion 💻 |
Reuben Turner Reuben Turner 💻 |
Ankit Mahato Ankit Mahato 📖 |
Tien Do Nam Tien Do Nam 💻 |
zacks zacks 💻 |
Mohammed CHAHBOUN Mohammed CHAHBOUN 💻 |
Prateek Sunal Prateek Sunal 💻 |
| lllgm lllgm 💻 |
Arran Ubels Arran Ubels 💻 |
Sherman Chu Sherman Chu 💻 📖 |
DrSheppard DrSheppard 📖 |
cranst0n cranst0n 💻 |
duskygloom duskygloom 💻 |
imnadev imnadev 💻 |
| jenken827 jenken827 💻 |
kecson kecson 💻 |
zzqayy zzqayy 💻 |
||||
| https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg Add your contributions | ||||||
License
Fastforge Studio
The Studio web client, local server, and shared packages live in this repository under the studio- package prefix. See the Studio development guide for setup and checks.
Agent Skills
Agent skills that teach Claude and other Agent-Skills-compatible harnesses how to use fastforge live in skills/. Install them with npx skills add fastforgedev/fastforge; see the skills guide for details.