
साइबर सुरक्षा सीखने के संसाधनों, CTF राइटअप्स, शोध पत्रों, और व्यावहारिक लैब्स का क्यूरेटेड संग्रह, जो वेब सुरक्षा, एक्सप्लॉइटेशन, OSINT, और फोरेंसिक में हाथों-हाथ कौशल विकास के लिए है।
एक खुला-स्रोत AI IDE जो कोड लिखने से पहले योजना बनाता है।
MIT लाइसेंस · त्वरित आरंभ · Modo क्या जोड़ता है · योगदान
मैं एक AI कोडिंग टूल में एक छोटी सी सुविधा चाहता था। इसे सुझाने का कोई तरीका नहीं मिला। तो मैंने खुद से पूछा: वास्तव में Kiro, Cursor या Windsurf जैसा कुछ बनाना कितना मुश्किल है?
पता चला — उतना मुश्किल नहीं जितना आप सोचते हैं। Void एडिटर (खुद VS Code का एक फोर्क) से शुरू करके, मैं थोड़े ही समय में उन टूल्स की पेशकश का लगभग 60-70% तक पहुँच गया। यह वास्तव में मजेदार था।
यह है Modo। एक स्वतंत्र डेस्कटॉप IDE जहाँ प्रॉम्प्ट कोड बनने से पहले संरचित योजनाओं में बदल जाते हैं। खुला स्रोत, MIT लाइसेंस, आपके हैक करने के लिए।
नीचे सब कुछ Void के मौजूदा AI चैट, इनलाइन एडिट (Cmd+K), ऑटोकम्पलीट, मल्टी-प्रोवाइडर LLM सपोर्ट, टूल उपयोग और MCP इंटीग्रेशन के ऊपर बनाया गया है। यहाँ नया क्या है:
अधिकांश AI टूल प्रॉम्प्ट → कोड करते हैं। Modo जाता है प्रॉम्प्ट → आवश्यकताएँ → डिज़ाइन → कार्य → कोड।
एक स्पेक .modo/specs/<name>/ में तीन मार्कडाउन फ़ाइलों के रूप में रहता है:
.modo/specs/auth-flow/
├── requirements.md # उपयोगकर्ता कहानियाँ, स्वीकृति मानदंड
├── design.md # आर्किटेक्चर, घटक, डेटा मॉडल
└── tasks.md # कार्यान्वयन चरणों की चेकलिस्ट
Cmd+Shift+S दबाकर या सेशन पिकर में Spec मोड चुनकर एक बनाएँ। फीचर या बगफिक्स चुनें, फिर आवश्यकताएँ-पहले या डिज़ाइन-पहले कार्यप्रवाह। एजेंट प्रत्येक दस्तावेज़ भरता है, आप समीक्षा करते हैं, फिर यह एक-एक करके कार्य निष्पादित करता है — जैसे-जैसे आगे बढ़ता है उन्हें पूरा चिह्नित करता है।
कार्य डिस्क पर संग्रहीत रहते हैं। IDE बंद करें, वापस आएँ, जहाँ छोड़ा था वहाँ से जारी रखें।
कोई भी tasks.md खोलें और प्रत्येक लंबित कार्य को इनलाइन एक क्लिक करने योग्य "▶ Run Task" बटन मिलता है। शीर्ष पर "Run All Pending Tasks" बटन दिखाई देता है। चल रहे कार्य एक स्पिनर दिखाते हैं, पूर्ण हुए एक चेकमार्क। एजेंट काम करते हुए - [ ] → - [~] → - [x] चिह्नित करता है।
.modo/steering/ में मार्कडाउन दस्तावेज़ जो प्रत्येक AI इंटरैक्शन में प्रोजेक्ट नियम इंजेक्ट करते हैं — खुद को दोहराने की आवश्यकता नहीं।
---
inclusion: always
---
# प्रोजेक्ट नियम
- TypeScript सख्त मोड का उपयोग करें
- सभी एंडपॉइंट्स को इनपुट वैलिडेशन चाहिए
तीन इन्क्लूज़न मोड:
always — प्रत्येक इंटरैक्शनfileMatch — जब सक्रिय फ़ाइल किसी ग्लोब पैटर्न से मेल खाती हैmanual — चैट में / कमांड के माध्यम से संदर्भितOpenAPI स्पेक्स, GraphQL स्कीमा या किसी भी प्रोजेक्ट डॉक्यूमेंट को लिंक करने के लिए #[[file:path]] संदर्भों का समर्थन करता है।
.modo/hooks/ में JSON कॉन्फिग जो एजेंट जीवनचक्र के आसपास क्रियाओं को स्वचालित करते हैं।
{
"name": "सेव पर लिंट",
"version": "1.0.0",
"when": { "type": "fileEdited", "patterns": ["**/*.ts"] },
"then": { "type": "runCommand", "command": "npx eslint --fix ${filePath}" }
}
10 ईवेंट प्रकार: fileEdited, fileCreated, fileDeleted, promptSubmit, agentStop, preToolUse, postToolUse, preTaskExecution, postTaskExecution, userTriggered। दो क्रिया प्रकार: askAgent या runCommand। प्री-टूल हुक निष्पादन को अस्वीकार कर सकते हैं। चक्रीय निर्भरता जांच निर्मित है।
एक स्टेटस बार पिल जो ऑटोपायलट (एजेंट स्वायत्त रूप से कार्य करता है) और सुपरवाइज्ड (एजेंट अनुमोदन के लिए रुकता है) के बीच स्विच करता है। एडिट, टर्मिनल कमांड और MCP टूल के लिए ऑटो-अप्रूव सेटिंग्स से सीधे जुड़ा हुआ है।
एकाधिक चैट सत्र टैब के रूप में। प्रत्येक का अपना थ्रेड, संदर्भ और इतिहास होता है। नए खोलें, पुराने बंद करें, या सभी को एक साथ चलाएँ। एक खोजने योग्य इतिहास पैनल आपको पिछली बातचीत खोजने देता है।
मुक्त-रूप अन्वेषण के लिए Vibe मोड में या संरचित विकास के लिए Spec मोड में एक सत्र शुरू करें। Spec मोड में, आपका प्रॉम्प्ट पूर्ण आवश्यकताएँ → डिज़ाइन → कार्य कार्यप्रवाह को ट्रिगर करता है। सक्रिय स्पेक की सामग्री स्वचालित रूप से LLM सिस्टम प्रॉम्प्ट में इंजेक्ट की जाती है।
स्वतंत्र उप-कार्यों के लिए समानांतर एजेंट बनाएँ। प्रत्येक को अपना थ्रेड और टूल एक्सेस मिलता है। स्थिति ट्रैक करें, चल रहे कार्य रद्द करें, या पूर्ण किए गए साफ़ करें।
इंस्टॉल करने योग्य ज्ञान पैकेज जो दस्तावेज़ीकरण, स्टीयरिंग फ़ाइलें और MCP कॉन्फिग बंडल करते हैं। TypeScript, React, Testing, API Design और Docker के लिए अंतर्निर्मित पावर्स। आपके प्रॉम्प्ट में कीवर्ड के आधार पर सक्रिय करें। URL से कस्टम पावर्स इंस्टॉल करें।
एक साइडबार जिसमें स्पेक्स (प्रगति बार और कार्य गणना के साथ), एजेंट हुक (ईवेंट → क्रिया प्रवाह दिखाते हुए), स्टीयरिंग (इन्क्लूज़न मोड दिखाते हुए) और पावर्स के लिए संक्षिप्त करने योग्य अनुभाग हैं।
मैन्युअल हुक, स्टीयरिंग फ़ाइलें और अंतर्निर्मित कमांड तक पहुँचने के लिए चैट में / टाइप करें: स्पेक बनाएँ, कार्य चलाएँ, बातचीत निर्यात करें, वर्कस्पेस आरंभ करें।
स्टीयरिंग फ़ाइलें और सक्रिय स्पेक स्वचालित रूप से प्रत्येक LLM इंटरैक्शन में जोड़ दिए जाते हैं। एजेंट आपके प्रोजेक्ट नियमों का पालन करता है और जानता है कि वह क्या बना रहा है बिना हर बार बताए।
एक उद्देश्य-निर्मित "Modo Dark" थीम जिसमें टील एक्सेंट, ट्यून्ड सिंटैक्स हाइलाइटिंग और टर्मिनल रंग हैं।
प्रत्येक प्रतिक्रिया से पहले एक Modo अवतार दिखाई देता है जिसमें स्ट्रीमिंग के दौरान यादृच्छिक अभिव्यक्तियाँ और पूर्ण होने के बाद एक शांत डिफ़ॉल्ट होता है।
कस्टम ऐप आइकन, विंडो टाइटल, वॉटरमार्क लोगो, उत्पाद पहचान, URL प्रोटोकॉल (modo://) और डेटा निर्देशिकाएँ (.modo-editor/)। UI में सभी Void संदर्भों को Modo समकक्षों से बदल दिया गया है।
Modo: Initialize Workspace डिफ़ॉल्ट स्टीयरिंग फ़ाइलों और कॉन्फिग टेम्पलेट्स के साथ पूर्ण .modo/ निर्देशिका संरचना बनाता है।
कमांड पैलेट से किसी भी बातचीत को क्लिपबोर्ड पर मार्कडाउन के रूप में निर्यात करें।
Modo इन परियोजनाओं के बिना अस्तित्व में नहीं होता:
Void स्वयं प्रदान करता है: मल्टी-प्रोवाइडर सपोर्ट (Anthropic, OpenAI, Gemini, Ollama, Mistral, Groq, OpenRouter), चैट साइडबार, Cmd+K इनलाइन एडिटिंग, ऑटोकम्पलीट, फास्ट/स्लो अप्लाई, टूल कॉलिंग, MCP इंटीग्रेशन, SCM इंटीग्रेशन और सेटिंग्स सिस्टम।
Modo उस नींव के ऊपर Modo क्या जोड़ता है अनुभाग में सब कुछ जोड़ता है।
git clone https://github.com/mohshomis/modo.git
cd modo
npm install # Node 20 आवश्यक है
npm run buildreact # React UI संकलित करें
npm run watch # TypeScript संकलित करें (टर्मिनल में चलता रखें)
./scripts/code.sh # Modo लॉन्च करें
पहले लॉन्च पर, ऑनबोर्डिंग आपको एक मॉडल प्रदाता से जोड़ने के बारे में मार्गदर्शन करता है। Gemini मुफ्त स्तर शुरू करने का सबसे तेज़ तरीका है।
.modo/ # प्रति-प्रोजेक्ट कॉन्फिग ("Initialize Workspace" द्वारा बनाया गया)
├── steering/ # AI संदर्भ में इंजेक्ट किए गए मार्कडाउन नियम
├── specs/ # संरचित फीचर/बगफिक्स कार्यप्रवाह
├── hooks/ # JSON ईवेंट → क्रिया स्वचालन
└── settings/ # MCP और अन्य कॉन्फिग
src/vs/workbench/contrib/void/
├── common/
│ ├── modoSpecService.ts # स्पेक CRUD, कार्य पार्सिंग, संदर्भ निर्माण
│ ├── modoSteeringService.ts # स्टीयरिंग फ़ाइल लोडिंग, फ्रंट-मैटर पार्सिंग, संदर्भ संयोजन
│ ├── modoHookService.ts # हुक लोडिंग, मान्यता, ईवेंट मिलान, फायरिंग
│ ├── modoPowersService.ts # पावर्स रजिस्ट्री, सक्रियण, कीवर्ड मिलान
│ └── modoSubagentService.ts # समानांतर एजेंट निर्माण और जीवनचक्र
├── browser/
│ ├── modoExplorerPane.ts # स्पेक्स, हुक, स्टीयरिंग, पावर्स के लिए साइडबार दृश्य
│ ├── modoSpecActions.ts # स्पेक बनाएँ, कार्य चलाएँ, फ़ाइलें खोलें कमांड
│ ├── modoTaskCodeLens.ts # tasks.md में इनलाइन Run Task / Done बटन
│ ├── modoSlashCommands.ts # / कमांड पिकर, निर्यात, सत्र प्रबंधन
│ ├── modoStatusBar.ts # ऑटोपायलट टॉगल, सक्रिय स्पेक संकेतक
│ ├── modoHookWiring.ts # फ़ाइल परिवर्तन ईवेंट → हुक सिस्टम
│ └── react/src/
│ ├── sidebar-tsx/ # सत्र टैब, इतिहास, वाइब/स्पेक मोड, ऑटोपायलट स्विच
│ ├── modo-spec-panel/ # स्पेक प्रबंधन React UI
│ └── modo-hooks-panel/ # हुक प्रबंधन React UI
└── extensions/
└── modo-theme/ # टील एक्सेंट के साथ कस्टम डार्क थीम
यह प्रोजेक्ट समुदाय-रखरखाव है। मैंने इसे एक सीखने के प्रयोग के रूप में बनाया — मैं इसे सक्रिय रूप से किसी शेड्यूल पर बनाए नहीं रख रहा हूँ। यदि आप कुछ ठीक या जोड़ना चाहते हैं, तो सबसे अच्छा तरीका इसे फोर्क करना और PR सबमिट करना है।
npm run watch # TypeScript संकलन (चलता रखें)
npm run buildreact # React UI (.tsx फ़ाइलें बदलने के बाद चलाएँ)
./scripts/code.sh # IDE लॉन्च करें
कोर सेवाएँ: src/vs/workbench/contrib/void/common/। ब्राउज़र-साइड तर्क: browser/। React घटक: browser/react/src/।
गंभीर योगदानकर्ता जो कमिट एक्सेस चाहते हैं — एक इश्यू खोलें। विवरण के लिए CONTRIBUTING.md देखें।
PR स्वागत है। MIT लाइसेंस।
MIT
| प्रोजेक्ट | यह क्या प्रदान करता है | लाइसेंस |
|---|
| Void | AI चैट, इनलाइन एडिट, ऑटोकम्पलीट, मल्टी-प्रोवाइडर LLM, टूल उपयोग, MCP, अप्लाई इंजन | MIT |
| VS Code | एडिटर कोर, एक्सटेंशन सिस्टम, टर्मिनल, फ़ाइल सिस्टम, सब कुछ अंतर्निहित | MIT |
| Roo Code | विकास के दौरान कुछ पैटर्न संदर्भित | Apache 2.0 |
| कमांड | शॉर्टकट | विवरण |
|---|
| स्पेक बनाएँ | Cmd+Shift+S | नया स्पेक (फीचर/बगफिक्स, आवश्यकता-पहले/डिज़ाइन-पहले) |
| अगला कार्य चलाएँ | — | अगला लंबित स्पेक कार्य निष्पादित करें |
| सभी कार्य चलाएँ | — | सभी शेष कार्य निष्पादित करें |
| स्पेक फ़ाइलें खोलें | — | एडिटर में आवश्यकताएँ, डिज़ाइन, कार्य खोलें |
| स्पेक संदर्भ इंजेक्ट करें | — | चैट में स्पेक संदर्भ लोड करें |
| स्पेक पुनः लोड करें | — | डिस्क से स्पेक फ़ाइलें पुनः पढ़ें |
| वर्कस्पेस आरंभ करें | — | .modo/ निर्देशिका संरचना बनाएँ |
| स्लैश कमांड | — | / कमांड पिकर खोलें |
| बातचीत निर्यात करें | — | चैट को मार्कडाउन के रूप में कॉपी करें |
| ऑटोपायलट टॉगल करें | — | ऑटोपायलट / सुपरवाइज्ड स्विच करें |
| चैट खोलें | Cmd+L | चैट पैनल पर ध्यान केंद्रित करें |
| इनलाइन एडिट | Cmd+K | AI से कोड इनलाइन संपादित करें |