Install Alfred
Homebrew installs the versioned Alfred CLI and its app-like, human-first installer. The curl bootstrap remains available. Use arrow keys, checkbox-style toggles, text inputs, and mouse clicks where supported. Harness choices show installed/not-installed status and support selecting multiple targets before Alfred writes anything.
Requirements
- Homebrew for the versioned macOS/Linux package
- Node.js 22+ (
node -v) - pnpm 10+ (optional) — only for monorepo development
- One of: opencode, Pi, Codex, Claude, VSCode
- macOS, Linux, or WSL2
Install with Homebrew
Alfred source and its dedicated tap are public. Version 0.7.3 includes the verified runtime package. Install the fully qualified formula without GitHub credentials:
# Public runtime package brew install GOI17/alfred alfred version alfred setup # guided, preview-first configuration # lifecycle brew update brew upgrade GOI17/alfred brew uninstall GOI17/alfred
brew install alfred resolves to the unrelated Alfred macOS
application cask. Homebrew installs Alfred's commands but does not
write live harness configuration; that remains gated by
alfred setup.
The next release replaces interactive setup with a bundled Go TUI using
Wave's Bubble Tea and Lip Gloss framework. Version 0.7.3 still has the old UI.
Review the plan before explicitly approving it; cancel makes no setup changes.
Explicit flags and alfred setup --legacy-ui preserve automation.
Choose an edition
After installing the runtime, start with the guided flow:
alfred setup.
The installer still accepts flags for automation and CI.
| Edition | What it installs | What you need |
|---|---|---|
coding |
Core, agents, skills, runtime profiles, opencode/Codex adapters, eval gates. | Node 22+ and your coding harness. |
memory |
Alfred Memory, server/client/MCP/OpenAPI, external AI adapters, console. | SQLite for local coding agents or Postgres for human/web agents. |
full |
The complete Alfred operations system: coding + Memory components. | Node 22+, harness, and Memory storage configuration. |
Option A — coding edition
The fastest path. Perfect for coding harness operations without forcing Memory setup.
# Guided human-first install; starts preview-first curl -fsSL https://raw.githubusercontent.com/GOI17/main/install.sh | sh # Force the dependency-free compatibility backend for diagnostics curl -fsSL https://raw.githubusercontent.com/GOI17/main/install.sh | ALFRED_INSTALL_TUI_BACKEND=node sh # Automation fallback when choices are already known curl -fsSL https://raw.githubusercontent.com/GOI17/main/install.sh | sh -s -- --edition=coding --name=acme --harness=opencode,codex-cli --apply # The TUI previews runtime profiles before activation Profile strategy: runtime profiles / decide later Active profile : work / personal / custom Harness : opencode # The installer prints the validation plan for the selected edition Validation local capability checks · preview files · approval gates
The coding edition includes packages/profile-manager so the
same agent can have separate work, personal, or
client profiles across machines without hand-editing harness config.
Model assignment after setup
Alfred setup does not prompt for model assignments or create, replace,
or modify ~/.alfred/models.json. Model selection remains a
user-owned runtime or standalone reconfiguration decision after setup.
# Setup leaves any existing assignment byte-for-byte unchanged Model assignment : not part of alfred setup Provider calls : 0
Option B — Memory edition
Use Alfred Memory from ChatGPT, Claude, Gemini, or coding agents.
- If you already created a tenant in the Memory app, choose
Use existing tenant. Alfred will not create another
tenant; clients reuse
ALFRED_MEMORY_BASE_URLandALFRED_MEMORY_API_KEY. - For a new self-hosted tenant, create a Postgres database and copy
its connection string, such as
postgres://user:pass@host/db?sslmode=require. - Run the guided installer and choose the Memory edition. Pick Postgres for shared/human/web memory, Local SQLite for one-machine coding use, or Decide later for a no-tenant preview.
# Guided install: choose Memory or full in the TUI curl -fsSL https://raw.githubusercontent.com/GOI17/main/install.sh | sh
Approve, then write
Alfred never writes harness config without your approval. When the installer finishes detection, it prints a preview like:
# Alfred install preview Harness detected : opencode Adapter status : executable-translation-spike Files to write : 7 + .opencode/agents/orchestrator.md + .opencode/agents/developer.md + .opencode/agents/qa.md + .opencode/skills/architecture-docs/SKILL.md + .opencode/skills/typescript-project/SKILL.md + opencode.json + AGENTS.md (merge) Apply changes? [y/N]
Review the list first. The root installer writes no files unless you
choose apply in the TUI or pass --apply in automation; harness config still remains preview-only
until a human explicitly copies or applies those generated artifacts.
Verify the install
Use local checks instead of assuming a global CLI binary exists:
node -v # Node 22+ test -d ~/.alfred/installs/default # default suite install target
Uninstall
curl -fsSL https://raw.githubusercontent.com/GOI17/main/uninstall.sh | sh # Homebrew package brew uninstall GOI17/alfred
The uninstaller removes the installed package tree, never touches your project files, and asks before deleting the SQLite database.