Check the Root First
PRFlow anchors its configuration to the Git root, not to the directory you are standing in. Run this before you start a command:/Users/you/code/acme-api. That path is the repository PRFlow will act on, and .prflow/config.json is read from it. If the printed path is not the repository you meant, move to the right directory before you start the command.
Run From Any Subdirectory
PRFlow’s configuration and prompt-extension readers resolve their default path from the Git root, so a command entered inpackages/web/ reads the same root .prflow/config.json and the same .prflow/skill-extensions/ files as a command entered at the top of the repository.
Bundled helper files are found relative to the helper itself, not relative to your current directory, so they resolve the same way from anywhere in the tree.
The Nearest Git Root Wins
git rev-parse --show-toplevel returns the nearest enclosing Git root, which is not always the one you want. Watch for it in three layouts:
A Nested Repository Inside a Monorepo
A Nested Repository Inside a Monorepo
A vendored or cloned repository inside your monorepo is its own Git root. A command started inside it anchors to that inner repository, and it will not see the monorepo’s
.prflow/config.json.A Git Submodule
A Git Submodule
A submodule is a separate Git root for the same reason. Change to the parent checkout first if the parent is the repository you mean to work on.
Configuration Stored Below the Git Root
Configuration Stored Below the Git Root
If your team stores
.prflow/ below the Git root, the default resolution will not find it. Where a helper offers an explicit configuration-path option, that option is honored exactly as written.Outside a Git Repository
Some helpers fall back to the current directory when no Git root can be found. That fallback is not enough for real work: issue, branch, workpad and pull-request workflows all depend on actual Git and GitHub state. Start those workflows from inside the intended checkout.Do Not Change Directory Mid-Run
PRFlow’s own commands are written to avoid a leadingcd for this reason.
See Local Runs for the rest of the local execution model.