Package Sources
Stackie installs packages through source providers — adapters for Homebrew, npm, pip, Scoop, Winget, and others. Each source is classified along two independent axes:
| Axis | Type | Purpose |
|---|---|---|
| Category | Ecosystem / Managed / Native | Drives default install-order |
| Location | Isolated / System | Drives lock-state rules |
Categories
| Category | Examples | Default priority |
|---|---|---|
| Ecosystem | npm, pip, gem, go | 1 — preferred |
| Managed | Homebrew, Scoop, Winget, Chocolatey | 2 |
| Native | supercache, github-releases, web | 3 — lowest |
When multiple sources could satisfy a block, Stackie picks the highest-priority applicable one. You can change this order with the Lock to defaults setting.
Listing Sources
# All registered sources
stackie source list
# Detailed view with category + location
stackie source list --verbose
Configuring Source Preferences
Source preferences are stored in ~/.stackie/stackie.yaml:
sources:
preferences:
macos: [brew, npm, pip, gem]
linux: [brew, npm, pip, gem]
windows: [winget, npm, pip, gem]
See Source Classification for the full model, lock-state behaviour, and anonymous-trial implications.