Help Docs
Overview¶
The help_docs
tool can answer a free-text question based on a git documentation folder.
It can be invoked manually by commenting on any PR or Issue:
Or configured to be triggered automatically when a new issue is opened.The tool assumes by default that the documentation is located in the root of the repository, at /docs
folder.
However, this can be customized by setting the docs_path
configuration option:
[pr_help_docs]
repo_url = "" # The repository to use as context
docs_path = "docs" # The documentation folder
repo_default_branch = "main" # The branch to use in case repo_url overwritten
See more configuration options in the Configuration options section.
Example usage¶
Asking a question about another repository
Response:
Run automatically when a new issue is opened¶
You can configure PR-Agent to run help_docs
automatically on any newly created issue.
This can be useful, for example, for providing immediate feedback to users who open issues with questions on open-source projects with extensive documentation.
Here's how:
1) Follow the steps depicted under Run as a Github Action to create a new workflow, such as:.github/workflows/help_docs.yml
:
2) Edit your yaml file to the following:
name: Run pr agent on every opened issue, respond to user comments on an issue
#When the action is triggered
on:
issues:
types: [opened] #New issue
# Read env. variables
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_API_URL: ${{ github.api_url }}
GIT_REPO_URL: ${{ github.event.repository.clone_url }}
ISSUE_URL: ${{ github.event.issue.html_url || github.event.comment.html_url }}
ISSUE_BODY: ${{ github.event.issue.body || github.event.comment.body }}
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
# The actual set of actions
jobs:
issue_agent:
runs-on: ubuntu-latest
if: ${{ github.event.sender.type != 'Bot' }} #Do not respond to bots
# Set required permissions
permissions:
contents: read # For reading repository contents
issues: write # For commenting on issues
steps:
- name: Run PR Agent on Issues
if: ${{ env.ISSUE_URL != '' }}
uses: docker://codiumai/pr-agent:latest
with:
entrypoint: /bin/bash #Replace invoking cli.py directly with a shell
args: |
-c "cd /app && \
echo 'Running Issue Agent action step on ISSUE_URL=$ISSUE_URL' && \
export config__git_provider='github' && \
export github__user_token=$GITHUB_TOKEN && \
export github__base_url=$GITHUB_API_URL && \
export openai__key=$OPENAI_KEY && \
python -m pr_agent.cli --issue_url=$ISSUE_URL --pr_help_docs.repo_url="..." --pr_help_docs.docs_path="..." --pr_help_docs.openai_key=$OPENAI_KEY && \help_docs \"$ISSUE_BODY\""
3) Following completion of the remaining steps (such as adding secrets and relevant configurations, such as repo_url
and docs_path
) merge this change to your main branch.
When a new issue is opened, you should see a comment from github-actions
bot with an auto response, assuming the question is related to the documentation of the repository.
Configuration options¶
Under the section pr_help_docs
, the configuration file contains options to customize the 'help docs' tool:
repo_url
: If not overwritten, will use the repo from where the context came from (issue or PR), otherwise - use the given repo as context.repo_default_branch
: The branch to use in case repo_url overwritten, otherwise - has no effect.docs_path
: Relative path from root of repository (either the one this PR has been issued for, or above repo url).exclude_root_readme
: Whether or not to exclude the root README file for querying the model.supported_doc_exts
: Which file extensions should be included for the purpose of querying the model.