नियम
नियम एजेंट के लिए सिस्टम-स्तरीय निर्देश प्रदान करते हैं। ये प्रॉम्प्ट्स, स्क्रिप्ट्स और अन्य चीज़ों को एक साथ जोड़ते हैं, जिससे आपकी टीम में वर्कफ़्लो को प्रबंधित और साझा करना आसान हो जाता है।
Cursor चार प्रकार के नियमों का समर्थन करता है:
प्रोजेक्ट नियम
.cursor/rules में संग्रहीत, संस्करण-नियंत्रित और आपके कोडबेस तक सीमित।
उपयोगकर्ता नियम
आपके Cursor परिवेश में वैश्विक रूप से लागू। एजेंट (चैट) द्वारा उपयोग किए जाते हैं।
टीम नियम
डैशबोर्ड से प्रबंधित, पूरी टीम में लागू नियम। Team और Enterprise प्लान पर उपलब्ध।
AGENTS.md
मार्कडाउन प्रारूप में एजेंट निर्देश। .cursor/rules का सरल विकल्प।
नियम कैसे काम करते हैं
बड़े भाषा मॉडल अलग-अलग पूर्णताओं के बीच स्मृति बनाए नहीं रखते। नियम प्रॉम्प्ट स्तर पर स्थायी, पुनः प्रयोज्य संदर्भ प्रदान करते हैं।
लागू होने पर, नियम सामग्री मॉडल संदर्भ की शुरुआत में शामिल की जाती है। इससे AI को कोड जनरेट करने, संपादनों को समझने या वर्कफ़्लो में सहायता करने के लिए सुसंगत मार्गदर्शन मिलता है।
प्रोजेक्ट नियम
प्रोजेक्ट नियम .cursor/rules में .mdc फ़ाइलों के रूप में रहते हैं और संस्करण-नियंत्रित होते हैं। इन्हें पाथ पैटर्न के आधार पर स्कोप किया जा सकता है, मैन्युअल रूप से लागू किया जा सकता है या प्रासंगिकता के आधार पर शामिल किया जा सकता है।
प्रोजेक्ट नियमों का उपयोग इन कार्यों के लिए करें:
- अपने कोडबेस के बारे में डोमेन-विशिष्ट ज्ञान को संहिताबद्ध करना
- प्रोजेक्ट-विशिष्ट वर्कफ़्लो या टेम्पलेट्स को स्वचालित करना
- शैली या आर्किटेक्चर संबंधी निर्णयों को मानकीकृत करना
रूल फ़ाइल की संरचना
हर नियम एक .mdc फ़ाइल होता है, जिसका नाम आप अपनी इच्छानुसार रख सकते हैं। प्रोजेक्ट नियमों के लिए .mdc एक्सटेंशन होना ज़रूरी है। .cursor/rules में मौजूद सामान्य .md फ़ाइल को नियम सिस्टम अनदेखा कर देता है, क्योंकि उसमें description, globs और alwaysApply बताने के लिए कोई फ्रंटमैटर नहीं होता। अगर आप सामान्य मार्कडाउन पसंद करते हैं, तो इसके बजाय AGENTS.md का उपयोग करें।
.cursor/rules/ react-patterns.mdc # प्रोजेक्ट नियम के रूप में मान्य api-guidelines.md # अनदेखा किया गया (गलत एक्सटेंशन) frontend/ # नियमों को फ़ोल्डरों में व्यवस्थित करें components.mdcनियम की संरचना
हर नियम फ्रंटमैटर मेटाडेटा और सामग्री वाली एक मार्कडाउन फ़ाइल है। description, globs और alwaysApply प्रॉपर्टी बदलने के लिए टाइप ड्रॉपडाउन से तय करें कि नियम कैसे लागू होंगे।
| नियम प्रकार | विवरण |
|---|---|
Always Apply | हर चैट सत्र में लागू करें |
Apply Intelligently | जब एजेंट विवरण के आधार पर इसे प्रासंगिक माने |
Apply to Specific Files | जब कोई फ़ाइल निर्दिष्ट पैटर्न से मेल खाए |
Apply Manually | चैट में @-उल्लेख होने पर (उदाहरण के लिए, @my-rule) |
आंतरिक रूप से, ये तीन फ्रंटमैटर फ़ील्ड मिलकर तय करते हैं कि नियम कब शामिल होगा:
alwaysApply | description | globs | व्यवहार |
|---|---|---|---|
true | — | — | हमेशा शामिल होता है। ग्लोब और विवरण को अनदेखा किया जाता है। |
false | — | provided | मिलान वाली फ़ाइल संदर्भ में होने पर स्वचालित रूप से संलग्न होता है। |
false | provided | omitted | एजेंट विवरण पढ़ता है और प्रासंगिक होने पर नियम शामिल करता है। |
false | omitted | omitted | केवल तब शामिल होता है, जब आप चैट में नियम का @-उल्लेख करते हैं। |
---alwaysApply: true---- सभी स्रोत फ़ाइलों में कंपनी का कॉपीराइट हेडर शामिल होना चाहिए- जब आप कार्यान्वयन विवरणों को लेकर अनिश्चित हों, तो परिवर्तन प्रस्तावित करने से पहले संबंधित स्रोत फ़ाइलें पढ़ें- `dist/` या `build/` निर्देशिकाओं में जनरेट की गई फ़ाइलों को कभी न बदलें---globs: src/components/**/*.tsxalwaysApply: false---- Use named exports, not default exports- Co-locate styles in a module CSS file next to the component- Keep components under 200 lines. Extract subcomponents into the same directory when a file grows beyond that- Prefer composition over prop drilling. Pass children or render props instead of threading data through multiple layers---description: RPC service conventions and patterns for the backendalwaysApply: false---- Define each service in its own file under `src/services/`- Always validate inputs at the service boundary before passing data to internal functions- Return structured error objects with a `code` and `message` field, never throw raw strings- Add a `@service-template.ts` reference file when creating a new service for the standard boilerplate---alwaysApply: false---- Every database migration must have both `up` and `down` functions so it can be fully reversed- Never alter a column type in-place. Add a new column, backfill, then drop the old one in a separate migration- Reference the template for the expected file structure@migration-template.sqlग्लोब पैटर्न के उदाहरण
किसी नियम को खास फ़ाइलों या डायरेक्टरी तक सीमित करने के लिए globs का उपयोग करें। एक से ज़्यादा पैटर्न को अल्पविराम से अलग करें।
| पैटर्न | मिलान |
|---|---|
* | फ़ाइल नाम का कोई एक सेगमेंट |
** | कितनी भी डायरेक्टरी (रिकर्सिव) |
*.ts | रूट में मौजूद सभी .ts फ़ाइलें |
**/*.ts | किसी भी डायरेक्टरी में मौजूद सभी .ts फ़ाइलें |
src/** | src/ के अंतर्गत कहीं भी मौजूद सभी फ़ाइलें |
src/**/*.tsx | src/ के अंतर्गत कहीं भी मौजूद सभी .tsx फ़ाइलें |
docs/**/*.md, docs/**/*.mdx | docs/ के अंतर्गत .md और .mdx फ़ाइलें (अल्पविराम-से-पृथक) |
tailwind.config.* | किसी भी एक्सटेंशन वाली tailwind.config |
नियम बनाना
नियम बनाने के दो तरीके हैं:
- चैट में
/create-rule: एजेंट में/create-ruleटाइप करें और अपनी ज़रूरत बताएँ। एजेंट उचित फ्रंटमैटर के साथ रूल फ़ाइल बनाकर उसे.cursor/rulesमें सहेज देता है। - Customize से: साइडबार में Customize खोलें, नियम पर जाएँ और Add Rule पर क्लिक करें। इससे
.cursor/rulesमें एक नई रूल फ़ाइल बनती है। Customize में आप सभी नियम और उनकी स्थिति देख सकते हैं।
सर्वोत्तम प्रथाएँ
अच्छे नियम केंद्रित, कार्रवाई योग्य और सीमित स्कोप वाले होते हैं।
- नियमों को 500 पंक्तियों से कम रखें
- बड़े नियमों को कई छोटे, संयोजनीय नियमों में बाँटें
- ठोस उदाहरण या संदर्भित फ़ाइलें दें
- अस्पष्ट निर्देशों से बचें। नियमों को स्पष्ट आंतरिक दस्तावेज़ों की तरह लिखें
- चैट में प्रॉम्प्ट्स दोहराते समय नियमों का पुन: उपयोग करें
- फ़ाइलों की सामग्री कॉपी करने के बजाय उनका संदर्भ दें—इससे नियम छोटे रहते हैं और कोड में बदलाव के साथ पुराने नहीं पड़ते
नियमों में किन चीज़ों से बचें
- पूरी स्टाइल गाइड कॉपी करना: इसके बजाय लिंटर का उपयोग करें। एजेंट सामान्य स्टाइल परंपराएँ पहले से जानता है।
- हर संभावित कमांड का दस्तावेज़ीकरण करना: एजेंट npm, git और pytest जैसे सामान्य उपकरण जानता है।
- ऐसे एज केस के लिए निर्देश जोड़ना जो शायद ही कभी लागू होते हैं: नियमों को उन पैटर्न पर केंद्रित रखें जिनका आप अक्सर उपयोग करते हैं।
- अपने कोडबेस में पहले से मौजूद चीज़ों को दोहराना: कोड कॉपी करने के बजाय मानक उदाहरणों का संदर्भ दें।
सरलता से शुरू करें। नियम केवल तब जोड़ें, जब आप देखें कि एजेंट एक ही गलती बार-बार कर रहा है। अपने पैटर्न समझने से पहले ज़रूरत से ज़्यादा अनुकूलन न करें।
अपने नियमों को git में चेक इन करें, ताकि आपकी पूरी टीम को लाभ मिले। जब आप एजेंट को गलती करते देखें, तो नियम अपडेट करें। आप किसी GitHub समस्या या PR में @cursor को टैग भी कर सकते हैं, ताकि एजेंट आपके लिए नियम अपडेट कर सके।
रूल फ़ाइल प्रारूप
हर नियम एक मार्कडाउन फ़ाइल होती है, जिसमें फ्रंटमैटर मेटाडेटा और सामग्री होती है। फ्रंटमैटर मेटाडेटा से यह नियंत्रित किया जाता है कि नियम कैसे लागू होगा। सामग्री ही नियम है।
---description: "This rule provides standards for frontend components and API validation"alwaysApply: false---...rest of the rule contentयदि alwaysApply true है, तो नियम हर चैट सत्र में लागू किया जाएगा। अन्यथा, Cursor एजेंट को नियम का विवरण दिया जाएगा, ताकि वह तय कर सके कि इसे लागू करना है या नहीं।
उदाहरण
यह नियम फ्रंटएंड कंपोनेंट्स के लिए मानक तय करता है:
कंपोनेंट्स डायरेक्टरी में काम करते समय:
- स्टाइलिंग के लिए हमेशा Tailwind का उपयोग करें
- एनिमेशन के लिए Framer Motion का उपयोग करें
- कंपोनेंट के नामकरण नियमों का पालन करें
यह नियम API एंडपॉइंट्स के लिए सत्यापन लागू करता है:
API डायरेक्टरी में:
- सभी सत्यापन के लिए zod का उपयोग करें
- zod स्कीमा के साथ रिटर्न प्रकार तय करें
- स्कीमा से जनरेट किए गए प्रकार एक्सपोर्ट करें
यह नियम Express सेवाओं के लिए एक टेम्पलेट देता है:
Express सेवा बनाते समय इस टेम्पलेट का उपयोग करें:
- RESTful सिद्धांतों का पालन करें
- त्रुटि प्रबंधन मिडलवेयर शामिल करें
- उचित लॉगिंग सेट अप करें
@express-service-template.ts
यह नियम React कंपोनेंट की संरचना तय करता है:
React कंपोनेंट्स को इस लेआउट का पालन करना चाहिए:
- सबसे ऊपर Props इंटरफ़ेस
- नामित एक्सपोर्ट के रूप में कंपोनेंट
- सबसे नीचे स्टाइल्स
@component-template.tsx
यह नियम ऐप विश्लेषण को स्वचालित करता है:
ऐप का विश्लेषण करने के लिए कहे जाने पर:
npm run devसे dev सर्वर चलाएँ- कंसोल से लॉग प्राप्त करें
- प्रदर्शन सुधार सुझाएँ
यह नियम प्रलेखन जनरेट करने में मदद करता है:
प्रलेखन का मसौदा तैयार करने में मदद करें:
- कोड टिप्पणियाँ निकालकर
- README.md का विश्लेषण करके
- मार्कडाउन प्रलेखन जनरेट करके
सबसे पहले @reactiveStorageTypes.ts में टॉगल करने के लिए एक Property बनाएँ।
@reactiveStorageService.tsx में INIT_APPLICATION_USER_PERSISTENT_STORAGE में डिफ़ॉल्ट मान जोड़ें।
beta सुविधाओं के लिए @settingsBetaTab.tsx में टॉगल जोड़ें, अन्यथा @settingsGeneralTab.tsx में जोड़ें। सामान्य चेकबॉक्स के लिए टॉगल को <SettingsSubSection> के रूप में जोड़ा जा सकता है। उदाहरणों के लिए फ़ाइल के बाकी हिस्से को देखें।
<SettingsSubSection label="Your feature name" description="Your feature description" value={ vsContext.reactiveStorageService.applicationUserPersistentStorage .myNewProperty ?? false } onChange={(newVal) => { vsContext.reactiveStorageService.setApplicationUserPersistentStorage( "myNewProperty", newVal, ); }}/>ऐप में उपयोग करने के लिए, reactiveStorageService को आयात करें और Property का उपयोग करें:
const flagIsEnabled = vsContext.reactiveStorageService.applicationUserPersistentStorage .myNewProperty;उदाहरण प्रदाताओं और फ्रेमवर्क्स से उपलब्ध हैं। समुदाय द्वारा योगदान किए गए नियम ऑनलाइन क्राउडसोर्स्ड संग्रहों और रिपॉजिटरी में मिलते हैं।
टीम नियम
टीम और Enterprise प्लान Cursor डैशबोर्ड से पूरे संगठन में नियम बना और लागू कर सकते हैं। प्रशासक कॉन्फ़िगर कर सकते हैं कि प्रत्येक नियम टीम सदस्यों के लिए आवश्यक होगा या नहीं।
टीम नियम अन्य नियम प्रकारों के साथ काम करते हैं और सभी प्रोजेक्ट्स में संगठनात्मक मानक बनाए रखने के लिए उन्हें प्राथमिकता मिलती है। ये व्यक्तिगत सेटअप या कॉन्फ़िगरेशन के बिना पूरी टीम में एकरूप कोडिंग मानक, प्रथाएँ और वर्कफ़्लो सुनिश्चित करने का प्रभावी तरीका देते हैं।
टीम नियम प्रबंधित करना
टीम व्यवस्थापक Cursor डैशबोर्ड से सीधे नियम बना और प्रबंधित कर सकते हैं:
टीम नियम बनाए जाने के बाद, वे स्वचालित रूप से सभी टीम सदस्यों पर लागू हो जाते हैं और डैशबोर्ड में दिखाई देते हैं:
सक्रियण और लागू करना
- इस नियम को तुरंत सक्षम करें: चयनित होने पर, नियम बनाते ही सक्रिय हो जाता है। चयन हटाने पर, नियम मसौदे के रूप में सहेजा जाता है और बाद में सक्षम किए जाने तक लागू नहीं होता।
- इस नियम को लागू करें: सक्षम होने पर, यह नियम सभी टीम सदस्यों के लिए आवश्यक होता है और इसे Customize में अक्षम नहीं किया जा सकता। लागू न होने पर, टीम सदस्य Customize में टीम नियम के अंतर्गत इस नियम को टॉगल करके बंद कर सकते हैं।
डिफ़ॉल्ट रूप से, उपयोगकर्ता गैर-लागू टीम नियमों को अक्षम कर सकते हैं। इसे रोकने के लिए इस नियम को लागू करें का उपयोग करें।
प्रारूप और टीम नियम कैसे लागू किए जाते हैं
- सामग्री: टीम नियम मुक्त-रूप टेक्स्ट होते हैं। इनमें प्रोजेक्ट नियमों जैसी फ़ोल्डर संरचना नहीं होती।
- ग्लोब पैटर्न: टीम नियम फ़ाइल-स्कोप के आधार पर लागू करने के लिए ग्लोब पैटर्न का समर्थन करते हैं। जब कोई ग्लोब पैटर्न सेट हो (उदाहरण के लिए,
**/*.py), तो नियम केवल तभी लागू होता है, जब उससे मेल खाने वाली फ़ाइलें संदर्भ में हों। बिना ग्लोब पैटर्न वाले नियम हर बातचीत पर लागू होते हैं। - वे कहाँ लागू होते हैं: जब कोई टीम नियम सक्षम होता है (और उपयोगकर्ता ने उसे अक्षम नहीं किया हो, जब तक कि उसे लागू न किया गया हो), तो वह उस टीम की सभी रिपॉजिटरी और प्रोजेक्ट में एजेंट (चैट) के लिए मॉडल संदर्भ में शामिल होता है।
- प्राथमिकता: नियम इस क्रम में लागू होते हैं: टीम नियम → प्रोजेक्ट नियम → उपयोगकर्ता नियम। सभी लागू नियम मर्ज किए जाते हैं; मार्गदर्शन में टकराव होने पर पहले वाले स्रोत को प्राथमिकता मिलती है।
कुछ टीमें आंतरिक अनुपालन वर्कफ़्लो के तहत लागू किए गए नियमों का उपयोग करती हैं। यह समर्थित है, लेकिन AI मार्गदर्शन आपका एकमात्र सुरक्षा नियंत्रण नहीं होना चाहिए।
नियम आयात करना
आप मौजूदा कॉन्फ़िगरेशन का पुनः उपयोग करने या अन्य टूल से नियम लाने के लिए बाहरी स्रोतों से नियम आयात कर सकते हैं।
रिमोट नियम (GitHub के ज़रिए)
जिन GitHub रिपॉज़िटरीज़ का आपको एक्सेस है—सार्वजनिक या निजी—उनसे सीधे नियम आयात करें।
- साइडबार में Customize खोलें
- नियम पर जाएँ और Add Rule पर क्लिक करें
- Remote Rule (Github) चुनें
- नियमों वाली GitHub रिपॉज़िटरी का URL पेस्ट करें। Cursor रेपो में सभी
.mdcफ़ाइलें स्कैन करेगा। - Cursor नियमों को आपके प्रोजेक्ट में पुल और सिंक करेगा
नियम .cursor/rules/imported/<repoName> में रखे जाएँगे। नियम अपने सापेक्ष पाथ भी बनाए रखेंगे, इसलिए dir/rule.mdc को .cursor/rule/imported/<repoName>/dir/rule.mdc के रूप में आयात किया जाएगा।
AGENTS.md
AGENTS.md एजेंट निर्देशों को परिभाषित करने के लिए एक सरल मार्कडाउन फ़ाइल है। सरल उपयोग के मामलों में .cursor/rules के विकल्प के रूप में इसे अपनी प्रोजेक्ट रूट डायरेक्टरी में रखें।
प्रोजेक्ट नियमों के विपरीत, AGENTS.md मेटाडेटा या जटिल कॉन्फ़िगरेशन के बिना एक साधारण मार्कडाउन फ़ाइल है। यह उन प्रोजेक्ट के लिए उपयुक्त है जिन्हें संरचित नियमों के अतिरिक्त बोझ के बिना सरल, पढ़ने में आसान निर्देश चाहिए।
Cursor प्रोजेक्ट रूट और सबडायरेक्टरी में AGENTS.md का समर्थन करता है।
# प्रोजेक्ट के निर्देश## कोड शैली- सभी नई फ़ाइलों के लिए TypeScript का उपयोग करें- React में फ़ंक्शनल कंपोनेंट्स को प्राथमिकता दें- डेटाबेस कॉलम के लिए snake_case का उपयोग करें## आर्किटेक्चर- रिपॉज़िटरी पैटर्न का पालन करें- व्यावसायिक लॉजिक को सर्विस लेयर्स में रखेंसुधार
अब सबडायरेक्टरी में नेस्टेड AGENTS.md का समर्थन उपलब्ध है। आप अपने प्रोजेक्ट की किसी भी सबडायरेक्टरी में AGENTS.md फ़ाइलें रख सकते हैं। उस डायरेक्टरी या उसकी चाइल्ड डायरेक्टरी की फ़ाइलों पर काम करते समय वे स्वचालित रूप से लागू हो जाएँगी।
इससे कोडबेस के अलग-अलग हिस्सों के लिए एजेंट निर्देशों पर अधिक सूक्ष्म नियंत्रण मिलता है:
project/ AGENTS.md # वैश्विक निर्देश frontend/ AGENTS.md # फ़्रंटएंड-विशिष्ट निर्देश components/ AGENTS.md # कंपोनेंट-विशिष्ट निर्देश backend/ AGENTS.md # बैकएंड-विशिष्ट निर्देशनेस्टेड AGENTS.md फ़ाइलों के निर्देश पैरेंट डायरेक्टरी के निर्देशों के साथ मिल जाते हैं, और अधिक विशिष्ट निर्देशों को प्राथमिकता दी जाती है।
उपयोगकर्ता नियम
उपयोगकर्ता नियम Customize → नियम में तय की गई वैश्विक प्राथमिकताएँ हैं, जो सभी प्रोजेक्ट्स पर लागू होती हैं। इनका उपयोग एजेंट (चैट) करता है और ये पसंदीदा संचार शैली या कोडिंग परंपराएँ सेट करने के लिए उपयुक्त हैं:
कृपया संक्षिप्त शैली में उत्तर दें। अनावश्यक दोहराव या भराव वाली भाषा से बचें।अक्सर पूछे जाने वाले सवाल
नियम प्रकार जाँचें। Apply Intelligently के लिए, सुनिश्चित करें कि विवरण दिया गया है। Apply to Specific Files के लिए, सुनिश्चित करें कि फ़ाइल पैटर्न संदर्भित फ़ाइलों से मेल खाता है।
हाँ। अपने नियम के संदर्भ में फ़ाइलें शामिल करने के लिए @filename.ts का उपयोग करें। नियमों को मैन्युअल रूप से लागू करने के लिए आप चैट में उनका @उल्लेख भी कर सकते हैं।
हाँ, आप एजेंट से अपने लिए नया नियम बनाने को कह सकते हैं।
नहीं। नियम Cursor Tab या अन्य AI सुविधाओं को प्रभावित नहीं करते।
नहीं। उपयोगकर्ता नियम इनलाइन संपादन (Cmd/Ctrl+K) पर लागू नहीं होते। इनका उपयोग केवल एजेंट (चैट) करता है।