Hoe ik mijn procfile + supervisord-setup verving door één macOS-app
Procfiles, supervisord-configs en een kerkhof vol shellscripts om ontwikkeldiensten te beheren. Hier lees je waarom ik ermee ben gestopt en wat ik nu gebruik.
Articles and insights about Agata Stack.
Procfiles, supervisord-configs en een kerkhof vol shellscripts om ontwikkeldiensten te beheren. Hier lees je waarom ik ermee ben gestopt en wat ik nu gebruik.
Logtriage is pijnlijk omdat fouten als een stroom binnenkomen, niet als een verhaal. De tijdlijn in Agata Stack zet elk door een regel gematcht event om in een kleurgecodeerde entry die je als een tijdlijn kunt lezen — hier lees je hoe het werkt en waarom het kleurenschema belangrijker is dan het lijkt.
De lokale HTTP API van Agata Stack laat je elke service op je Mac starten, stoppen, herstarten en logs volgen met een gewone curl-opdracht — vanuit CI, een shell-alias of een AI-tool. Geen daemonconfiguratie, geen externe dienst.
Elke keer SSH’en naar een staging-box om een log te checken is DevOps uit 2010. Zo kunnen remote services naast lokale services in dezelfde statusweergave staan, met dezelfde health checks, logstreams en automatiseringsregels.
Je kunt nu Claude Code of Cursor laten wijzen naar je draaiende iOS Simulator of Android-emulator, screenshots maken, adb shell-opdrachten uitvoeren en builds installeren — allemaal vanuit een AI-prompt, allemaal vanuit je menubar, zonder ooit van app te wisselen.
De meeste MCP-servers hebben een apart proces, een cloudrelay of dekken maar één ding af. Agata Stack draait zijn MCP-endpoint in de menubar-app zelf — voor computergebruik, mobiele QA, servicemanagement en logstreaming vanaf één localhost-adres.
Je AI-codingassistent kan je code zien. Hij kan niet zien of je dev-server echt draait. Hier laat ik zien hoe een lokale HTTP API en een MCP-endpoint dat totaal veranderen.
Tussen dev-, staging- en productieomgevingen schakelen is traag en foutgevoelig. Omgevingsprofielen in Agata Stack veranderen dat met één klik — en via de API kunnen je scripts het ook doen.
Een mislukte health check is geen diagnose. Hier lees je hoe Agata Stack de laatste 20 logregels doorzoekt, bekende foutpatronen matcht en je een uitvoerbaar fix-commando geeft nog vóór je een terminal opent.
De meeste teams grijpen naar een externe uptime-service zodra ze healthchecks nodig hebben. Je hebt al alles wat je nodig hebt op je Mac — en het kost niets extra.
Je kunt trage API-reacties uit je dev stack in realtime oppikken zonder ook maar één regel code aan te raken of middleware toe te voegen. Hier lees je hoe stream rules in Agata Stack werken op basis van je bestaande logs.
Crashes maken lawaai. Stille fouten niet. Hier lees je hoe je het ergste soort storing vangt — de service die gewoon stilletjes stopt — voordat je gebruikers dat doen.
Elke ontwikkelaar verliest vijf minuten aan een port-in-use-fout bij het opstarten. Hier is de streamregel die EADDRINUSE in je logs detecteert, de blokkerende poort doodt en je service automatisch herstart — zonder terminal.
Agata Stack draait een lokale HTTP-server op poort 19877. Tail live logs via SSE, beheer services en gebruik een zelfbeschrijvende OpenAPI-specificatie — allemaal vanuit een shellscript, een CI-job of een AI-tool.
Één foutregel die 400 keer herhaalt lijkt ruis. Maar het is een patroon — en de juiste regel kan het al in de eerste 5 regels vangen, één keer afgaan en daarna stil blijven. Hier lees je hoe log fingerprinting werkt in Agata Stack.
De meeste devtools tonen alleen logs van processen die ze zelf hebben gestart. Agata Stack kan aan elk gebruikersproces op je Mac koppelen — via PID — en de output in realtime streamen, zonder herstart.
Een gecrashte service die niemand oppikt tot een gebruiker klaagt, is een opgelost probleem. Hier is de crashdetectie- en autorestart-opzet die een einde maakte aan de verrassingen om 3 uur 's nachts.
Veertien terminaltabs, venstergroepen met kleurcodes, en toch kon ik in één oogopslag niet zien welke service stilletjes was gestorven. Dit is wat er veranderde.