Every block can be delivered from multiple package sources — Homebrew, the
Stackie Cache CDN, npm, pip, web downloads, and more. Source resolution picks
the best source for your current machine and preferences automatically.
How It Works
When you run stackie up, each block goes through the resolver before
anything is installed. The resolver walks a prioritised list of sources
and selects the first one that satisfies three conditions:
The block supports it — the block’s definition lists that source.
Your platform supports it — e.g. brew is available on macOS and Linux, winget only on Windows.
Stackie has it configured — the source driver is loaded and ready.
Stackie ships with sensible per-platform defaults. Sources higher in the list are
preferred when a block supports multiple options.
Priority
macOS
Linux
Windows
1
node (Cache)
Cache CDN
node (Cache)
2
system (Cache)
node (Cache)
system (Cache)
3
elixir (Cache)
system (Cache)
elixir (Cache)
4
Cache CDN
elixir (Cache)
Cache CDN
5
Homebrew
web (direct download)
web (direct download)
6
npm
Homebrew
winget
7
pip
npm
scoop
8
gem
pip
npm
9
web (direct download)
gem
pip
10
go (Cache/go install)
go (Cache/go install)
gem
11
go (Cache/go install)
The portable ecosystem sources (node, system, elixir) come first because they use the
Stackie Cache CDN — pre-built, versioned binaries delivered without touching your
system package manager. The generic supercache source entry covers any remaining CDN-backed
packages. Traditional package managers (brew, winget, scoop, chocolatey) and direct
web downloads follow as reliable fallbacks. The go source remains available for Go-module packages, but it
is not pinned ahead of the main portable runtime sources because it may fall back to local
toolchain behavior when no Cache artifact exists.
Customising Your Preferences
You can override non-supercache fallback order from the Stackie dashboard under
Settings > Source Preferences. Supercache-backed sources remain pinned
first so fresh installs use the Cloud API anonymous-token path immediately.
Prefer Existing Installation
When Prefer existing installation is enabled (Settings > Source Preferences), the
resolver first checks whether the package is already installed via any compatible
source on your machine. If it finds one, it uses it — skipping the download entirely.
This setting only reuses an existing install from the highest-priority compatible
source for the block. A lower-priority system package manager installation must
not override a portable Stackie-managed source such as supercache or web.
What Happens When No Source Matches?
If the resolver exhausts every source in the preference list without finding a compatible
match, stackie up fails with a descriptive error listing the block’s available sources,
your preference order, and the current platform. This usually means the block doesn’t
support your operating system yet, or a required source driver isn’t available.