mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-23 10:44:21 +01:00
wip: github actions
This commit is contained in:
94
packages/web/src/content/docs/docs/github.mdx
Normal file
94
packages/web/src/content/docs/docs/github.mdx
Normal file
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: GitHub
|
||||
description: Using opencode within GitHub Issues and Pull-Requests
|
||||
---
|
||||
|
||||
opencode integrates directly into your GitHub workflow. Mention `/opencode` in your comment, and opencode will execute tasks within your GitHub Actions runner.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
- **Triage Issues**: Ask opencode to look into an issue and explain it to you
|
||||
- **Fix and Implement**: Ask opencode to fix an issue or implement a feature. And it will work in a new branch and submits a PR with all the changes.
|
||||
- **Secure**: opencode runs inside your GitHub's runners.
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
Run the following command in the terminal from your GitHub repo:
|
||||
|
||||
```bash
|
||||
opencode github install
|
||||
```
|
||||
|
||||
This will walk you through installing the GitHub app, creating the workflow, and setting up secrets.
|
||||
|
||||
---
|
||||
|
||||
### Manual Setup
|
||||
|
||||
1. Install the GitHub app https://github.com/apps/opencode-agent. Make sure it is installed on the target repository.
|
||||
2. Add the following workflow file to `.github/workflows/opencode.yml` in your repo. Set the appropriate `model` and required API keys in `env`.
|
||||
|
||||
```yml
|
||||
name: opencode
|
||||
|
||||
on:
|
||||
issue_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@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Run opencode
|
||||
uses: sst/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
```
|
||||
|
||||
3. Store the API keys in secrets. In your organization or project **settings**, expand **Secrets and variables** on the left and select **Actions**. Add the required API keys.
|
||||
|
||||
---
|
||||
|
||||
### Inputs
|
||||
|
||||
- `model`: The model used by opencode. Takes the format of `provider/model` (**required**)
|
||||
- `share`: Share the session. Sessions are shared by default for public repos.
|
||||
|
||||
---
|
||||
|
||||
### Usage Examples
|
||||
|
||||
- Explain an issue
|
||||
|
||||
```bash
|
||||
/opencode explain this issue
|
||||
```
|
||||
|
||||
- Fix an issue - opencode will create a PR with the changes.
|
||||
|
||||
```bash
|
||||
/opencode fix this
|
||||
```
|
||||
|
||||
- Review PRs and make changes
|
||||
|
||||
```bash
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
Reference in New Issue
Block a user