GitHub
GitHub issues और pull requests में OpenCode का उपयोग करें।
OpenCode आपके GitHub वर्कफ़्लो के साथ इंटीग्रेट होता है। अपने कमेंट में /opencode या /oc मेंशन करें, और OpenCode आपके GitHub Actions runner के भीतर टास्क एक्ज़ीक्यूट करेगा।
फीचर्स
- Issues ट्राइएज: OpenCode से किसी issue को देखने और आपको समझाने के लिए कहें।
- फिक्स और इम्प्लीमेंट: OpenCode से किसी issue को ठीक करने या फीचर इम्प्लीमेंट करने के लिए कहें। यह एक नई ब्रांच में काम करेगा और सभी बदलावों के साथ PR सबमिट करेगा।
- सुरक्षित: OpenCode आपके GitHub runners के अंदर चलता है।
इंस्टॉलेशन
GitHub रिपॉज़िटरी में किसी प्रोजेक्ट में निम्नलिखित कमांड चलाएं:
opencode github installयह आपको GitHub app इंस्टॉल करने, वर्कफ़्लो बनाने और secrets सेटअप करने में गाइड करेगा।
मैन्युअल सेटअप
या आप इसे मैन्युअली सेटअप कर सकते हैं।
-
GitHub app इंस्टॉल करें
github.com/apps/opencode-agent (opens in a new tab) पर जाएं। सुनिश्चित करें कि यह टारगेट रिपॉज़िटरी पर इंस्टॉल है।
-
वर्कफ़्लो जोड़ें
अपनी रिपॉज़िटरी में
.github/workflows/opencode.ymlमें निम्नलिखित वर्कफ़्लो फाइल जोड़ें।envमें उचितmodelऔर आवश्यक API कुंजियाँ सेट करना सुनिश्चित करें।.github/workflows/opencode.ymlname: opencode on: issue_comment: types: [created] pull_request_review_comment: types: [created] jobs: opencode: if: | contains(github.event.comment.body, '/oc') || contains(github.event.comment.body, '/opencode') runs-on: ubuntu-latest permissions: id-token: write steps: - name: Checkout repository uses: actions/checkout@v6 with: fetch-depth: 1 persist-credentials: false - name: Run OpenCode uses: anomalyco/opencode/github@latest env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 # share: true # github_token: xxxx -
secrets में API कुंजियाँ स्टोर करें
अपने ऑर्गनाइज़ेशन या प्रोजेक्ट सेटिंग्स में, बाईं ओर Secrets and variables एक्सपैंड करें और Actions चुनें। फिर आवश्यक API कुंजियाँ जोड़ें।
कॉन्फ़िगरेशन
-
model: OpenCode के साथ उपयोग करने के लिए मॉडल।provider/modelफॉर्मेट लेता है। यह आवश्यक है। -
agent: उपयोग करने के लिए एजेंट। प्राइमरी एजेंट होना चाहिए। नहीं मिलने पर कॉन्फ़िग सेdefault_agentया"build"पर फॉलबैक होता है। -
share: OpenCode सेशन शेयर करना है या नहीं। पब्लिक रिपॉज़िटरीज़ के लिए डिफ़ॉल्ट true है। -
prompt: डिफ़ॉल्ट व्यवहार को ओवरराइड करने के लिए वैकल्पिक कस्टम प्रॉम्प्ट। OpenCode रिक्वेस्ट्स को कैसे प्रोसेस करता है, इसे कस्टमाइज़ करने के लिए इसका उपयोग करें। -
token: कमेंट्स बनाने, बदलाव कमिट करने और pull requests खोलने जैसे ऑपरेशंस के लिए वैकल्पिक GitHub एक्सेस टोकन। डिफ़ॉल्ट रूप से, OpenCode OpenCode GitHub App से इंस्टॉलेशन एक्सेस टोकन का उपयोग करता है, इसलिए कमिट्स, कमेंट्स और pull requests ऐप से आते हुए दिखाई देते हैं।वैकल्पिक रूप से, आप OpenCode GitHub App इंस्टॉल किए बिना GitHub Action runner के बिल्ट-इन
GITHUB_TOKEN(opens in a new tab) का उपयोग कर सकते हैं। बस अपने वर्कफ़्लो में आवश्यक परमिशंस देना सुनिश्चित करें:permissions: id-token: write contents: write pull-requests: write issues: writeआप चाहें तो पर्सनल एक्सेस टोकन (opens in a new tab) (PAT) का भी उपयोग कर सकते हैं।
समर्थित इवेंट्स
OpenCode निम्नलिखित GitHub इवेंट्स द्वारा ट्रिगर किया जा सकता है:
| इवेंट टाइप | ट्रिगर | विवरण |
|---|---|---|
issue_comment | issue या PR पर कमेंट | अपने कमेंट में /opencode या /oc मेंशन करें। OpenCode कॉन्टेक्स्ट पढ़ता है और ब्रांचेस बना सकता है, PRs खोल सकता है, या रिप्लाई कर सकता है। |
pull_request_review_comment | PR में विशिष्ट कोड लाइनों पर कमेंट | कोड रिव्यू करते समय /opencode या /oc मेंशन करें। OpenCode फाइल पाथ, लाइन नंबर और diff कॉन्टेक्स्ट प्राप्त करता है। |
issues | Issue खोला या एडिट किया गया | issues बनाए या मॉडिफाई किए जाने पर OpenCode को ऑटोमैटिकली ट्रिगर करें। prompt इनपुट आवश्यक है। |
pull_request | PR खोला या अपडेट किया गया | PRs खोले, सिंक्रोनाइज़ या रीओपन किए जाने पर OpenCode को ऑटोमैटिकली ट्रिगर करें। ऑटोमेटेड रिव्यूज़ के लिए उपयोगी। |
schedule | Cron-आधारित शेड्यूल | शेड्यूल पर OpenCode चलाएं। prompt इनपुट आवश्यक है। आउटपुट लॉग्स और PRs में जाता है (कमेंट करने के लिए कोई issue नहीं)। |
workflow_dispatch | GitHub UI से मैन्युअल ट्रिगर | Actions टैब के माध्यम से ऑन-डिमांड OpenCode ट्रिगर करें। prompt इनपुट आवश्यक है। आउटपुट लॉग्स और PRs में जाता है। |
शेड्यूल उदाहरण
ऑटोमेटेड टास्क करने के लिए शेड्यूल पर OpenCode चलाएं:
name: Scheduled OpenCode Task
on:
schedule:
- cron: "0 9 * * 1" # Every Monday at 9am UTC
jobs:
opencode:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Run OpenCode
uses: anomalyco/opencode/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
prompt: |
Review the codebase for any TODO comments and create a summary.
If you find issues worth addressing, open an issue to track them.शेड्यूल्ड इवेंट्स के लिए, prompt इनपुट आवश्यक है क्योंकि इंस्ट्रक्शंस एक्सट्रैक्ट करने के लिए कोई कमेंट नहीं है। शेड्यूल्ड वर्कफ़्लोज़ परमिशन-चेक के लिए यूज़र कॉन्टेक्स्ट के बिना चलते हैं, इसलिए अगर आप OpenCode से ब्रांचेस या PRs बनाने की उम्मीद करते हैं तो वर्कफ़्लो को contents: write और pull-requests: write देना होगा।
Pull Request उदाहरण
PRs खोले या अपडेट किए जाने पर ऑटोमैटिकली रिव्यू करें:
name: opencode-review
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
jobs:
review:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
pull-requests: read
issues: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: anomalyco/opencode/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
model: anthropic/claude-sonnet-4-20250514
use_github_token: true
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvementspull_request इवेंट्स के लिए, अगर कोई prompt प्रदान नहीं किया गया है, तो OpenCode डिफ़ॉल्ट रूप से pull request रिव्यू करता है।
Issues ट्राइएज उदाहरण
नए issues को ऑटोमैटिकली ट्राइएज करें। यह उदाहरण स्पैम कम करने के लिए 30 दिन से पुराने अकाउंट्स को फ़िल्टर करता है:
name: Issue Triage
on:
issues:
types: [opened]
jobs:
triage:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
issues: write
steps:
- name: Check account age
id: check
uses: actions/github-script@v7
with:
script: |
const user = await github.rest.users.getByUsername({
username: context.payload.issue.user.login
});
const created = new Date(user.data.created_at);
const days = (Date.now() - created) / (1000 * 60 * 60 * 24);
return days >= 30;
result-encoding: string
- uses: actions/checkout@v6
if: steps.check.outputs.result == 'true'
with:
persist-credentials: false
- uses: anomalyco/opencode/github@latest
if: steps.check.outputs.result == 'true'
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
prompt: |
Review this issue. If there's a clear fix or relevant docs:
- Provide documentation links
- Add error handling guidance for code examples
Otherwise, do not comment.issues इवेंट्स के लिए, prompt इनपुट आवश्यक है क्योंकि इंस्ट्रक्शंस एक्सट्रैक्ट करने के लिए कोई कमेंट नहीं है।
कस्टम प्रॉम्प्ट्स
अपने वर्कफ़्लो के लिए OpenCode के व्यवहार को कस्टमाइज़ करने के लिए डिफ़ॉल्ट प्रॉम्प्ट को ओवरराइड करें।
- uses: anomalyco/opencode/github@latest
with:
model: anthropic/claude-sonnet-4-5
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvementsयह विशिष्ट रिव्यू क्राइटेरिया, कोडिंग स्टैंडर्ड्स, या आपके प्रोजेक्ट से संबंधित फोकस एरियाज़ को एनफोर्स करने के लिए उपयोगी है।
उदाहरण
यहाँ कुछ उदाहरण हैं कि आप GitHub में OpenCode का उपयोग कैसे कर सकते हैं।
-
Issue समझाएं
GitHub issue में यह कमेंट जोड़ें।
/opencode explain this issueOpenCode सभी कमेंट्स सहित पूरी थ्रेड पढ़ेगा, और स्पष्ट व्याख्या के साथ रिप्लाई करेगा।
-
Issue ठीक करें
GitHub issue में कहें:
/opencode fix thisऔर OpenCode एक नई ब्रांच बनाएगा, बदलाव इम्प्लीमेंट करेगा, और बदलावों के साथ PR खोलेगा।
-
PRs रिव्यू करें और बदलाव करें
GitHub PR पर निम्नलिखित कमेंट छोड़ें।
Delete the attachment from S3 when the note is removed /ocOpenCode अनुरोधित बदलाव इम्प्लीमेंट करेगा और उसी PR में कमिट करेगा।
-
विशिष्ट कोड लाइनों की रिव्यू करें
PR के "Files" टैब में कोड लाइनों पर सीधे कमेंट छोड़ें। OpenCode सटीक प्रतिक्रियाएं प्रदान करने के लिए फाइल, लाइन नंबर और diff कॉन्टेक्स्ट को ऑटोमैटिकली डिटेक्ट करता है।
[Comment on specific lines in Files tab] /oc add error handling hereविशिष्ट लाइनों पर कमेंट करते समय, OpenCode प्राप्त करता है:
- रिव्यू की जा रही सटीक फाइल
- विशिष्ट कोड लाइनें
- आसपास का diff कॉन्टेक्स्ट
- लाइन नंबर जानकारी
यह फाइल पाथ या लाइन नंबर मैन्युअली स्पेसिफाई किए बिना अधिक टारगेटेड रिक्वेस्ट्स की अनुमति देता है।