Bugbot
Bugbot pull requests की समीक्षा करता है और bugs, security issues और code quality problems की पहचान करता है।
स्वचालन में Bugbot को कॉन्फ़िगर करें।
यह कैसे काम करता है
Bugbot PR diffs का विश्लेषण करता है और स्पष्टीकरण व समाधान के सुझावों के साथ टिप्पणियाँ छोड़ता है। यह हर PR अपडेट पर स्वचालित रूप से चलता है या ट्रिगर किए जाने पर मैन्युअल रूप से।
- हर PR अपडेट पर स्वचालित समीक्षाएँ चलाता है
- किसी भी PR पर
cursor reviewयाbugbot runटिप्पणी करके मैन्युअल ट्रिगर - संदर्भ के रूप में मौजूदा PR टिप्पणियों का उपयोग करता है: डुप्लिकेट सुझावों से बचने और पहले की प्रतिक्रिया को आगे बढ़ाने के लिए जुड़ी हुई PR टिप्पणियाँ (शीर्ष-स्तर और इनलाइन) पढ़ता है
- Cursor में ठीक करें लिंक समस्याओं को सीधे Cursor में खोलते हैं
- Web में ठीक करें लिंक समस्याओं को सीधे cursor.com/agents में खोलते हैं
सेटअप
Bugbot का उपयोग शुरू करने के लिए अपनी रिपॉजिटरीज़ को Cursor डैशबोर्ड से कनेक्ट करें।
- GitHub (GitHub Enterprise Server सहित): GitHub एकीकरण पृष्ठ देखें
- GitLab (GitLab Self-Hosted सहित): GitLab एकीकरण पृष्ठ देखें
- Bitbucket (Bitbucket Data Center सहित): Bitbucket एकीकरण पृष्ठ देखें
कनेक्ट करने के बाद, चुनिंदा रिपॉजिटरीज़ पर Bugbot को सक्षम करने के लिए Bugbot in स्वचालन खोलें।
CI जाँच की स्थितियाँ
Bugbot हर समीक्षा रन के लिए एक स्थिति प्रकाशित करता है। GitHub पर यह Cursor Bugbot नाम की जाँच के रूप में दिखता है। Bitbucket पर यह cursor-bugbot कुंजी वाली बिल्ड स्थिति के रूप में दिखता है। स्थिति में ये निष्कर्ष होते हैं:
success: Bugbot को कोई समस्या नहीं मिली और पिछले रन की कोई अनसुलझी Bugbot टिप्पणियाँ नहीं हैं।neutral: Bugbot को समस्याएँ मिलीं, रन को किसी नए कमिट के कारण रद्द कर दिया गया, या Bugbot में आंतरिक त्रुटि आई। Bugbot द्वारा फ़ाइंडिंग रिपोर्ट किए जाने पर यह डिफ़ॉल्ट निष्कर्ष होता है।failure: Bugbot को समस्याएँ मिलीं और जाँच को अनसुलझी समस्याओं पर विफल होने के लिए कॉन्फ़िगर किया गया है।
अगर आप ब्रांच सुरक्षा का उपयोग करते हैं, तो मर्ज से पहले Bugbot रन सुनिश्चित करने के लिए Bugbot जाँच या बिल्ड स्थिति को आवश्यक करें। केवल स्थिति को आवश्यक करने से फ़ाइंडिंग के कारण मर्ज ब्लॉक नहीं होते, क्योंकि फ़ाइंडिंग के लिए डिफ़ॉल्ट स्थिति neutral होती है। अगर आपके संगठन के लिए अनसुलझी समस्याओं पर विफल होने का व्यवहार उपलब्ध है, तो अनसुलझी फ़ाइंडिंग के लिए विफल स्थिति पाने हेतु इसे सक्षम करें। Bugbot skipped निष्कर्ष एमिट नहीं करता।
जब Bugbot ऑटोफिक्स सक्षम होता है, तो GitHub एक अलग Cursor Bugbot Autofix जाँच भी दिखा सकता है। वह जाँच केवल success या neutral का उपयोग करती है।
कॉन्फ़िगरेशन
एनालिटिक्स
समीक्षा गतिविधि और उसके परिणाम देखने के लिए स्वचालन में Bugbot खोलें।
API
एंटरप्राइज़ टीमें समीक्षाएँ ट्रिगर करने और हर समीक्षा का एनालिटिक्स देखने के लिए Bugbot API का उपयोग कर सकती हैं। Cursor Dashboard → API Keys से API key बनाएँ और Basic Authentication से प्रमाणित करें।
समीक्षा ट्रिगर करें
/bugbot/reviewकिसी पुल रिक्वेस्ट या मर्ज रिक्वेस्ट के लिए Bugbot समीक्षा को कतार में डालें। समीक्षा के कतार में जुड़ते ही अनुरोध वापस हो जाता है; समीक्षा अतुल्यकालिक रूप से चलती है।
इसके लिए admin:* स्कोप वाली API key आवश्यक है। यह endpoint हर टीम के लिए प्रति मिनट 30 अनुरोधों तक सीमित है।
समीक्षा टिप्पणियाँ, इनलाइन टिप्पणियाँ, जाँच या अन्य SCM दुष्प्रभाव पोस्ट किए बिना पूरी विश्लेषण पाइपलाइन चलाने के लिए dryRun को true पर सेट करें। ड्राई-रन समीक्षाएँ फ़ाइंडिंग को फिर भी सहेजती हैं और सामान्य समीक्षाओं की तरह बिल की जाती हैं। इन्हें GET /analytics/team/bugbot-reviews से प्राप्त करें। ड्राई-रन अनुरोधों के लिए हर टीम की अतिरिक्त सीमा प्रति मिनट 10 अनुरोध है।
अनुरोध बॉडी
prUrl string (आवश्यक)
dryRun boolean (वैकल्पिक)
true होने पर, SCM प्रदाता पर कुछ भी पोस्ट किए बिना विश्लेषण चलाएँ और फ़ाइंडिंग सहेजें। डिफ़ॉल्ट: false.curl --request POST \ --url https://api.cursor.com/bugbot/review \ -u YOUR_API_KEY: \ --header 'Content-Type: application/json' \ --data '{ "prUrl": "https://github.com/your-org/your-repo/pull/42" }'curl --request POST \ --url https://api.cursor.com/bugbot/review \ -u YOUR_API_KEY: \ --header 'Content-Type: application/json' \ --data '{ "prUrl": "https://github.com/your-org/your-repo/pull/42", "dryRun": true }'प्रतिक्रिया:
{ "outcome": "success", "message": "Bugbot review queued", "request_id": "6e0d261c-86a2-4383-89f0-9162c1c10662", "dry_run": false}ड्राई-रन प्रतिक्रिया में "message": "Bugbot dry-run review queued" और "dry_run": true होता है।
request_id सहेजें, ताकि आप एनालिटिक्स endpoint में पूरी हुई समीक्षा का मिलान कर सकें।
अगर Bugbot पुल रिक्वेस्ट की समीक्षा नहीं कर पाता, तो endpoint कारण के साथ 400 Bad Request लौटाता है:
{ "outcome": "error", "message": "Bugbot is disabled for this repository"}समीक्षा एनालिटिक्स
/analytics/team/bugbot-reviewsहर पूरी हुई Bugbot समीक्षा के लिए एक आइटम लौटाता है, जिसमें समीक्षा किया गया कमिट, फ़ाइंडिंग की संख्या, बिल की गई लागत और हर फ़ाइंडिंग का समाधान डेटा शामिल होता है।
इसमें पोस्ट की गई और ड्राई-रन, दोनों तरह की समीक्षाएँ शामिल हैं। पोस्ट की गई फ़ाइंडिंग की पहचान comment_id और resolution_status से होती है। SCM पर कुछ भी पोस्ट नहीं किया जाता, इसलिए ड्राई-रन फ़ाइंडिंग में इसके बजाय title, description और locations लौटाए जाते हैं।
read:* स्कोप वाली API key आवश्यक है।
क्वेरी पैरामीटर्स
startDate string (वैकल्पिक)
endDate string (वैकल्पिक)
repo string (वैकल्पिक)
host/owner/repo प्रारूप में रिपॉज़िटरी फ़िल्टर। प्रोटोकॉल और .git प्रत्यय वैकल्पिक हैं।prNumber number (वैकल्पिक)
page number (वैकल्पिक)
1।pageSize number (वैकल्पिक)
100, अधिकतम: 250।dryRun boolean (वैकल्पिक)
true) या पोस्ट की गई (false) समीक्षाएँ फ़िल्टर करें।curl --get https://api.cursor.com/analytics/team/bugbot-reviews \ -u YOUR_API_KEY: \ --data-urlencode 'startDate=2026-06-01' \ --data-urlencode 'endDate=2026-06-29' \ --data-urlencode 'repo=github.com/your-org/your-repo' \ --data-urlencode 'prNumber=42' \ --data-urlencode 'page=1' \ --data-urlencode 'pageSize=100'curl --get https://api.cursor.com/analytics/team/bugbot-reviews \ -u YOUR_API_KEY: \ --data-urlencode 'dryRun=true' \ --data-urlencode 'repo=github.com/your-org/your-repo' \ --data-urlencode 'prNumber=42'प्रतिक्रिया (पोस्ट की गई समीक्षा):
{ "data": [ { "request_id": "6e0d261c-86a2-4383-89f0-9162c1c10662", "timestamp": "2026-06-29T19:42:18.000Z", "repo": "github.com/your-org/your-repo", "repo_node_id": "R_kgDOABCDEF", "pr_number": 42, "commit_sha": "9f3c2a1b7d8e4f5061728394a5b6c7d8e9f0a1b2", "bugs_found": 2, "cost_cents": 42.5, "dry_run": false, "publication_status": "posted", "bugs": [ { "comment_id": "2147483999", "resolution_status": "resolved", "severity": "high" }, { "comment_id": "2147484000", "resolution_status": "unresolved", "severity": "medium" } ] } ], "pagination": { "page": 1, "pageSize": 100, "totalItems": 1, "totalPages": 1, "hasNextPage": false, "hasPreviousPage": false }, "params": { "metric": "bugbot-reviews", "teamId": 12345, "startDate": "2026-06-01", "endDate": "2026-06-29", "repo": "github.com/your-org/your-repo", "prNumber": 42, "page": 1, "pageSize": 100 }}प्रतिक्रिया (ड्राई-रन समीक्षा):
{ "data": [ { "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "timestamp": "2026-06-29T20:15:03.000Z", "repo": "github.com/your-org/your-repo", "repo_node_id": "R_kgDOABCDEF", "pr_number": 42, "commit_sha": "9f3c2a1b7d8e4f5061728394a5b6c7d8e9f0a1b2", "bugs_found": 1, "cost_cents": null, "dry_run": true, "publication_status": "dry_run", "bugs": [ { "comment_id": null, "resolution_status": null, "severity": "medium", "title": "Unbounded retry loop", "description": "retry() recurses without a ceiling.", "locations": [ { "file": "src/net.ts", "start_line": 5, "end_line": 9 } ] } ] } ], "pagination": { "page": 1, "pageSize": 100, "totalItems": 1, "totalPages": 1, "hasNextPage": false, "hasPreviousPage": false }, "params": { "metric": "bugbot-reviews", "teamId": 12345, "startDate": "2026-06-01", "endDate": "2026-06-29", "repo": "github.com/your-org/your-repo", "prNumber": 42, "dryRun": true, "page": 1, "pageSize": 100 }}अनुपलब्ध होने पर repo_node_id, pr_number, commit_sha, cost_cents, bugs[].comment_id, bugs[].resolution_status, और bugs[].severity का मान null हो सकता है। समीक्षा का अलग से बिल न बनने पर cost_cents का मान null होता है। ड्राई-रन समीक्षाओं में bugs[].title, bugs[].description, और bugs[].locations में फाइंडिंग सामग्री होती है। ड्राई-रन फाइंडिंग में comment_id: null और resolution_status: null होते हैं क्योंकि SCM पर कुछ भी पोस्ट नहीं किया जाता।
समीक्षा ट्रिगर करें और प्राप्त करें
- पुल रिक्वेस्ट URL के साथ
POST /bugbot/reviewकॉल करें। SCM पर पोस्ट किए बिना विश्लेषण करने के लिए"dryRun": trueपास करें। - लौटाया गया
request_idसहेजें। repoऔरprNumberके आधार पर फ़िल्टर करकेGET /analytics/team/bugbot-reviewsको पोल करें। ड्राई-रन समीक्षा ट्रिगर करने परdryRun=trueका उपयोग करें।- उस आइटम को खोजें जिसका
request_id, ट्रिगर की प्रतिक्रिया में मिलेrequest_idसे मेल खाता हो।
समीक्षा के कतार में जुड़ने के बाद एनालिटिक्स उपलब्ध होने में थोड़ा समय लग सकता है।
क्रमिक समीक्षाएँ
डिफ़ॉल्ट रूप से, Bugbot हर पुश पर पूरी पुल रिक्वेस्ट के diff की समीक्षा करता है। पिछले Bugbot रिव्यू के बाद हुए बदलावों की ही समीक्षा करने के लिए Bugbot स्वचालन में Incremental Review चालू करें।
प्रयास स्तर
प्रयास स्तर यह नियंत्रित करते हैं कि Bugbot समीक्षा के दौरान तर्क करने में कितना समय लगाए। उच्च प्रयास स्तर अधिक बग खोज सकते हैं, लेकिन प्रत्येक समीक्षा में अधिक समय लग सकता है और अधिक उपयोग हो सकता है।
इन प्रयास स्तरों में से चुनें:
- डिफ़ॉल्ट: दक्षता और गति के लिए अनुकूलित। समीक्षाएँ कम खर्चीली होती हैं, लेकिन Bugbot कम बग खोज सकता है।
- उच्च: तर्क करने में अधिक समय लगाता है। समीक्षाएँ अधिक खर्चीली होती हैं और अधिक समय लेती हैं, लेकिन Bugbot अधिक बग खोज सकता है।
- कस्टम: आपको यह बताने देता है कि Bugbot को लंबी और गहन समीक्षाओं का उपयोग कब करना चाहिए। Cursor आपके निर्देशों के आधार पर प्रयास स्तरों को डायनामिक रूप से सेट करता है।
प्रयास स्तर केवल उपयोग-आधारित Bugbot योजनाओं के लिए उपलब्ध हैं।
नियम
टीम नियमों, रिपॉज़िटरी नियमों और प्रोजेक्ट की .cursor/BUGBOT.md फ़ाइलों से समीक्षाओं को निर्देशित करें।
टीम नियम
टीम व्यवस्थापक Bugbot स्वचालन में ऐसे नियम बना सकते हैं जो टीम की सभी रिपॉज़िटरी पर लागू हों। ये नियम हर सक्षम रिपॉज़िटरी के लिए उपलब्ध होते हैं, जिससे संगठन-व्यापी मानकों को लागू करना आसान हो जाता है।
जब टीम नियम, रिपॉज़िटरी नियम और प्रोजेक्ट नियम फ़ाइलें सभी लागू होते हैं, तो Bugbot उन्हें एक ही समीक्षा नियम ब्लॉक में मर्ज करता है। शामिल किए जाने का क्रम: टीम नियम → प्रोजेक्ट .cursor/BUGBOT.md (नेस्टेड फ़ाइलों सहित) → सीखे गए नियम → मैन्युअल नियम.
नियमों की सीमाएँ
समीक्षा में शामिल किए जाने पर प्रत्येक नियम को 30,000 वर्णों तक सीमित कर दिया जाता है। समीक्षा के लिए Bugbot द्वारा शामिल किए गए सभी नियमों की कुल सीमा 100,000 वर्ण है। इस कुल सीमा से अधिक होने पर कुछ नियम छोड़े जा सकते हैं। आवश्यक टीम नियमों को गैर-आवश्यक नियमों से प्राथमिकता दी जाती है।
देखें कि समीक्षा में किन नियमों का उपयोग हुआ
पुल रिक्वेस्ट पर bugbot run verbose=true या cursor review verbose=true टिप्पणी करें। Bugbot उस रन में शामिल सभी नियमों की तालिका पोस्ट करता है और काट-छाँट किए गए या छोड़े गए नियमों को फ्लैग करता है।
रिपॉज़िटरी नियम
प्रोजेक्ट नियम
समीक्षाओं के लिए प्रोजेक्ट-विशिष्ट संदर्भ देने हेतु .cursor/BUGBOT.md फ़ाइलें बनाएं। Bugbot हमेशा रूट .cursor/BUGBOT.md फ़ाइल और बदली गई फ़ाइलों से ऊपर की ओर खोजते समय मिलने वाली अन्य फ़ाइलों को शामिल करता है।
project/ .cursor/BUGBOT.md # हमेशा शामिल (पूरे प्रोजेक्ट के नियम) backend/ .cursor/BUGBOT.md # बैकएंड फ़ाइलों की समीक्षा के दौरान शामिल api/ .cursor/BUGBOT.md # API फ़ाइलों की समीक्षा के दौरान शामिल frontend/ .cursor/BUGBOT.md # फ़्रंटएंड फ़ाइलों की समीक्षा के दौरान शामिलCursor प्रोजेक्ट नियम (.cursor/rules/ में *.mdc फ़ाइलें) Bugbot रन पर लागू नहीं होते।
सीखे गए नियम
Bugbot repository rules में अपने संगठनों और रिपॉज़िटरीज़ के लिए लर्निंग सक्षम करें।
नियम उस रिपॉज़िटरी के लिए GitHub पर आपकी टीम की गतिविधि से स्वचालित रूप से बनाए जाते हैं या रिपॉज़िटरी के इतिहास से मैन्युअल बैकफ़िल द्वारा बनाए जाते हैं।
किसी भी PR पर @cursor remember [fact] टिप्पणी करके आप Bugbot को इनलाइन नए नियम भी सिखा सकते हैं। Bugbot इस तथ्य को सीखे गए नियम के रूप में सहेजता है और इसे भविष्य की समीक्षाओं में लागू करता है।
समय के साथ आपकी टीम की गतिविधि के बारे में अधिक जानने पर Cursor नियमों को स्वचालित रूप से सक्षम या अक्षम करता है।
| फ़ील्ड | विवरण |
|---|---|
| नाम | नियम का संक्षिप्त शीर्षक। |
| नियम सामग्री | वे निर्देश जिनका Bugbot को पालन करना चाहिए (अर्थात् शैली गेट, पथ, या समीक्षा अपेक्षाएँ)। |
| स्कोप्ड पाथ्स | वैकल्पिक ग्लोब पैटर्न, जैसे src/components/**। नियम को पूरी रिपॉज़िटरी में लागू करने के लिए खाली छोड़ें। |
मैन्युअल नियम
Bugbot रिपॉज़िटरी नियम में, आप अलग-अलग रिपॉज़िटरी के लिए मैन्युअल नियम बना सकते हैं।
| फ़ील्ड | विवरण |
|---|---|
| नाम | नियम का संक्षिप्त शीर्षक। |
| नियम सामग्री | वे निर्देश जिनका Bugbot को पालन करना चाहिए (अर्थात् स्टाइल गेट्स, पथ या समीक्षा अपेक्षाएँ)। |
| स्कोप्ड पाथ्स | वैकल्पिक ग्लोब पैटर्न, जैसे src/components/**। पूरे रिपॉज़िटरी में नियम लागू करने के लिए इसे खाली छोड़ें। |
नियम एनालिटिक्स
Bugbot नियम का एनालिटिक्स दिखाता है कि वह वास्तविक PRs पर कैसा प्रदर्शन करता है:
| मीट्रिक | अर्थ |
|---|---|
| मिली समस्याएँ | इस नियम से संबंधित Bugbot द्वारा रिपोर्ट की गई फ़ाइंडिंग की संख्या। |
| समीक्षित PRs | उन पुल रिक्वेस्ट्स की संख्या जिनमें ये फ़ाइंडिंग मिलीं। |
| स्वीकार की गई समस्याएँ | आपकी टीम द्वारा स्वीकार की गई फ़ाइंडिंग की संख्या। |
| स्वीकृति दर | स्वीकार की गई फ़ाइंडिंग का प्रतिशत। |
उदाहरण
यदि किसी बदली गई फ़ाइल में स्ट्रिंग पैटर्न /\beval\s*\(|\bexec\s*\(/i हो, तो:- शीर्षक "खतरनाक डायनेमिक निष्पादन" और बॉडी के साथ एक ब्लॉकिंग Bug जोड़ें: "eval/exec का उपयोग पाया गया। इसे सुरक्षित विकल्पों से बदलें या विस्तृत टिप्पणी और परीक्षणों के साथ इसका औचित्य दें।"- Bug को PR लेखक को असाइन करें।- label "security" लागू करें।यदि PR निर्भरता फ़ाइलों (package.json, pnpm-lock.yaml, yarn.lock, requirements.txt, go.mod, Cargo.toml) को संशोधित करता है, तो:- बिल्ट-इन License Scan चलाएँ।- यदि किसी नई या अपग्रेड की गई निर्भरता का लाइसेंस {GPL-2.0, GPL-3.0, AGPL-3.0} में है, तो: - शीर्षक "अस्वीकृत लाइसेंस मिला" वाला एक ब्लॉकिंग Bug जोड़ें - Bug बॉडी में संबंधित package के नाम, संस्करण और लाइसेंस शामिल करें - labels "compliance" और "security" लागू करेंReact प्रोजेक्ट में **/*.{js,jsx,ts,tsx} से मेल खाने वाली फ़ाइलों के लिए:यदि किसी बदली गई फ़ाइल में /componentWillMount\s*\(/ हो, तो:- शीर्षक "अप्रचलित React जीवनचक्र मेथड" वाला एक ब्लॉकिंग Bug जोड़ें- बॉडी: "componentWillMount को constructor या useEffect से बदलें। React docs देखें।"- ऐसा ऑटोफिक्स स्निपेट सुझाएँ जो side effects को useEffect में माइग्रेट करे।यदि PR {server/**, api/**, backend/**} में फ़ाइलों को संशोधित करता है और {**/*.test.*, **/__tests__/**, tests/**} में कोई परिवर्तन नहीं है, तो:- शीर्षक "बैकएंड परिवर्तनों के लिए परीक्षण अनुपस्थित हैं" वाला एक ब्लॉकिंग Bug जोड़ें- बॉडी: "यह PR बैकएंड कोड को संशोधित करता है, लेकिन इसमें संबंधित परीक्षण शामिल नहीं हैं। कृपया परीक्षण जोड़ें या अपडेट करें।"- label "quality" लागू करेंयदि किसी बदली गई फ़ाइल में /(?:^|\s)(TODO|FIXME)(?:\s*:|\s+)/ हो, तो:- शीर्षक "TODO/FIXME टिप्पणी मिली" वाला एक गैर-ब्लॉकिंग Bug जोड़ें- बॉडी: "TODO/FIXME को किसी ट्रैक की गई समस्या के संदर्भ से बदलें, उदाहरण के लिए, `TODO(#1234): ...`, या इसे हटा दें।"- यदि TODO में पहले से ही समस्या पैटर्न /#\d+|[A-Z]+-\d+/ का संदर्भ है, तो Bug को स्वचालित रूप से resolved के रूप में चिह्नित करें।अपने एजेंट में चलाएँ
कोड पुश करने से पहले, अपने एजेंट से Bugbot चलाने के लिए /review-bugbot या /review कौशल का उपयोग करें।
किस diff की समीक्षा होती है: डिफ़ॉल्ट रूप से, /review-bugbot आपकी ब्रांच में हुए परिवर्तनों की समीक्षा करता है: बेस ब्रांच के सापेक्ष सभी परिवर्तन, जिनमें कमिट किए गए और बिना कमिट किए गए परिवर्तन शामिल हैं। अधिक लक्षित प्रतिक्रिया के लिए, इसे केवल बिना कमिट किए गए परिवर्तनों की समीक्षा करने के लिए कहें।
किस ब्रांच से तुलना होती है: /review-bugbot आपकी डिफ़ॉल्ट बेस ब्रांच से तुलना करता है। अगर आपकी बेस ब्रांच डिफ़ॉल्ट नहीं है (जैसे main), तो एजेंट को बताएं कि किस ब्रांच से तुलना करनी है या उसे संदर्भ से अनुमान लगाने दें।
अपनी पुल रिक्वेस्ट के साथ सिंक करें
/review-bugbot की समीक्षाएँ आपके कनेक्ट किए गए SCM (GitHub, GitLab या Bitbucket) पर Bugbot के साथ सिंक रहती हैं।
अंदरूनी तौर पर, /review-bugbot समीक्षा किए गए diff की patch ID स्टोर करता है। जब आपके SCM पर Bugbot को उसी patch ID वाला diff मिलता है, तो वह समीक्षा छोड़ देता है और टिप्पणी करके बताता है कि वह उस diff की समीक्षा पहले ही कर चुका है।
सामान्य उपयोग का एक तरीका: /review-bugbot चलाएँ, फिर उसी diff के साथ पुल रिक्वेस्ट खोलें। Bugbot समीक्षा को पहचान लेगा और रिमोट PR समीक्षा छोड़ देगा।
/review और /review-bugbot Cursor 3.7+ और cursor.com/agents पर उपलब्ध हैं। CLI सहायता जल्द आ रही है।
ऑटोफिक्स
Bugbot ऑटोफिक्स PR समीक्षाओं के दौरान मिले बग ठीक करने के लिए स्वचालित रूप से एक क्लाउड एजेंट शुरू करता है।
यह कैसे काम करता है
जब Bugbot को PR समीक्षा के दौरान बग मिलते हैं, तो वह स्वचालित रूप से:
- रिपोर्ट की गई समस्याओं का विश्लेषण करने और उन्हें ठीक करने के लिए एक क्लाउड एजेंट शुरू कर सकता है
- मौजूदा या नई ब्रांच में फ़िक्स पुश कर सकता है (आपकी सेटिंग्स के अनुसार)
- परिणामों के साथ मूल PR पर टिप्पणी पोस्ट कर सकता है
कॉन्फ़िगरेशन
Bugbot स्वचालन में ऑटोफिक्स के व्यवहार को कॉन्फ़िगर करें।
ऑटोफिक्स सेटिंग्स → मॉडल में आपके डिफ़ॉल्ट एजेंट मॉडल का उपयोग करता है। अगर आपने व्यक्तिगत मॉडल प्राथमिकता सेट नहीं की है, तो ऑटोफिक्स आपकी टीम के डिफ़ॉल्ट मॉडल (यदि आप किसी टीम में हैं) या सिस्टम डिफ़ॉल्ट का उपयोग करता है।
आवश्यकताएँ
ऑटोफिक्स के लिए:
- मांग-आधारित उपयोग मूल्य निर्धारण सक्षम होना चाहिए
- स्टोरेज सक्षम होना चाहिए (लीगेसी गोपनीयता मोड में नहीं)
बिलिंग
ऑटोफिक्स क्लाउड एजेंट क्रेडिट्स का उपयोग करता है और आपके प्लान की दरों के अनुसार बिल किया जाता है। क्लाउड एजेंट की बिलिंग आपके मौजूदा मूल्य निर्धारण प्लान के अनुसार होती है।
MCP सहायता
Bugbot आपके MCP सर्वर के साथ एकीकृत है, जिससे आपके AI उपकरण सीधे Bugbot के साथ इंटरैक्ट कर सकते हैं। Bugbot की समीक्षा प्रक्रिया को मार्गदर्शन देने के लिए अतिरिक्त उपकरण उपलब्ध कराने हेतु MCP सर्वर का उपयोग करें।
शुरू करने के लिए:
- MCP सर्वर सेटअप के निर्देशों के लिए MCP प्रलेखन देखें।
- स्वचालन में Bugbot में उपकरण जोड़ें।
MCP सहायता केवल Team और Enterprise प्लान में उपलब्ध है।
एडमिन कॉन्फ़िगरेशन API
टीम व्यवस्थापक रिपॉज़िटरी प्रबंधित करने और यह नियंत्रित करने के लिए कि कौन-से उपयोगकर्ता Bugbot का उपयोग कर सकते हैं, Bugbot एडमिन API का उपयोग कर सकते हैं। इसका उपयोग रिपॉज़िटरी प्रबंधन को स्वचालित करने, कई रिपॉज़िटरीज़ में Bugbot को सक्षम करने या उपयोगकर्ता प्रावधान को आंतरिक उपकरणों के साथ एकीकृत करने के लिए करें।
प्रमाणीकरण
सभी एंडपॉइंट्स के लिए Bearer टोकन के रूप में टीम Admin API Key भेजना आवश्यक है:
Authorization: Bearer $API_KEYAPI key बनाने के लिए:
- Cursor डैशबोर्ड में API कुंजियाँ पर जाएँ
- New API Key पर क्लिक करें
- API key सहेजें
सभी endpoints के लिए प्रति टीम प्रति मिनट 60 अनुरोधों की दर सीमा है।
रिपॉज़िटरी को सक्षम या अक्षम करना
किसी रिपॉज़िटरी के लिए Bugbot को चालू या बंद करने के लिए /bugbot/repo/update endpoint का उपयोग करें:
curl -X POST https://api.cursor.com/bugbot/repo/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "repoUrl": "https://github.com/your-org/your-repo", "enabled": true, "manualTriggerOnly": false }'पैरामीटर:
repoUrl(string, आवश्यक): रिपॉज़िटरी का पूरा URLenabled(boolean, आवश्यक): Bugbot को सक्षम करने के लिएtrue, अक्षम करने के लिएfalsemanualTriggerOnly(boolean, वैकल्पिक):trueहोने पर, Bugbot इस रिपॉज़िटरी के PR अपडेट पर स्वचालित रूप से नहीं चलेगा।cursor reviewपर टिप्पणी करना याbugbot runजैसे मैन्युअल ट्रिगर्स फिर भी काम करेंगे।
कैशिंग के कारण, API के ज़रिए किए गए परिवर्तन स्वचालन UI में दिखने में थोड़ा समय लग सकता है। API प्रतिक्रिया डेटाबेस में मौजूदा स्थिति दिखाती है।
रिपॉजिटरी की सूची
अपनी टीम की Bugbot सेटिंग्स सहित सभी रिपॉजिटरी की सूची पाने के लिए /bugbot/repos endpoint का उपयोग करें:
curl https://api.cursor.com/bugbot/repos \ -H "Authorization: Bearer $API_KEY"प्रतिक्रिया में प्रत्येक रिपॉज़िटरी की सक्षम स्थिति, केवल मैन्युअल सेटिंग और टाइमस्टैंप शामिल हैं।
उपयोगकर्ता पहुंच प्रबंधित करना
यह नियंत्रित करने के लिए कि कौन-से GitHub, GitLab या Bitbucket उपयोगकर्ता आपकी टीम के Bugbot लाइसेंसों का उपयोग कर सकते हैं, /bugbot/user/update endpoint का उपयोग करें। उद्यम, आंतरिक पहुंच-अनुरोध उपकरणों के साथ Bugbot प्रोविज़निंग को एकीकृत करने के लिए इसका उपयोग करते हैं।
पूर्वापेक्षाएँ
इस endpoint को कॉल करने से पहले, अपनी टीम Bugbot सेटिंग्स में अनुमति सूची या ब्लॉकलिस्ट मोड सक्षम करें:
- अनुमति सूची मोड ("केवल..."): केवल सूची में शामिल उपयोगकर्ता ही Bugbot का उपयोग कर सकते हैं
- ब्लॉकलिस्ट मोड ("सभी, सिवाय..."): सूची में शामिल उपयोगकर्ताओं को छोड़कर सभी उपयोगकर्ता Bugbot का उपयोग कर सकते हैं
अगर कोई भी मोड सक्षम नहीं है, तो API त्रुटि लौटाता है।
उपयोगकर्ता जोड़ना या हटाना
curl -X POST https://api.cursor.com/bugbot/user/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "username": "octocat", "allow": true }'पैरामीटर:
username(string, आवश्यक): GitHub, GitLab या Bitbucket उपयोगकर्ता नाम (केस-संवेदी नहीं)allow(boolean, आवश्यक): पहुंच प्रदान करनी है या रद्द करनी है
allow का व्यवहार सक्रिय मोड पर निर्भर करता है:
| मोड | allow: true | allow: false |
|---|---|---|
| Allowlist | उपयोगकर्ता को सूची में जोड़ता है (Bugbot का उपयोग कर सकता है) | उपयोगकर्ता को सूची से हटाता है (Bugbot का उपयोग नहीं कर सकता) |
| ब्लॉकलिस्ट | उपयोगकर्ता को ब्लॉकलिस्ट से हटाता है (Bugbot का उपयोग कर सकता है) | उपयोगकर्ता को ब्लॉकलिस्ट में जोड़ता है (Bugbot का उपयोग नहीं कर सकता) |
प्रतिक्रिया:
{ "outcome": "success", "message": "Updated team-level allowlist for @octocat", "updatedTeamSettings": true, "updatedInstallations": 0}अनुमति सूची टीम स्तर पर संग्रहीत होती है और उस टीम के स्वामित्व वाले सभी GitHub, GitLab और Bitbucket इंस्टॉलेशन पर लागू होती है। उपयोगकर्ता नामों को लोअरकेस में सामान्यीकृत किया जाता है।
उदाहरण: आंतरिक टूल के ज़रिए उपयोगकर्ताओं की प्रोविज़निंग
इस API को आंतरिक पहुंच-अनुरोध पोर्टल से कनेक्ट करें। जब कोई कर्मचारी Bugbot की पहुंच का अनुरोध करता है, तो पोर्टल उसे जोड़ने के लिए API को कॉल करता है। कंपनी छोड़ने या पहुंच खोने पर, पोर्टल उन्हें हटाने के लिए API को कॉल करता है।
पहुंच प्रदान करें:
curl -X POST https://api.cursor.com/bugbot/user/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"username": "employee-scm-username", "allow": true}'पहुंच निरस्त करें:
curl -X POST https://api.cursor.com/bugbot/user/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"username": "employee-scm-username", "allow": false}'मूल्य निर्धारण
Bugbot में उपयोग-आधारित बिलिंग लागू होती है।
May 2026 के मूल्य निर्धारण अपडेट के साथ Bugbot का मूल्य निर्धारण बदल गया। पृष्ठभूमि के लिए घोषणा ब्लॉग पोस्ट देखें। अगर आप अभी भी पुराने सीट-आधारित प्लान पर हैं, तो लीगेसी Bugbot मूल्य निर्धारण देखें।
बिलिंग
समस्या निवारण
अगर Bugbot काम नहीं कर रहा है:
- विस्तृत लॉग्स, लोड किए गए Bugbot नियम और अनुरोध ID देखने के लिए
cursor review verbose=trueयाbugbot run verbose=trueटिप्पणी करके विस्तृत मोड सक्षम करें - यह सत्यापित करने के लिए अनुमतियाँ जाँचें कि Bugbot के पास रिपॉजिटरी तक पहुँच है
- यह पुष्टि करने के लिए स्थापना सत्यापित करें कि आपके रिपॉजिटरी प्रदाता का इंटीग्रेशन इंस्टॉल और सक्षम है
समस्याओं की रिपोर्ट करते समय विस्तृत मोड से अनुरोध ID शामिल करें।
अक्सर पूछे जाने वाले सवाल
हाँ। Bugbot जुड़े हुए प्रदाताओं से पुल रिक्वेस्ट की शीर्ष-स्तर और इनलाइन, दोनों तरह की टिप्पणियाँ पढ़ता है और समीक्षाओं के दौरान उन्हें संदर्भ के रूप में शामिल करता है। इससे डुप्लिकेट सुझावों से बचने में मदद मिलती है और Bugbot समीक्षकों की पिछली प्रतिक्रिया के आधार पर आगे काम कर सकता है।
पुल रिक्वेस्ट पर bugbot run verbose=true या cursor review verbose=true टिप्पणी करें। Bugbot उस रन में शामिल हर नियम की तालिका पोस्ट करता है और काट-छाँट किए गए या छोड़े गए नियमों को चिह्नित करता है। कोई नियम गायब हो या कट गया हो, तो नियम सीमाएँ देखें।
हाँ। Bugbot Cursor के समान गोपनीयता अनुपालन का पालन करता है और अन्य Cursor अनुरोधों की तरह ही डेटा संसाधित करता है।
शामिल Bugbot उपयोग पूरा होने पर, अतिरिक्त Bugbot समीक्षाओं का शुल्क ऑन-डिमांड खर्च से लिया जाता है।
संबंधित इंटीग्रेशन पृष्ठों पर सेटअप और नेटवर्किंग मार्गदर्शिकाएँ देखें: