Skip to main content
Add PRFlow’s optional GitHub Actions tier to a repository. Skip this page if you only run PRFlow locally.

Before You Start

  • Work in a Git repository and run the installer from its root.
  • Install git.
  • Install Python 3.11 or newer. The installer uses Python to compare managed files and record their provenance. Without it, it preserves existing files rather than risk overwriting your work.

Install From a Release Tag

The examples below pin a specific release tag. Replace it with the tag you want to install, from the releases page. Pin a tag rather than a branch, so the bytes you read are the bytes that run.
1

Download the Installer

2

Read the File Before Running It

This script writes workflow files and configuration into your repository. Open devflow-install.sh and read it first.
3

Run It With the Same Tag

The URL selects the installer. DEVFLOW_REF selects the payload it installs. Use the same value in both places.
A first installation applies immediately. Add --dry-run, or set DEVFLOW_DRY_RUN=1, to preview instead.
4

Review the Result

You should see new files under .github/workflows/, .github/actions/ and .prflow/, listed in the next section. Commit only after the files and permissions match your repository policy.
A tag is not an immutable byte pin. Use the same verified commit SHA in both the URL and DEVFLOW_REF when you need immutability. Leaving DEVFLOW_REF unset selects the moving main branch.

What a First Install Creates

  • .github/workflows/devflow.yml for the comment commands /prflow:review, /prflow:review-and-fix and /prflow:pr-description.
  • .github/workflows/devflow-implement.yml for /prflow:implement.
  • .github/actions/read-project-config, .github/actions/setup-project-env and .github/actions/vendor-plugin.
  • .claude-plugin/marketplace.json.
  • .prflow/config.json, .prflow/config.schema.json, .prflow/.gitignore and prompt-extension examples.
  • .prflow/install-manifest.json, when Python can record managed-artifact digests.
  • .prflow/lint-manifest.json and .prflow/install-state.json, which let implementation runs provision their lint tools from a verified, digest-bound set before the agent starts — each run installs them fresh from a digest-checked download rather than reusing binaries cached between runs.
  • Repository ignore rules for installer sidecar files.
A fresh installation does not receive an automatic pull-request review workflow. That tier is withdrawn from new installs. Use a collaborator’s /prflow:review comment, or add the workflow described in Request a Review Automatically on Green CI.

Choose an Install Mode

The workflows fetch the plugin at run time into .prflow/vendor/prflow/, using the prflow_version pin in .prflow/config.json. The fetched tree is ignored and is not committed.
Choose this for a small install diff and a small update diff.
A thin install fetches the engine from the public The01Geek/prflow repository by default. To fetch from a private or forked engine instead, set the optional top-level prflow_repo key in .prflow/config.json to that repository’s owner/name, and add a PRFLOW_REPO_TOKEN repository secret holding a credential that can read it. When the secret is absent the run falls back to the job token, so a public engine needs neither the key nor the secret.
Continue with Cloud Setup.