Install
This page condenses INSTALL.md. For the full doc with every troubleshooting case, read it on GitHub.
git clone https://github.com/luminik-io/alfred-os.git ~/code/alfred-oscd ~/code/alfred-osbash install.shexec $SHELL # pick up ~/.alfredrcgh auth login # GitHubclaude # Claude Code first-run auth./bin/alfred-init.py # choose agents, repos, codenames, Slackalfred-init.py writes the fleet config, runs deploy, and runs doctor. For a framework-only install with no agents configured, run bash deploy.sh && bash bin/doctor.sh; doctor should report 0 passed, 0 failed.
What install.sh does
Section titled “What install.sh does”Idempotent (safe to re-run). On a fresh Mac:
- Verifies macOS. Linux support is on the roadmap; see Linux.
- Installs Homebrew if missing.
brew installspython@3.11,git,gh,jq,awscli,node,uv.npm install -g @anthropic-ai/claude-code.- Creates
$HERMES_HOME(default~/.hermes) and$WORKSPACE_ROOT(default~/code). - Drops
~/.alfredrcfrom the template, prompts forGH_ORG,OPERATOR_NAME,OPERATOR_EMAIL. - Appends a source-line to your shell rc so every new shell loads
~/.alfredrc. - Reports auth status for
gh,aws,claude.
What it does not do (deliberately):
- Authenticate
gh/aws/claude. Interactive flows you should see. - Create AWS IAM users, secrets, or Slack webhooks. One-time human decisions.
- Choose which agents should run. Use
./bin/alfred-init.pyfor that. - Run
deploy.sh. That side-effectslaunchd; you should know what’s about to load. - Install a separate Hermes agent.
HERMES_HOMEis the alfred-os runtime root name. Install Hermes separately only if your fleet uses Hermes skills, MCP, gbrain, canon, or dashboarding.
Non-interactive
Section titled “Non-interactive”For automation:
ALFRED_NONINTERACTIVE=1 \ GH_ORG=myorg \ OPERATOR_NAME='Your Name' \ OPERATOR_EMAIL=you@example.com \ bash install.shPer-stage skips: --skip-brew, --skip-npm.
After install
Section titled “After install”Point alfred-os at your fleet’s Slack channel and (optionally) AWS:
- Slack setup: create the app, mint the webhook.
- AWS setup: IAM-per-agent, Secrets Manager.
- Claude Code: Pro vs Max sizing, two-account swap.
Then write your first codename agent:
- Tutorial: your first agent in 30 minutes: builds Echo end-to-end.
Troubleshooting
Section titled “Troubleshooting”Full list in INSTALL.md on GitHub. The most common:
- “Refusing to install on non-macOS host”: alfred-os’s scheduling layer is
launchd. Linux requires the systemd port for scheduled fleets;ALFRED_FORCE_LINUX=1is only for tests, code reading, and manual agent runs. claude: command not foundfrom launchd: the plist’s PATH doesn’t include the npm global bin. SetCLAUDE_BINin~/.alfredrc.gh auth loginbrowser doesn’t open: use the device-code flow:gh auth login --hostname github.com --git-protocol https --web.