Initialization
This page is for maintainers who want repository-specific PRFlow configuration. Initialization is recommended after installation and after updates. It is not required for local runs because every setting has a built-in default. Initialization is separate from plugin installation. Run it from anywhere inside the target Git repository with the syntax for your client:What Initialization Writes
The initializer resolves the Git repository root. It then applies these idempotent changes:- It creates
.prflow/config.jsonfrom the shipped example when the file is absent. - It backfills newly added configuration keys at any nesting depth when the file already exists.
- Existing values win. Customized arrays such as tool allowlists remain unchanged.
- It refreshes
.prflow/config.schema.jsonto the current schema. - It adds a commented, inert
.md.exampleprompt-extension file for each skill when that example is absent. - It does not overwrite existing examples or live prompt extensions.
- It detects Node, Go, Rust, Java, Ruby, PHP, .NET, Make and Docker markers.
- It merges matching build, test and lint tools into the three relevant allowlists. It also adds known setup commands.
- It inspects the repository for additional services, runtime requirements and project-specific build or verification commands that deterministic language detection cannot infer.
- It deep-merges the PRFlow marketplace registration into the project
.claude/settings.json. The registration enablesprflow@devflow-marketplaceand tracks the marketplace repository’s default branch withautoUpdate: true.
Other Checks and Side Effects
Initialization also:- Runs a preflight for Git, a runnable GitHub CLI,
jq, Python 3.11 or newer and PyYAML. Authentication is a separategh auth statuscheck. - Creates the reserved
PRFlowGitHub label on a best-effort basis. - Checks for shared project-memory files such as
CLAUDE.mdand reports suggestions without editing them. - On supported third-party Claude Code providers, offers to make
autopermission mode selectable by editing the user-global~/.claude/settings.json. This write requires explicit consent and is not a repository file.
.prflow/ or other successful setup changes. Install the missing tool before running implementation or review.
Review and Commit the Result
Review the complete diff before committing. Pay particular attention to:
Commit the repository files your team wants to share. Do not commit a user-global
~/.claude/settings.json change.
If the repository predates the PRFlow rename, initialization first follows the protected migration path. Read Migrate From DevFlow before reviewing that larger diff.