ARI is a personal AI operating system built and maintained by Pryce Hedrick.
| Resource | Description |
|---|---|
| README.md | Overview, architecture, quick start |
| CONTRIBUTING.md | Development setup and contribution guide |
| SECURITY.md | Security policy and vulnerability reporting |
| TROUBLESHOOTING.md | Common issues and fixes |
| docs/guides/ | In-depth guides (Mac Mini setup, deployment) |
| docs/plans/ | Implementation plans and architecture decisions |
Tests failing after clone?
npm install --ignore-scripts
cd node_modules/better-sqlite3
npx node-gyp rebuild
cd ../..
npm testGateway won't start?
# Verify loopback-only binding (127.0.0.1:3141)
npm run build && npx ari gateway start
curl http://127.0.0.1:3141/healthMissing API keys?
Copy .env.example → .env and fill in required keys. At minimum:
ANTHROPIC_API_KEY— required for all AI operationsTELEGRAM_BOT_TOKEN+TELEGRAM_OWNER_USER_ID— required for Telegram interface
Mac Mini daemon not running?
launchctl load ~/Library/LaunchAgents/com.ari.gateway.plist
launchctl load ~/Library/LaunchAgents/com.ari.daemon.plist
launchctl list | grep aribetter-sqlite3 build error?
# Requires native build tools
cd node_modules/better-sqlite3
npx node-gyp rebuildTypeScript errors after pull?
npm run typecheck 2>&1 | head -30
# Check for new required env vars in src/kernel/config.tsARI is designed to run 24/7 on a Mac Mini. See the full deployment guide:
docs/guides/MAC_MINI_SETUP.md— Complete setup walkthroughTROUBLESHOOTING.md— Comprehensive issue reference
Key steps:
NODE_ENV=development npm install --ignore-scriptsNODE_ENV=development npm run build- Rebuild better-sqlite3 native module
- Install launchd agents for gateway + daemon
- Configure
~/.ari/.envwith all API keys
ARI uses a 7-layer architecture. Understanding the layers prevents most issues:
L0 Cognitive — LOGOS/ETHOS/PATHOS reasoning (no imports)
L1 Kernel — Security boundary (gateway, sanitizer, audit)
L2 System — Storage, routing, workspace
L3 Agents — Multi-agent coordination
L4 Strategic — Governance, policy engine
L5 Execution — Daemon, ops, scheduling
L6 Interfaces — CLI, API, dashboard
Critical: Lower layers cannot import from higher layers. Cross-layer communication is via EventBus only.
For security vulnerabilities, do not open a public issue. See SECURITY.md for the responsible disclosure process.
ARI is a personal system optimized for Pryce's workflow. While the codebase is open for learning and inspiration, feature requests that don't align with the project's design philosophy may not be accepted.
ARI — Artificial Reasoning Intelligence · Built by Pryce Hedrick