🧬 Lagune को बताएँ कि आपका प्रोजेक्ट क्या है, और यह उसे आपके सुरक्षा नियमों में बदल देता है (या, कोई विवरण न हो तो सिर्फ़ प्रोजेक्ट को देखकर नियम निकाल लेता है)।
सुरक्षा सिद्धांत सभी चरणों को दिशा देने वाली परत हैं: सुरक्षा को सबसे पहले रखने वाले सिद्धांतों का एक सेट, जिसका पालन आगे के हर चरण को करना होता है। इसे अपने प्रोजेक्ट की सुरक्षा स्थिति के लिए कंपाइल-टाइम जाँच समझें।
इस्तेमाल कैसे करें
- खुद बताएँ
- Lagune को सुझाने दें
/lagune-charter मेरा प्रोजेक्ट एक ऑनलाइन स्टोर है जो वीडियो गेम बेचता है। ग्राहक प्रोडक्ट कार्ट में डालते हैं और क्रेडिट कार्ड या बैंक ट्रांसफ़र से पेमेंट करते हैं। वे अपने ऑर्डर और हर ऑर्डर का स्टेटस देख सकते हैं।
/lagune-charter
मुझे एक पेमेंट लाइब्रेरी, लॉगिन का सेटअप और ग्राहक से जुड़ा एक ऑर्डर मॉडल दिख रहा है। यह कुछ बेचने वाला ऑनलाइन स्टोर लगता है। ग्राहक पेमेंट करते हैं और अपने ऑर्डर ट्रैक करते हैं... ☁️
यह क्या समझ लेता है
Lagune आपके विवरण या PRD को दिशा मानकर समझता है कि सुरक्षा के लिहाज़ से उसका क्या मतलब है, फिर प्रोजेक्ट को पढ़कर आपकी बताई बातों से आगे जाता है। उदाहरण के लिए:
- ऑर्डर रखने वाले कार्ट का मतलब है कि कोई डेटाबेस है:
- जैसे,
"डेटा कहाँ स्टोर होता है?","उस तक कौन पहुँच सकता है?","क्या वह लीक होता है?"।
- जैसे,
- ग्राहक अपने ऑर्डर देख सकते हैं, इसका मतलब है कि किसी तरह का लॉगिन या एक्सेस कंट्रोल है:
- जैसे,
"क्या एक ग्राहक दूसरे के ऑर्डर तक पहुँच सकता है?","क्या सेशन सुरक्षित हैं?"।
- जैसे,
- कार्ड और बैंक ट्रांसफ़र से पेमेंट लेने का मतलब है कि पैसा और संवेदनशील डेटा शामिल हैं:
- जैसे,
"क्या कार्ड का डेटा सेव होता है?","क्या पेमेंट की पुष्टि होती है?"।
- जैसे,
आपका विवरण और प्रोजेक्ट मिलकर पूरी तस्वीर बनाते हैं: आपका विवरण इरादा तय करता है, और डिपेंडेंसी, README और कॉन्फ़िगरेशन पढ़ने से वह सामने आता है जिसका आपने ज़िक्र नहीं किया। अगर कोई ज़रूरी बात फिर भी साफ़ नहीं होती, तो Lagune अंदाज़ा लगाने के बजाय एक छोटा, सीधा सवाल पूछता है।
इसके आधार पर Lagune प्रोजेक्ट के लिए खास तौर पर तैयार सुरक्षा नियमों का सेट बनाता है, जिसे आप जब चाहें देख और बदल सकते हैं।
- आप प्रोजेक्ट के लिए अपने सुरक्षा नियम खुद भी तय कर सकते हैं।
- आप जितनी काम की जानकारी देंगे, आखिरी रिपोर्ट उतनी ही बेहतर होगी:
- बताएँ कि प्रोजेक्ट क्या है, कैसे काम करता है, और अंदर क्या होता है।
- असली यूज़र कौन है? यूज़र क्या कर सकते हैं, और क्या नहीं?
- व्यवहार से जुड़ी जानकारी उतनी ही कीमती है जितनी तकनीकी जानकारी।
- सुरक्षा सिद्धांतों की मेमोरी
.lagune/memory/charter.mdमें रहती है।
यह कौन-सी श्रेणियाँ दर्ज करता है
विशेषज्ञताएँ, यानी वह सुरक्षा ज्ञान जिसे आगे के चरण ज़रूरत पड़ने पर ही लोड करते हैं, श्रेणी के हिसाब से आपके प्रोजेक्ट के कैटलॉग में जुड़ती हैं। जब तक आपके प्रोजेक्ट में कोई श्रेणी दर्ज नहीं है, charter चरण प्रोजेक्ट को पढ़कर हर वह श्रेणी दर्ज करता है जिसका आधार उसे मिलता है, जैसे आपके प्रोजेक्ट की भाषा, किसी LLM को किए गए कॉल या कंटेनर, और अपने सारांश में उनके नाम बताता है।
श्रेणियाँ दर्ज हो जाने के बाद charter चरण उन्हें वैसे ही रहने देता है और सिर्फ़ ऐसी श्रेणी का नाम बताता है जिसे आपका प्रोजेक्ट अभी इस्तेमाल नहीं करता। आप इन्हें कभी भी खुद बदल सकते हैं:
npx lagune write add --categories python
npx lagune write remove --categories python
कौन-से फ़ोल्डर छोड़ने का सुझाव देता है
जब charter चरण को पढ़ते समय ऐसे कमिट किए गए फ़ोल्डर मिलते हैं जो बचाने लायक आपके प्रोजेक्ट का कोड नहीं हैं, जैसे जान-बूझकर कमज़ोर दिखने के लिए लिखे गए टेस्ट फ़िक्स्चर, तो यह अपने सारांश के आखिर में उन्हें नंबर देकर दिखाता है। यह कभी अपने आप कोई फ़ोल्डर नहीं छोड़ता, क्योंकि कोई दुर्भावनापूर्ण रिपॉज़िटरी अपने कोड को फ़िक्स्चर जैसा दिखा सकती है, इसलिए सिर्फ़ वही नंबर दर्ज होते हैं जो आप जवाब में भेजते हैं। इन्हें खुद बदलने का तरीका हुक कॉन्फ़िगर करें में बताया गया है।
आगे क्या
नियम तय हो जाने के बाद, खाका बनाएँ कि आपका सिस्टम असल में क्या करता है: /lagune-detect।
अक्सर पूछे जाने वाले सवाल
charter, यानी सुरक्षा सिद्धांत, Lagune में सभी चरणों को दिशा देने वाली परत है: सुरक्षा को सबसे पहले रखने वाले सिद्धांतों का एक सेट, जिसका पालन आगे के हर चरण को करना होता है। इसे अपने प्रोजेक्ट की सुरक्षा स्थिति के लिए कंपाइल-टाइम जाँच समझें।
.lagune/memory/charter.md में।
हाँ। Lagune आपके विवरण और आपके कोड से नियम सुझाता है, और आप उन्हें दोबारा लिख सकते हैं, हटा सकते हैं, नए जोड़ सकते हैं, या उनका दायरा छोटा कर सकते हैं।
सिर्फ़ तब, जब कोई श्रेणी दर्ज न हो। ऐसे में यह प्रोजेक्ट को पढ़कर हर वह श्रेणी दर्ज करता है जिसका आधार उसे मिलता है, जैसे आपकी भाषा या किसी LLM को किए गए कॉल। श्रेणियाँ एक बार दर्ज हो जाने के बाद यह उन्हें कभी नहीं बदलता।
