Open source AI-assisted home automation with conversation archaeology
Core Patterns & Quick Answers for Future AI Sessions
athena/
├── data/claude-logs/ # Claude conversation archives (append-only)
├── system/ash-ai/ash_chat/ # Main web UI (Phoenix LiveView)
├── system/athena-ingest/ # Event collectors (Elixir Broadway)
├── system/athena-mcp/ # MCP servers for hardware control
├── docs/ # Documentation & collaboration guides
└── dev-tools/ # Development MCP servers
/ash_chat/ (Phoenix LiveView application)/chat), Events (/events), System (/system)~/.claude/projects/*.jsonl → /data/claude-logs/live//system/athena-ingest/{claude_collector,camera_collector}/j@llm:7474 (docker container)/system/athena-mcp//system/hardware-controls/# Web UI (if not running)
cd /Users/j/Code/athena/system/ash-ai/ash_chat && mix phx.server
# Claude collector
cd /Users/j/Code/athena/system/athena-ingest/claude_collector && mix run --no-halt
# Check what's on port 4000
lsof -i :4000
# Neo4j status
ssh j@llm "docker ps | grep neo4j"
/lib/ash_chat_web/components/layouts/app.html.heex/lib/ash_chat_web/live/*.ex (inline rendering with ~H""")/lib/ash_chat_web/router.exgit status
git add -A
git commit -m "Brief description + thinking log"
git push origin master
/docs/journal/Source → File Watcher → Broadway Pipeline → Neo4j → Dashboard
lsof -i :4000 # Check what's using port
# Usually means service is already running
ssh j@llm "docker restart neo4j"
cd /path/to/elixir/project && mix deps.get
chmod +x script.sh
bg-white border border-gray-200 rounded-lggrid grid-cols-1 lg:grid-cols-2 gap-6h-[calc(100vh-12rem)]Already implemented in app layout with emoji icons:
live "/path", ModuleLive<.link navigate={~p"/path"}>Label</.link>def render(assigns) do ~H""" ... """Quick reference for efficient AI collaboration on Athena