How I Replaced My procfile + supervisord Setup with One macOS App
Procfiles, supervisord configs, and a graveyard of shell scripts to manage dev services. Here is why I stopped maintaining all of it and what I use now.
Articles and insights about Agata Stack.
Procfiles, supervisord configs, and a graveyard of shell scripts to manage dev services. Here is why I stopped maintaining all of it and what I use now.
Log triage is painful because errors arrive as a stream, not a story. The timeline in Agata Stack turns every rule-matched event into a colour-coded entry you can read like a timeline — here is how it works and why the colour scheme matters more than it looks.
The Agata Stack local HTTP API lets you start, stop, restart, and tail logs from any service on your Mac using a plain curl command — from CI, from a shell alias, or from an AI tool. No daemon config, no third-party service.
SSH-ing into a staging box every time you want to check a log is 2010 DevOps. Here is how remote services can sit alongside local ones in the same status view, with the same health checks, log streams, and automation rules.
You can now point Claude Code or Cursor at your running iOS Simulator or Android emulator, take screenshots, run adb shell commands, and install builds — all from an AI prompt, all from your menubar, without ever switching apps.
Most MCP servers need a separate process, a cloud relay, or only cover one thing. Agata Stack runs its MCP endpoint inside the menubar app itself — covering computer-use, mobile QA, service management, and log streaming from one localhost address.
Your AI coding assistant can see your code. It cannot see whether your dev server is actually running. Here is how a local HTTP API and an MCP endpoint change that equation entirely.
Context-switching between dev, staging, and production environments is slow and fragile. Environment profiles in Agata Stack change the whole thing with one click — and the API means your scripts can do it too.
A failed health check is not a diagnosis. Here is how Agata Stack reads the last 20 log lines, matches known error patterns, and hands you a runnable fix command before you even open a terminal.
Most teams reach for a third-party uptime service the moment they need health checks. You already have everything you need on your Mac — and it costs nothing extra.
You can catch slow API responses from your dev stack in real time without touching a single line of code or adding middleware. Here is how stream rules in Agata Stack work against your existing logs.
Crashes make noise. Silent failures do not. Here is how to catch the worst kind of outage — the service that just quietly stops — before your users do.
Every developer has lost five minutes to a port-in-use error at startup. Here is the stream rule that detects EADDRINUSE in your logs, kills the blocking port, and restarts your service — automatically, without a terminal.
Agata Stack runs a local HTTP server on port 19877. Tail live logs over SSE, manage services, and hit a self-describing OpenAPI spec — all from a shell script, a CI job, or an AI tool.
One error line repeating 400 times looks like noise. But it is a pattern — and the right rule can catch it in the first 5 lines, fire once, and stay quiet after that. Here is how log fingerprinting works in Agata Stack.
Most dev tools only show logs for processes they launched. Agata Stack can attach to any user process running on your Mac — by PID — and stream its output in real time, no restart required.
A crashed service that nobody catches until a user complains is a solved problem. Here is the crash-detection and auto-restart setup that ended the 3am surprises.
Fourteen terminal tabs, colour-coded window groups, and I still could not tell at a glance which service had quietly died. Here is what changed.