Personal Claude assistant. See README.md for philosophy and setup. See docs/REQUIREMENTS.md for architecture decisions.
Single Node.js process that connects to WhatsApp, routes messages to Claude Agent SDK running in Docker containers. Each group has isolated filesystem and memory. Host OS is Linux.
| File | Purpose |
|---|---|
src/index.ts |
Main app: WhatsApp connection, message routing, IPC |
src/config.ts |
Trigger pattern, paths, intervals |
src/container-runner.ts |
Spawns agent containers with mounts |
src/task-scheduler.ts |
Runs scheduled tasks |
src/db.ts |
SQLite operations |
groups/{name}/CLAUDE.md |
Per-group memory (isolated) |
| Skill | When to Use |
|---|---|
/setup |
First-time installation, authentication, service configuration |
/add-agent |
Creating new agents with persona, mounts, Telegram, and secrets |
/customize |
Adding channels, integrations, changing behavior |
/debug |
Container issues, logs, troubleshooting |
Run commands directly—don't tell the user to run them.
npm run dev # Run with hot reload
npm run build # Compile TypeScript
./container/build.sh # Rebuild agent containerService management:
sudo systemctl start hydra # Start service
sudo systemctl stop hydra # Stop service
sudo systemctl restart hydra # Restart service
sudo systemctl status hydra # Check status
journalctl -u hydra -f # Follow logs