मी माझं procfile + supervisord सेटअप एका macOS अॅपने कसं बदललं
डेव्ह सेव्हिसेस सांभाळण्यासाठी Procfiles, supervisord कॉन्फिग्ज, आणि शेल स्क्रिप्ट्सचं एक कब्रस्थान. मी हे सगळं का सांभाळणं थांबवलं आणि आता काय वापरतो, ते इथे आहे.
Articles and insights about Agata Stack.
डेव्ह सेव्हिसेस सांभाळण्यासाठी Procfiles, supervisord कॉन्फिग्ज, आणि शेल स्क्रिप्ट्सचं एक कब्रस्थान. मी हे सगळं का सांभाळणं थांबवलं आणि आता काय वापरतो, ते इथे आहे.
लॉग ट्रायाज वेदनादायक आहे कारण चुका एका कथेसारख्या नव्हे, तर सतत येणाऱ्या प्रवाहासारख्या येतात. Agata Stack मधील timeline प्रत्येक rule-matched event ला रंग-कोड केलेल्या entry मध्ये रूपांतरित करते, जी तुम्ही timeline सारखी वाचू शकता — ते कसे काम करते आणि रंगसंगती दिसते त्यापेक्षा का जास्त महत्त्वाची आहे, हे इथे आहे.
Agata Stack लोकल HTTP API तुम्हाला तुमच्या Mac वरील कोणतीही सेवा साध्या curl कमांडने सुरू, बंद, रीस्टार्ट आणि लॉग्स टेल करू देतो — CI मधून, shell alias मधून, किंवा AI टूलमधून. ना daemon config, ना third-party service.
लॉग तपासण्यासाठी प्रत्येक वेळी SSH करून स्टेजिंग बॉक्समध्ये जाणे हे 2010 मधले DevOps आहे. रिमोट सेवा स्थानिक सेवांसोबत त्याच स्टेटस व्ह्यूमध्ये कशा बसू शकतात, ते येथे आहे — त्याच आरोग्य तपासण्या, लॉग स्ट्रीम्स आणि ऑटोमेशन नियमांसह.
आता तुम्ही Claude Code किंवा Cursor ला तुमच्या चालू असलेल्या iOS Simulator किंवा Android emulator कडे निर्देश करू शकता, स्क्रीनशॉट घेऊ शकता, adb shell कमांड्स चालवू शकता, आणि builds install करू शकता — सगळं AI prompt मधून, सगळं menubar मधून, ॲप्स न बदलता.
बहुतेक MCP सर्व्हरना वेगळा process, cloud relay, किंवा फक्त एकच गोष्ट हाताळता येते. Agata Stack आपला MCP endpoint menubar app मध्येच चालवतो — computer-use, mobile QA, service management, आणि log streaming एकाच localhost address वरून.
तुमचा AI कोडिंग असिस्टंट तुमचा कोड पाहू शकतो. पण तुमचा dev server खरंच चालू आहे का, हे तो पाहू शकत नाही. स्थानिक HTTP API आणि MCP endpoint हे समीकरण कसे पूर्णपणे बदलतात, ते इथे आहे.
dev, staging आणि production environments मध्ये context बदलणे धीमे आणि नाजूक असते. Agata Stack मधील Environment profiles हे सगळं एक क्लिकमध्ये बदलतात — आणि API मुळे तुमचे scripts सुद्धा ते करू शकतात.
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.
बहुतेक टीम्सना हेल्थ चेक्सची गरज पडताच त्या तृतीय-पक्ष अपटाइम सेवेचा आधार घ्यावा लागतो. तुमच्याकडे तुमच्या Mac वर आधीपासूनच सगळं आहे — आणि त्यासाठी काहीच अतिरिक्त खर्च नाही.
तुमच्या dev stack मधून संथ API responses real time मध्ये पकडा — एकही code line न बदलता किंवा middleware न जोडता. Agata Stack मधील stream rules तुमच्या existing logs वर कसे काम करतात ते इथे आहे.
क्रॅश आवाज करतात. शांत अपयश करत नाहीत. वापरकर्त्यांपूर्वीच सर्वात वाईट प्रकारचा आउटेज — सेवा फक्त शांतपणे थांबते — कसा पकडायचा ते इथे आहे.
स्टार्टअपवेळी port-in-use त्रुटीमुळे प्रत्येक डेव्हलपरने किमान पाच मिनिटे गमावली आहेत. इथे असा stream rule आहे जो तुमच्या logs मध्ये EADDRINUSE शोधतो, अडथळा करणारा पोर्ट बंद करतो, आणि तुमची सेवा आपोआप रीस्टार्ट करतो — टर्मिनलशिवाय.
Agata Stack पोर्ट 19877 वर एक स्थानिक HTTP सर्व्हर चालवतो. SSE वरून लाइव्ह लॉग्स टेल करा, सेव्हिसेस मॅनेज करा, आणि self-describing OpenAPI spec ला हिट करा — सगळं shell script, CI job, किंवा AI tool मधून.
एकच त्रुटीची ओळ 400 वेळा पुन्हा दिसली तर ती आवाजासारखी वाटते. पण तो एक पॅटर्न असतो — आणि योग्य नियम पहिल्या 5 ओळींतच तो पकडू शकतो, एकदाच ट्रिगर होऊ शकतो, आणि त्यानंतर शांत राहू शकतो. Agata Stack मध्ये लॉग फिंगरप्रिंटिंग कसे काम करते ते इथे आहे.
बहुतेक dev tools फक्त त्यांनी सुरू केलेल्या प्रक्रियांचेच लॉग्स दाखवतात. Agata Stack तुमच्या Mac वर चालणाऱ्या कोणत्याही user process ला — PID द्वारे — attach करू शकते आणि त्याचे output real time मध्ये stream करू शकते, restartची गरज नाही.
ज्याला वापरकर्ता तक्रार करेपर्यंत कोणीच पकडत नाही अशी क्रॅश झालेली सेवा ही आता सुटलेली समस्या आहे. इथे 3 वाजताच्या आश्चर्यांना संपवणारी क्रॅश-डिटेक्शन आणि ऑटो-रीस्टार्ट सेटअप दिली आहे.
चौदा टर्मिनल टॅब, रंग-कोड केलेले विंडो गट, आणि तरीही कोणती सेवा शांतपणे बंद पडली आहे हे एका नजरेत कळत नव्हते. हेच बदलले.