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 ऐप इंस्टॉल करने, वर्कफ़्लो बनाने, और secrets सेट करने के लिए मार्गदर्शन करेगा।
मैन्युअल सेटअप
या आप इसे मैन्युअल रूप से सेट कर सकते हैं।
-
GitHub ऐप इंस्टॉल करें 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 -
API कुंजियों को secrets में संग्रहीत करें अपने संगठन या प्रोजेक्ट settings में, बाईं ओर 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यदि पसंद हो तो आप एक personal access tokens (opens in a new tab)(PAT) का भी उपयोग कर सकते हैं।
समर्थित घटनाएँ
OpenCode को निम्नलिखित GitHub घटनाओं द्वारा ट्रिगर किया जा सकता है:
| घटना प्रकार | किसके द्वारा ट्रिगर | विवरण |
|---|---|---|
issue_comment | किसी issue या PR पर टिप्पणी | अपनी टिप्पणी में /opencode या /oc का उल्लेख करें। OpenCode संदर्भ पढ़ता है और ब्रांच बना सकता है, PR खोल सकता है, या उत्तर दे सकता है। |
pull_request_review_comment | किसी PR में विशिष्ट कोड लाइनों पर टिप्पणी | कोड की समीक्षा करते समय /opencode या /oc का उल्लेख करें। OpenCode फ़ाइल पथ, लाइन नंबर, और diff संदर्भ प्राप्त करता है। |
issues | issue खोली या संपादित की गई | issue बनने या संशोधित होने पर स्वचालित रूप से OpenCode को ट्रिगर करें। prompt इनपुट की आवश्यकता है। |
pull_request | PR खोली या अपडेट की गई | PR खुलने, सिंक्रनाइज़ होने, या फिर से खुलने पर स्वचालित रूप से OpenCode को ट्रिगर करें। स्वचालित समीक्षाओं के लिए उपयोगी। |
schedule | Cron-आधारित शेड्यूल | एक शेड्यूल पर OpenCode चलाएँ। prompt इनपुट की आवश्यकता है। आउटपुट लॉग और PR में जाता है (टिप्पणी करने के लिए कोई issue नहीं)। |
workflow_dispatch | GitHub UI से मैन्युअल ट्रिगर | Actions टैब के माध्यम से मांग पर OpenCode को ट्रिगर करें। prompt इनपुट की आवश्यकता है। आउटपुट लॉग और PR में जाता है। |
शेड्यूल उदाहरण
स्वचालित कार्य करने के लिए एक शेड्यूल पर 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 से ब्रांच या PR बनाने की अपेक्षा करते हैं तो वर्कफ़्लो को contents: write और pull-requests: write देना होगा।
Pull Request उदाहरण
PR खुलने या अपडेट होने पर स्वचालित रूप से उनकी समीक्षा करें:
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 खोलेगा।
-
PR की समीक्षा करें और परिवर्तन करें एक 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 संदर्भ
- लाइन नंबर जानकारी
यह फ़ाइल पथ या लाइन नंबर मैन्युअल रूप से निर्दिष्ट किए बिना अधिक लक्षित अनुरोधों की अनुमति देता है।