mcowger/pi GitHub Action

Run the pi coding agent (pi.dev) in GitHub Actions workflows

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
github_tokenGitHub token for API accessyes
providerLLM provider (e.g. openai, google, anthropic, zai, etc.)yes
modelModel to use (e.g., gpt-5.4, gpt-4o, gemini-2.5-pro)yes
tokenAPI token for the LLM provider. Required for most providers, but can be omitted when using providers that support alternative auth mechanisms (e.g. google-vertex with Application Default Credentials).no
thinking_levelThinking level (e.g. off, low, medium, high)nooff
promptOptional prompt to send to the agent. When provided, the trigger phrase is not required and the prompt is used as-is (useful for non-interactive workflows). Falls back to extracting the prompt from the triggering comment if not set. Mutually exclusive with prompt_file.no
prompt_filePath to a Markdown/text file containing the prompt template (relative to the repository root). Supports {{VAR_NAME}} placeholders that are replaced with the corresponding environment variables at runtime. Mutually exclusive with prompt.no
triggerTrigger phrase for the pi agent (e.g. /pi)no/pi
extensionsCustom Pi extensions to load (one per line). Supports npm packages (npm:package-name), git repos (git:github.com/user/repo), or local file paths.no""
load_builtin_extensionsWhether to load built-in GitHub extensions (create_pull_request, update_pull_request, get_issue_or_pr_thread)notrue
base_urlOptional override for the provider base URL (e.g. to route OpenAI traffic through a proxy or use an OpenAI-compatible gateway).no""
export_session_htmlExport the Pi session as a self-contained HTML file and expose its path via the `session_html_path` output. Set to false to disable.nofalse
suppress_final_commentWhen true, the final summary comment is not posted on the issue/PR. Useful when the agent itself posts comments during execution and a redundant summary is not desired.nofalse
suppress_bun_installWhen true, skips installing bun via oven-sh/setup-bun. Useful when bun is already installed in the workflow or provided by a runner.nofalse
retriesNumber of retry attempts when the LLM provider returns a transient error (e.g. invalid request, server error). Each retry creates a fresh session. Set to 0 to disable retries.no3
namedescription
responseThe main agent response text
successWhether the agent completed successfully (true/false)
input_tokensNumber of input tokens consumed
output_tokensNumber of output tokens generated
costCost of the invocation in USD
duration_secondsWall-clock duration of agent execution in seconds
session_html_pathPath to the exported session HTML file (when export_session_html is enabled)