इस प्रोजेक्ट के बारे में

magus एक बिल्ड सिस्टम और टास्क ऑर्केस्ट्रेटर है जो पॉलीग्लॉट मोनोरेपो के लिए डिज़ाइन किया गया है। यह एक सिंगल स्टैटिकली लिंक्ड Go बाइनरी के रूप में आता है, जिसमें इंस्टॉल करने के लिए कोई दूसरा टूलचेन नहीं है। टारगेट Buzz में लिखे जाते हैं, जो बाइनरी में एम्बेडेड एक छोटी टाइप्ड स्क्रिप्टिंग भाषा है, और `magusfile.buzz` में एक्सपोर्टेड फ़ंक्शन के रूप में घोषित किए जाते हैं। मुख्य विशेषताएं शामिल हैं: - **प्रभावित सेट**: प्रोजेक्ट्स और फ़ाइल-स्तरीय इनपुट घोषणाओं का एक डिपेंडेंसी ग्राफ़ `magus affected <target>` को केवल उन प्रोजेक्ट्स को चलाने देता है जिन तक कोई बदलाव पहुंच सकता है, डिपेंडेंसी क्रम में। यह CI कार्य को केवल उसी तक सीमित करता है जिसे डिफ़ वास्तव में छूता है। - **कंटेंट-एड्रेस्ड कैशिंग**: हर टारगेट अपने इनपुट और आउटपुट घोषित करता है। magus इनपुट को हैश करता है और संग्रहीत आउटपुट (SHA-256) को फिर से चलाता है जब समान कार्य फिर से अनुरोधित किया जाता है, जिससे बाइट-दर-बाइट समान परिणाम मिलते हैं। - **नॉलेज ग्राफ़**: घोषित स्रोतों (magusfile, docs, SCIP इंडेक्स, git इतिहास, CODEOWNERS) से निर्मित, बाहरी इंडेक्सर द्वारा अनुमानित नहीं। यह `magus query "kind=target lint"`, `magus explain <node>`, और `magus refs <symbol>` जैसे क्वेरी का उत्तर देता है। ग्राफ़ बिल्ड्स के लिए स्रोत-सत्य होने का एक उप-उत्पाद है। - **एक शब्दावली**: टारगेट्स, स्पेल्स (भाषा एडेप्टर), चार्म्स (मॉडिफायर जैसे `rw` रीड-राइट के लिए), और ऑप्स (टूल इनवोकेशन) एक बार नामित होते हैं और CLI, कॉन्फ़िग और ग्राफ़ में पुनः उपयोग किए जाते हैं। - **टर्मिनल UI**: टर्मिनल के नीचे एक पिन किया गया प्रोग्रेस बैंड जो स्क्रॉलबैक को साफ़ नहीं करता, प्रोजेक्ट द्वारा समूहीकृत विफलता ट्री और ग्राफ़-सर्च पिकर के साथ। सभी सतहें टर्मिनल के बिना सादे टेक्स्ट में बदल जाती हैं। - **ब्राउज़र कंसोल**: वैकल्पिक रीड-ओनली वेब ऐप्स (डैशबोर्ड, ग्राफ़ एक्सप्लोरर, लॉग व्यूअर, एक्टिविटी ट्रेल, डिफ़) जो डेमन द्वारा लूपबैक पर परोसे जाते हैं, बाइनरी में कोई एम्बेडेड UI नहीं। डेटा कभी भी मशीन से बाहर नहीं जाता। - **एजेंट एकीकरण**: Codex और Claude Code के लिए इंस्टॉल करने योग्य स्किल्स, साथ ही एक प्रतिबद्ध `MAGUS.md` रूटिंग इंडेक्स, AI एजेंटों को ग्राफ़ क्वेरी करने और टारगेट्स को निर्धारित रूप से चलाने देता है। आर्किटेक्चर: एक डेमन (`magus server start`) स्थानीय CLI डिस्पैच के लिए एक Unix सॉकेट और MCP, रीड-ओनली API, और Connect सेवाओं के लिए एक HTTP सर्वर उजागर करता है, सभी एक गार्ड चेन (DNS-रिबाउंड चेक, बियरर टोकन, CORS) के पीछे। हेल्थ एंडपॉइंट्स अनगार्डेड हैं। एक समय-सीमित LAN लिसनर फ़ोन पर रीड-ओनली कंसोल साझा कर सकता है। गैर-लक्ष्य: कोई रिमोट निष्पादन नहीं, कोई टूलचेन प्रबंधन नहीं, कोई हर्मेटिक सैंडबॉक्स नहीं (डिफ़ॉल्ट रूप से बंद, macOS पर कोई कर्नेल परत नहीं), कोई कंटेनर अलगाव नहीं, और एक छोटा पारिस्थितिकी तंत्र (युवा प्रोजेक्ट, ज्यादातर एक व्यक्ति का काम)। आरंभ करना: एक curl स्क्रिप्ट के माध्यम से इंस्टॉल करें (चलाने से पहले समीक्षा करें), फिर बिल्ड, टेस्ट, लिंट आदि के लिए एक्सपोर्टेड फ़ंक्शन के साथ एक `magusfile.buzz` लिखें। `magus ls`, `magus run test`, `magus affected ci`, और `magus query` जैसे कमांड तत्काल उत्तर प्रदान करते हैं।