ah-control: process inventory and tmux alternatives
| Window | CLI | Command |
|---|---|---|
| watchctl:watch-crashes | watchctl | watchctl watch-crashes --watch |
| watchctl:watch-project | watchctl | watchctl watch-project (chokidar file watcher) |
| telegramctl:await-callbacks-frontend | telegramctl | telegramctl await-callbacks-frontend --watch |
| telegramctl:await-callbacks-user | telegramctl | telegramctl await-callbacks-user --watch |
| vectorctl:run-daemon | vectorctl | vectorctl run-daemon |
| internalctl:monitor-browser-sessions | internalctl | internalctl monitor-browser-sessions --watch |
| internalctl:check-claude-upgrade | internalctl | internalctl check-claude-upgrade --watch --interval 300 |
| internalctl:scrape-claude-changelog-analysis | internalctl | internalctl scrape-claude-changelog-analysis --watch |
| knowctl:sync-topics | knowctl | knowctl sync-topics --with-notifications --watch |
| claudectl:sync-sessions | claudectl | claudectl sync-sessions --watch --interval 120 --daily-report |
| internalctl:watch-system-prompts | internalctl | internalctl watch-system-prompts --watch |
| contentctl:sync-links | contentctl | contentctl sync-links --with-notifications --watch --interval 300 |
| CLI | Count | Processes |
|---|---|---|
| watchctl | 2 | watch-crashes, watch-project |
| internalctl | 4 | monitor-browser-sessions, check-claude-upgrade, scrape-claude-changelog-analysis, watch-system-prompts |
| vectorctl | 1 | run-daemon (unified embedding daemon for knowctl + claudectl) |
| knowctl | 1 | sync-topics |
| claudectl | 1 | sync-sessions |
| telegramctl | 2 | await-callbacks-frontend, await-callbacks-user |
| contentctl | 1 | sync-links |
- YAML config, very similar to existing teamocil YAML
- Real TUI with process list + live log output
- Supports dependencies, health checks, restart policies
- Single binary, no dependencies
- https://github.com/F1bonacc1/process-compose
Caveat: No built-in failure notifications. Health check exec probes can be wired to call internalctl send-notification as a workaround. The existing watchctl watch-crashes would need adapting to poll process-compose status instead of tmux panes.
- Single Procfile listing all processes
- Built on tmux under the hood, color-coded interleaved output
overmind connect <name>to attach to one process- Closest drop-in replacement
- https://github.com/DarthSim/overmind
- One plist per process in
~/Library/LaunchAgents/ - Survives reboots, auto-restarts on crash
- Logs go to files, view with
lnavormultitail - Most "proper" for macOS but verbose XML config
- Per-process supervision with log capture
- Each process gets its own log directory
- Overkill unless you want strong supervision guarantees
- Run everything with output redirected to
~/.local/state/ah-control/<name>.log - Managed by a simple shell script
- View with
lnav ~/.local/state/ah-control/*.log - Simplest approach but no restart management