Bootstrap a fresh Mac into a fully operational AI agent hub.
Before Rome's legions marched, the auspex read the signs and declared the ground fit for action. Auspex does the same for your Mac: it reads the machine, installs every dependency, and prepares the ground so your AI services can march in formation from the first command.
Three phases. One script per phase. Zero-to-running in under an hour.
┌─────────────────────────────────────────────────────┐
│ Your Mac │
│ │
│ Ollama (11434) <- Vector embeddings │
│ └─> mini-claude-bot (8000) <- Claude gateway │
│ └─> telegram-claude-hero <- Telegram bot │
│ │
│ Centurion (8100) <- Agent fleet manager │
│ AROS Meta-Loop (8200) <- Meta-cognition loop │
│ Harness Loop (.harness/) <- Project orchestrator │
└─────────────────────────────────────────────────────┘
| Service | Stack | Port | Role |
|---|---|---|---|
| Ollama | Homebrew | 11434 | Local embeddings (nomic-embed-text) |
| mini-claude-bot | Python 3.13 / FastAPI | 8000 | Multi-session Claude gateway, cron, semantic memory |
| telegram-claude-hero | Go 1.25 | - | Telegram bridge to mini-claude-bot |
| centurion | Python 3.12+ / FastAPI | 8100 | AI agent fleet orchestration engine |
| aros-meta-loop-python | Python 3.12+ / FastAPI | 8200 | AROS meta-cognition loop |
| harness-loop | Node.js | - | Iterative project development orchestrator |
| Minimum | Recommended | |
|---|---|---|
| Chip | Apple Silicon (M1+) | M2 / M4 |
| RAM | 16 GB | 32 GB+ |
| Disk | 30 GB free | 100 GB+ |
| macOS | 14.0 (Sonoma)+ | Latest |
- Grant Terminal/iTerm2: Accessibility, Full Disk Access, Automation (System Settings > Privacy & Security)
- Have ready: GitHub account, Telegram Bot Token (@BotFather), Anthropic account
git clone https://github.com/spacelobster88/auspex.git
cd auspex && chmod +x *.sh
./install.shInstalls Homebrew, Python, Go, Node.js, Ollama, Claude CLI, tectonic, GitHub CLI.
gh auth login && claude login
./setup.shClones repos, builds projects, prompts for secrets, installs LaunchAgent services.
./health-check.sh./uninstall.shAuspex pins service versions in stack.json for reproducible deployments. setup.sh checks out the exact pinned commits rather than pulling main.
# Bump a service to a specific commit
./scripts/bump-version.sh mini-claude-bot abc1234def5678
# Bump to current main HEAD
./scripts/bump-version.sh mini-claude-botCommit the updated stack.json to deploy. Revert to roll back.
auspex/
├── install.sh # Phase 1: System dependencies
├── setup.sh # Phase 2: Project config + service startup
├── health-check.sh # Phase 3: Verification
├── uninstall.sh # Teardown
├── stack.json # Pinned service versions
├── Brewfile # Homebrew dependencies
├── scripts/
│ └── bump-version.sh # Version bump helper
├── launchd/ # LaunchAgent plist templates
└── env/ # Environment variable templates
Copy from an existing machine:
scp old-mac:~/Projects/mini-claude-bot/data/mini-claude-bot.db ~/Projects/mini-claude-bot/data/
scp old-mac:~/.telegram-claude-hero.json ~/
scp -r old-mac:~/.claude/ ~/| Project | Role |
|---|---|
| Auspex (you are here) | Mac provisioning |
| Centurion | Fleet-level agent orchestration |
| mini-claude-bot | Claude gateway + memory + cron |
| telegram-claude-hero | Telegram bot bridge |
| aros-meta-loop-python | AROS meta-cognition loop |
| harness-loop | Project development orchestrator |
- Centurion LaunchAgent with
KeepAlive+RunAtLoadauto-restart - Templated plist generation,
CENTURION_HOST/CENTURION_PORTenv overrides
- Centurion:
psutil-based RAM estimation, compressor-aware pressure detection,SessionRegistrywith parent-child tracking,/closeable-sessionsendpoint - mini-claude-bot: Fixed harness-loop chain stalls (#5, #6), metrics migrated to GitHub Gist
- telegram-claude-hero:
/resumecommand, friendly chain-running message
Full stack operational: Claude gateway with semantic memory, Telegram bridge, Centurion fleet orchestration, harness-loop parallel execution, daily financial reports, Vercel dashboard.
This script installs system-level software and modifies LaunchAgent configurations. Read each script before running. Any damage, data loss, or security incidents are the user's responsibility.
Apache-2.0