name: 'AutoDev'
run-name: 'AutoDev: ${{ inputs.task_title }}'
on:
workflow_dispatch:
inputs:
prompt:
description: "Instructions for AutoDev. Can be a direct prompt or custom template."
type: string
required: true
base_branch:
description: "The branch to use as the base/source when creating new branches (defaults to repository default branch)"
type: string
required: false
default: 'main'
agent:
description: "The agent to use for the action. Can be 'claude_code', 'gemini_cli', 'codex_cli' or 'opencode'"
type: choice
default: 'claude_code'
options:
- claude_code
- gemini_cli
- codex_cli
- opencode
- crush_cli
- github_copilot_cli
agent_model:
description: "The (optional) model to use for the agent"
type: string
required: false
default: ''
autodev_workflow_execution_token:
description: "The token to use for the AutoDev task"
type: string
required: false
default: ''
autodev_mode:
description: "The AutoDev execution mode. Can be 'develop' (default) or 'plan' (for task graph planning)"
type: choice
default: 'develop'
options:
- develop
- plan
task_title:
description: "The title of the AutoDev task"
type: string
required: false
default: ''
jobs:
autodev:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout code
uses: actions/checkout@v5
# Setup step.
# See next section for the documentation
# - name: Setup Node.js
# uses: actions/setup-node
- name: Run AutoDev
uses: delinoio/autodev-action@main
with:
agent: ${{ inputs.agent }}
agent_model: ${{ inputs.agent_model }}
autodev_mode: ${{ inputs.autodev_mode }}
autodev_workflow_execution_token: ${{ inputs.autodev_workflow_execution_token }}
prompt: ${{ inputs.prompt }}
base_branch: ${{ inputs.base_branch }}
mode: 'develop'
delino_access_token: ${{ secrets.DELINO_ACCESS_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
openai_api_key: ${{ secrets.OPENAI_API_KEY }}