2026-01-31 18:54:24 +02:00
# NanoClaw
2026-02-02 00:07:45 +02:00
Personal Claude assistant. See [README.md ](README.md ) for philosophy and setup. See [docs/REQUIREMENTS.md ](docs/REQUIREMENTS.md ) for architecture decisions.
2026-01-31 18:54:24 +02:00
2026-02-01 13:03:51 +02:00
## Quick Context
2026-01-31 18:54:24 +02:00
2026-02-01 13:03:51 +02:00
Single Node.js process that connects to WhatsApp, routes messages to Claude Agent SDK running in Apple Container (Linux VMs). Each group has isolated filesystem and memory.
2026-01-31 18:54:24 +02:00
2026-02-01 13:03:51 +02:00
## Key Files
2026-01-31 18:54:24 +02:00
2026-02-01 13:03:51 +02:00
| 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 |
2026-02-01 17:35:03 +02:00
| `src/task-scheduler.ts` | Runs scheduled tasks |
2026-02-01 13:03:51 +02:00
| `src/db.ts` | SQLite operations |
| `groups/{name}/CLAUDE.md` | Per-group memory (isolated) |
2026-01-31 18:54:24 +02:00
## Skills
2026-02-01 13:03:51 +02:00
| Skill | When to Use |
|-------|-------------|
| `/setup` | First-time installation, authentication, service configuration |
| `/customize` | Adding channels, integrations, changing behavior |
| `/debug` | Container issues, logs, troubleshooting |
2026-01-31 18:54:24 +02:00
2026-02-01 13:03:51 +02:00
## Development
2026-01-31 18:54:24 +02:00
2026-02-01 15:10:42 +02:00
Run commands directly—don't tell the user to run them.
2026-02-01 13:03:51 +02:00
```bash
npm run dev # Run with hot reload
npm run build # Compile TypeScript
./container/build.sh # Rebuild agent container
2026-01-31 18:54:24 +02:00
```
2026-02-01 13:03:51 +02:00
Service management:
```bash
launchctl load ~/Library/LaunchAgents/com.nanoclaw.plist
launchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist
```