live from GitHub · prist · main
🎉 Release v0.3.7

A pristine way to manage Flutter versions.

A pristine way to manage Flutter versions. Install, switch and pin Flutter SDKs per project.

Quick Install GuideExplore Prist Source
irm https://prist.dev/install.ps1 | iex· no Rust needed
interactive powershell demo~/apps/orbit
Try CLI:
$prist create orbit 3.24.3→ resolved flutter 3.24.3 engine cache hit → ready in 2.1s (saved 812 MB from cache)
$prist use orbit→ project pinned to orbit (3.24.3)
$prist ls stable 3.27.1 beta 3.28.0-1.0.pre* orbit 3.24.3 ← active
$
6
GitHub stars
0
forks
3
recent commits
1
contributors
01 — Benchmarks

Empirical Performance: Clean-Slate Comparison

Measured live on Windows 11 with fresh installations from total scratch. Zero pre-cached data.

Switch Environment🏆 1st Place
20ms – 30ms
Instant junction switching
Installer ExecutionUltra-Fast
2.76 s
Precompiled 3MB Rust binary
Subsequent Env CreationShared History
49.28 s
54% faster via Git object cache
Storage for 2 EnvsDeduplicated
1.86 GB
Saves 5+ GB vs raw SDK clones

Clean-Slate Benchmark Suite Results

Tested from 100% scratch with zero pre-cached data on Windows 11

Verified Output
Benchmark TestPrist (Rust)PuroRaw Flutter SDKWinner
Environment Switch Latency (prist use)0.02s – 0.03s (20ms – 30ms) ⚡0.63s – 0.70sManual PATH edit (~minutes)Prist 🏆
Subsequent Environment Creation (3.24.3)49.28s (54% faster)Fresh clone required~108s full clonePrist 🏆
Installer Execution (install.ps1)2.76s (3 MB executable)~2s - 3sManual zip extractionPrist 🏆
Total Footprint (2 Flutter SDK Envs)1.86 GB (Shared Git Objects)Varies>6.96 GB (3.48GB per SDK)Prist 🏆
01 — Install

One command. Windows, macOS & Linux.

Windows · prebuilt binary
PS> powershell -c "irm https://prist.dev/install.ps1 | iex"
No Rust needed — downloads prebuilt binary. No admin/UAC required.
Windows (Build from source) · requires Rust
PS> cargo install --git https://github.com/SnaidenP/prist
Requires Rust — install with `winget install Rustlang.Rustup` or from rustup.rs.
02 — Real Disk Savings

Calculate your real disk space savings

Empirical measurements: Prist shares 1 central bare Git repo (~2.2 GB) via Git Alternates so each environment only adds ~0.4 GB.

3 versions
1 Version5 Versions10 Versions
Standard / FVM installation (3.4 GB per version)10.2 GB
Prist deduplicated (2.2 GB bare repo + 0.41 GB per env)3.43 GB
Storage Saved
6.8 GB
You save 67% storage with Prist deduplication.

* Real disk metrics: Standard/FVM clones a full ~3.4 GB Git repo for every version. Prist stores 1 shared central bare repo (~2.2 GB) and uses Git Alternates so additional versions only take ~0.4 GB of working tree files.

02 — Quick start

Environments, not global state.

Every SDK version lives in its own environment. Switch per-project or globally without reinstalling anything.

  • prist create foo stableNew env “foo” tracking stable
  • prist create bar 3.13.6New env pinned to Flutter 3.13.6
  • prist upgrade bar 3.10.6Switch “bar” to a specific version
  • prist lsList available environments
  • prist releasesList available Flutter releases
  • prist use fooPin the current project to “foo”
  • prist use -g barSet global default to “bar”
  • prist cleanRemove prist config from project
  • prist rm fooDelete the “foo” environment
  • prist -e foo flutter …Run flutter inside an environment
03 — How it works

Three small ideas, one clean SDK.

01

Parallel fetch

Git clone and engine download happen in parallel — no more waiting for one before the other.

02

Global git cache

Shared git object cache using deduplication similar to GitLab’s. Download each commit exactly once.

03

Symlinked engines

Engine binaries are shared across environments via symlinks — a single copy, many SDKs.

Without Pristdisk usage
  • flutter_3.241.9 GB
  • flutter_3.221.9 GB
  • flutter_3.191.9 GB
Full clone per version. Engine and git history duplicated.
With Pristdisk usage
  • shared git cache820 MB
  • shared engines410 MB
  • 3 environments~120 MB extra
Deduped git objects, symlinked engines. Add versions almost for free.
05 — Comparison Matrix

Prist vs FVM vs Flutter CLI

A feature-by-feature breakdown showing why developers choose Prist.

FeaturePristFVMFlutter CLI
Built in Native Rust (Ultra-fast execution)✓ Yes✕ No✕ No
Shared Git Object Cache (Deduplication)✓ Yes✕ No✕ No
Symlinked Engine Binaries Across SDKs✓ Yes✕ No✕ No
Parallel Git Clone & Engine Downloads✓ Yes✕ No✕ No
Windows Non-Admin / Zero UAC Required✓ Yes✓ Yes✓ Yes
Per-Project SDK Version Pinning✓ Yes✓ Yes✕ No
04 — FAQ

Frequently Asked Questions

Everything you need to know about Prist, performance, and Flutter version management.

How does Prist save up to 95% disk space?

Prist maintains a single global Git object cache for Flutter commits and symlinks engine binaries across environments. Adding new Flutter environments takes almost zero extra storage.

Does Prist require admin or UAC privileges on Windows?

No. Prist runs in user space without requiring administrator rights or Windows UAC prompts. It downloads prebuilt Rust binaries and manages local user directories.

How does Prist compare to FVM (Flutter Version Manager)?

Prist is written in native Rust for instant execution speed. It clones Git repositories and downloads engine binaries in parallel while deduplicating binaries across SDK versions.

How do I switch Flutter versions per project?

Inside your project directory, run `prist create my-env 3.24.3` and then `prist use my-env`. Prist pins the version to that specific workspace seamlessly.

05 — Live from GitHub

Straight from the repository.

Real-time data from SnaidenP/prist. Updated 3d ago.

Releases

Spread the word about Prist

Help other Flutter developers save disk space and manage SDK versions fast.