Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QA Agent Action

AI-powered QA Agent for your GitHub repository. It uses Strands for LLM orchestration and Serena for autonomous codebase exploration.

日本語版はこちら (Japanese README)

Features

  • Autonomous Exploration: actively explores your codebase (file search, read, git log) to answer questions.
  • Provider Agnostic: Supports OpenAI, Anthropic, and Gemini.
  • Easy Integration: runs as a GitHub Composite Action.

Usage

1. Interacting with the Agent

Simply comment on any Issue or Pull Request with /ask followed by your question.

Examples:

  • /ask What does this PR change?
  • /ask Explain the directory structure of this repository.
  • /ask Where is the authentication logic implemented?

2. Workflow Setup

Create a workflow file (e.g., .github/workflows/qa.yml):

name: QA Agent
on:
  issue_comment:
    types: [created]

jobs:
  qa:
    if: contains(github.event.comment.body, '/ask')
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write
      pull-requests: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      
      - name: Checkout Pull Request (if applicable)
        if: github.event.issue.pull_request
        uses: actions/checkout@v4
        with:
          ref: refs/pull/${{ github.event.issue.number }}/head

      - name: Run QA Agent
        uses: HawkClaws/QAAgent@main
        env:
          # Set the API key for your chosen provider
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          # ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          # GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          query: ${{ github.event.comment.body }}
          # provider: openai  # optional (default: openai)
          # model: gpt-4o     # optional

Inputs

Input Description Required Default
query The question or instruction for the agent. Yes -
provider LLM Provider (openai, anthropic, gemini). No openai
model Specific model name (e.g., gpt-4o, claude-3-5-sonnet). No Provider default

Development

To run locally for contribution:

# Setup
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# Run
export OPENAI_API_KEY="..."
python qa_agent.py --query "Explain this repo"

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages