Ship every app faster to your users — Build, package, and publish with one clear configuration. Target popular distribution formats and app stores while fitting
Ship every app faster to your users — Build, package, and publish with one clear configuration. Target popular distribution formats and app stores while fitting
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 | 简体中文
dart pub global activate fastforgeWindows 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
distribute_options.yaml to your project root:…Note:
build_argsare parameters supported by theflutter buildcommand. Modify them according to your project requirements.
fastforge release --name devfastforge package --platform=android --targets=aab,apkfastforge publish --path dist/your-app-1.0.0+1-android.apk --targets pgyerfastforge release --name devFastforge includes several example projects to help you get started:
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 variableFastforge 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.
Contributions are welcome! If you'd like to help improve Fastforge:
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)Please make sure to update tests as appropriate and follow the existing code style.
LiJianying
Zero
Kingkor Roy Tirtho
LAIIIHZ
Tomohiro Ueki
Sven Gehring
GargantuaX
Hiperion
Reuben Turner
Ankit Mahato
Tien Do Nam
zacks
Mohammed CHAHBOUN
Prateek Sunal
lllgm
Arran Ubels
Sherman Chu
DrSheppard
cranst0n
duskygloom
imnadev
jenken827
kecson
zzqayy
Add your contributionsThe 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 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.
No open issues yet, or sync has not completed.