Configuration
The CLI supports a configuration file for persistent settings. Use patchpulse.json in your project root going forward. These filenames are supported:
patchpulse.jsonpatchpulse.config.json.patchpulserc.json.patchpulserc
Example
Section titled “Example”{ "skip": ["lodash", "@types/*", "test-*"], "ignorePaths": ["packages/cli/e2e"], "packageManager": "pnpm", "interactive": true}Options
Section titled “Options”An array of package names or glob patterns to exclude from version checks.
{ "skip": ["lodash", "@types/*", "test-*", "*-dev"]}Supported pattern syntax:
| Pattern | Matches |
|---|---|
"lodash" | Exact package name |
"@types/*" | Any package under the @types scope |
"test-*" | Any package starting with test- |
"*-dev" | Any package ending with -dev |
ignorePaths
Section titled “ignorePaths”An array of directory or file paths to exclude from workspace scanning. Useful for ignoring fixture directories or generated packages.
{ "ignorePaths": ["packages/cli/e2e", "**/fixtures", "packages/*/dist"]}Both exact paths and glob patterns are supported.
includePaths
Section titled “includePaths”An array of paths to force-include in the workspace scan, even if they would otherwise be excluded (e.g. by .gitignore). ignorePaths still takes priority.
{ "includePaths": ["tools/internal-package"]}packageManager
Section titled “packageManager”Override the auto-detected package manager. Accepted values: npm, pnpm, yarn, bun.
{ "packageManager": "pnpm"}interactive
Section titled “interactive”Enable the interactive update prompt automatically after every run.
{ "interactive": true}CLI vs file precedence
Section titled “CLI vs file precedence”CLI flags take precedence over file settings for most options. The skip array is an exception — values from both sources are merged.
# Overrides packageManager and interactive, but merges with file's skip listnpx patch-pulse --skip "react,react-dom" --package-manager npm --no-interactive