A Helix-powered app that enables natural language interaction with GitHub Issues. Talk to your GitHub Issues using natural language!
Clone the repository
git clone https://github.com/helixml/helix-github-assistant.git
cd helix-github-assistant
- GitHub Account
- Helix Account (sign up at app.tryhelix.ai)
- Terminal/Command Line access
GitHub Token:
- Go to GitHub.com → Settings → Developer Settings
- Select "Personal Access Tokens" → "Tokens (classic)"
- Generate new token with 'repo' permissions
- Copy and save the token
Helix API Key:
- Log into app.tryhelix.ai
- Click on the three dots beside your name
- Click on Account & API
- Copy Helix API Key
Set environment variables
export GITHUB_OWNER=your_github_username
export GITHUB_API_TOKEN=your_github_token
export HELIX_API_KEY=your_helix_api_key
Verify they're set
echo $GITHUB_OWNER
echo $GITHUB_API_TOKEN
echo $HELIX_API_KEY
Deploy
./deploy.sh
Create a helix.yaml file. Copy and paste configuration:
apiVersion: app.aispec.org/v1alpha1
kind: AIApp
metadata:
name: github-issues
spec:
assistants:
- model: llama3.1:8b-instruct-q8_0
type: text
system_prompt: |
You are a GitHub Issues expert. Present issues clearly and include:
* Issue title and number
* Current status (open/closed)
* Assignees and labels
apis:
- name: GitHub Issues API
description: List repository issues
url: https://api.github.com/repos/${GITHUB_OWNER}/${repo}/issues
headers:
Authorization: Bearer ${GITHUB_API_TOKEN}
Accept: application/vnd.github.v3+json
schema: |-
openapi: 3.0.0
info:
title: GitHub Issues API
description: List repository issues
version: "1.0.0"
servers:
- url: https://api.github.com
paths:
/repos/{owner}/{repo}/issues:
get:
operationId: listIssues
parameters:
- name: owner
in: path
required: true
schema:
type: string
- name: repo
in: path
required: true
schema:
type: string
- name: state
in: query
schema:
type: string
enum: [open, closed, all]
responses:
'200':
description: List of issues
Test configuration
helix test -f helix.yaml
- Go to app.tryhelix.ai
- Find your GitHub Issues assistant in Apps
- Click launch
- Try these queries:
- "Show me open issues in helixml/helix repository"
- "List closed issues from last week"
- "Show issues labeled bug"
We welcome contributions! Here's how:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
If you encounter issues:
- Check environment variables are set correctly
- Verify GitHub token has 'repo' access
- Make sure repository names are correct
- Check Helix API key is valid
Apache 2.0 - See LICENSE for details.