[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/pnpm-workspace.json","$comment":"https://pnpm.io/pnpm-workspace_yaml","title":"pnpm Workspace Specification","description":"JSON schema for pnpm-workspace.yaml files","type":"object","definitions":{"dependency":{"$comment":"https://www.schemastore.org/package.json","description":"Dependencies are specified with a simple hash of package name to version range.\nThe version range is a string which has one or more space-separated descriptors.\nDependencies can also be identified with a tarball or git URL.\n","type":"object","minProperties":1,"propertyNames":{"type":"string","minLength":1,"maxLength":214},"additionalProperties":{"type":"string","minLength":1}},"devDependency":{"description":"Specifies dependencies that are required for the development and testing of the project. These dependencies are not needed in the production environment.","type":"object","additionalProperties":{"type":"string"}},"optionalDependency":{"description":"Specifies dependencies that are optional for your project. These dependencies are attempted to be installed during the npm install process, but if they fail to install, the installation process will not fail.","type":"object","additionalProperties":{"type":"string"}},"peerDependency":{"description":"Specifies dependencies that are required by the package but are expected to be provided by the consumer of the package.","type":"object","additionalProperties":{"type":"string"}},"peerDependencyMeta":{"description":"When a user installs your package, warnings are emitted if packages specified in \"peerDependencies\" are not already installed. The \"peerDependenciesMeta\" field serves to provide more information on how your peer dependencies are utilized. Most commonly, it allows peer dependencies to be marked as optional. Metadata for this field is specified with a simple hash of the package name to a metadata object.","type":"object","additionalProperties":{"type":"object","additionalProperties":true,"properties":{"optional":{"description":"Specifies that this peer dependency is optional and should not be installed automatically.","type":"boolean"}}}},"catalog":{"$ref":"#/definitions/dependency","description":"Define dependency version ranges as reusable constants,\nfor later reference in package.json files.\nThis (singular) field creates a catalog named default.\n","type":"object","minProperties":1}},"properties":{"packages":{"description":"Workspace package paths. Glob patterns are supported","type":"array","uniqueItems":true,"items":{"type":"string"}},"catalog":{"$comment":"https://pnpm.io/catalogs","$ref":"#/definitions/dependency","description":"Define dependency version ranges as reusable constants,\nfor later reference in package.json files.\nThis (singular) field creates a catalog named default.\n","type":["object","null"],"minProperties":1},"catalogs":{"description":"Define arbitrarily named catalogs","type":["object","null"],"minProperties":1,"additionalProperties":{"$ref":"#/definitions/catalog"}},"catalogMode":{"description":"Controlling if and how dependencies are added to the default catalog","oneOf":[{"type":"string","enum":["strict","prefer","manual"]}]},"onlyBuiltDependencies":{"description":"A list of package names that are allowed to be executed during installation.","type":"array","items":{"type":"string"}},"overrides":{"description":"Used to override any dependency in the dependency graph.","type":"object"},"packageExtensions":{"description":"Used to extend the existing package definitions with additional information.","type":"object","patternProperties":{"^.+$":{"type":"object","properties":{"dependencies":{"$ref":"#/definitions/dependency"},"optionalDependencies":{"$ref":"#/definitions/optionalDependency"},"peerDependencies":{"$ref":"#/definitions/peerDependency"},"peerDependenciesMeta":{"$ref":"#/definitions/peerDependencyMeta"}},"additionalProperties":false}},"additionalProperties":false},"peerDependencyRules":{"type":"object","properties":{"ignoreMissing":{"description":"pnpm will not print warnings about missing peer dependencies from this list.","type":"array","items":{"type":"string"}},"allowedVersions":{"description":"Unmet peer dependency warnings will not be printed for peer dependencies of the specified range.","type":"object"},"allowAny":{"description":"Any peer dependency matching the pattern will be resolved from any version, regardless of the range specified in \"peerDependencies\".","type":"array","items":{"type":"string"}}},"additionalProperties":false},"neverBuiltDependencies":{"description":"A list of dependencies to run builds for.","type":"array","items":{"type":"string"}},"dangerouslyAllowAllBuilds":{"description":"If set to true, all build scripts (e.g. preinstall, install, postinstall) from dependencies will run automatically, without requiring approval.","type":"boolean"},"onlyBuiltDependenciesFile":{"description":"Specifies a JSON file that lists the only packages permitted to run installation scripts during the pnpm install process.","type":"string"},"ignoredBuiltDependencies":{"description":"A list of package names that should not be built during installation.","type":"array","items":{"type":"string"}},"allowedDeprecatedVersions":{"description":"A list of deprecated versions that the warnings are suppressed.","type":"object"},"patchedDependencies":{"description":"A list of dependencies that are patched.","type":"object"},"allowUnusedPatches":{"description":"When true, installation won't fail if some of the patches from the \"patchedDependencies\" field were not applied. (Previously named \"allowNonAppliedPatches\")","type":"boolean"},"allowNonAppliedPatches":{"description":"When true, installation won't fail if some of the patches from the \"patchedDependencies\" field were not applied.","type":"boolean"},"ignorePatchFailures":{"description":"Default is undefined. Errors out when a patch with an exact version or version range fails. Ignores failures from name-only patches. When true, prints a warning instead of failing when any patch cannot be applied. When false, errors out for any patch failure.","type":"boolean"},"updateConfig":{"type":"object","properties":{"ignoreDependencies":{"description":"A list of packages that should be ignored when running \"pnpm outdated\" or \"pnpm update --latest\".","type":"array","items":{"type":"string"}}},"additionalProperties":false},"configDependencies":{"type":"object","description":"Config dependencies allow you to share and centralize configuration files, settings, and hooks across multiple projects. They are installed before all regular dependencies ('dependencies', 'devDependencies', 'optionalDependencies'), making them ideal for setting up custom hooks, patches, and catalog entries."},"auditConfig":{"type":"object","properties":{"ignoreCves":{"description":"A list of CVE IDs that will be ignored by \"pnpm audit\".","type":"array","items":{"type":"string","pattern":"^CVE-\\d{4}-\\d{4,7}$"}},"ignoreGhsas":{"description":"A list of GHSA Codes that will be ignored by \"pnpm audit\".","type":"array","items":{"type":"string","pattern":"^GHSA(-[23456789cfghjmpqrvwx]{4}){3}$"}}},"additionalProperties":false},"requiredScripts":{"description":"A list of scripts that must exist in each project.","type":"array","items":{"type":"string"}},"supportedArchitectures":{"description":"Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install.","type":"object","properties":{"os":{"type":"array","items":{"type":"string"}},"cpu":{"type":"array","items":{"type":"string"}},"libc":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"ignoredOptionalDependencies":{"description":"A list of optional dependencies that the install should be skipped.","type":"array","items":{"type":"string"}},"executionEnv":{"type":"object","properties":{"nodeVersion":{"description":"Specifies which exact Node.js version should be used for the project's runtime.","type":"string"}},"additionalProperties":false},"hoist":{"description":"When true, all dependencies are hoisted to node_modules/.pnpm/node_modules.","type":"boolean"},"hoistWorkspacePackages":{"description":"When true, packages from the workspaces are symlinked to either <workspace_root>/node_modules/.pnpm/node_modules or to <workspace_root>/node_modules depending on other hoisting settings (hoistPattern and publicHoistPattern).","type":"boolean"},"hoistPattern":{"description":"Tells pnpm which packages should be hoisted to node_modules/.pnpm/node_modules","type":"array","items":{"type":"string"}},"publicHoistPattern":{"description":"Unlike hoistPattern, which hoists dependencies to a hidden modules directory inside the virtual store, publicHoistPattern hoists dependencies matching the pattern to the root modules directory.","type":"array","items":{"type":"string"}},"shamefullyHoist":{"description":"By default, pnpm creates a semistrict node_modules, meaning dependencies have access to undeclared dependencies but modules outside of node_modules do not.","type":"boolean"},"modulesDir":{"description":"The directory in which dependencies will be installed (instead of node_modules).","type":"string"},"nodeLinker":{"description":"Defines what linker should be used for installing Node packages.","oneOf":[{"type":"string","enum":["isolated","hoisted","pnp"]}]},"symlink":{"description":"When symlink is set to false, pnpm creates a virtual store directory without any symlinks. It is a useful setting together with nodeLinker=pnp.","type":"boolean"},"enableModulesDir":{"description":"When false, pnpm will not write any files to the modules directory (node_modules).","type":"boolean"},"virtualStoreDir":{"description":"The directory with links to the store.","type":"string"},"virtualStoreDirMaxLength":{"description":"Sets the maximum allowed length of directory names inside the virtual store directory (node_modules/.pnpm).","type":"number"},"packageImportMethod":{"description":"Controls the way packages are imported from the store (if you want to disable symlinks inside node_modules, then you need to change the nodeLinker setting, not this one).","oneOf":[{"type":"string","enum":["auto","hardlink","copy","clone","clone-or-copy"]}]},"modulesCacheMaxAge":{"description":"The time in minutes after which orphan packages from the modules directory should be removed.","type":"number"},"dlxCacheMaxAge":{"description":"The time in minutes after which dlx cache expires.","type":"number"},"storeDir":{"description":"The location where all the packages are saved on the disk.","type":"string"},"verifyStoreIntegrity":{"description":"By default, if a file in the store has been modified, the content of this file is checked before linking it to a project's node_modules. ","type":"boolean"},"strictStorePkgContentCheck":{"description":"Some registries allow the exact same content to be published under different package names and/or versions. ","type":"boolean"},"enableGlobalVirtualStore":{"description":"When enabled, node_modules contains only symlinks to a central virtual store, rather than to node_modules/.pnpm.","type":"boolean"},"lockfile":{"description":"When set to false, pnpm won't read or generate a pnpm-lock.yaml file.","type":"boolean"},"preferFrozenLockfile":{"description":"When set to true and the available pnpm-lock.yaml satisfies the package.json dependencies directive, a headless installation is performed.","type":"boolean"},"lockfileIncludeTarballUrl":{"description":"Add the full URL to the package's tarball to every entry in pnpm-lock.yaml.","type":"boolean"},"gitBranchLockfile":{"description":"When set to true, the generated lockfile name after installation will be named based on the current branch name to completely avoid merge conflicts.","type":"boolean"},"mergeGitBranchLockfilesBranchPattern":{"description":"This configuration matches the current branch name to determine whether to merge all git branch lockfile files. ","type":["array","null"]},"peersSuffixMaxLength":{"description":"Max length of the peer IDs suffix added to dependency keys in the lockfile. If the suffix is longer, it is replaced with a hash.","type":"number"},"registry":{"description":"The base URL of the npm package registry (trailing slash included).","type":"string"},"ca":{"description":"The Certificate Authority signing certificate that is trusted for SSL connections to the registry.","type":"string"},"cafile":{"description":"A path to a file containing one or multiple Certificate Authority signing certificates.","type":"string"},"cert":{"description":"A client certificate to pass when accessing the registry.","type":"string"},"key":{"description":"A client key to pass when accessing the registry.","type":"string"},"gitShallowHosts":{"description":"When fetching dependencies that are Git repositories, if the host is listed in this setting, pnpm will use shallow cloning to fetch only the needed commit, not all the history.","type":"array","items":{"type":"string"}},"httpsProxy":{"description":"A proxy to use for outgoing HTTPS requests. If the HTTPS_PROXY, https_proxy, HTTP_PROXY or http_proxy environment variables are set, their values will be used instead.","type":"string"},"proxy":{"description":"A proxy to use for outgoing http requests. If the HTTP_PROXY or http_proxy environment variables are set, proxy settings will be honored by the underlying request library.","type":"string"},"localAddress":{"description":"The IP address of the local interface to use when making connections to the npm registry.","type":"string"},"maxsockets":{"description":"The maximum number of connections to use per origin (protocol/host/port combination).","type":"number"},"noproxy":{"description":"A comma-separated string of domain extensions that a proxy should not be used for.","type":"string"},"strictSsl":{"description":"Whether or not to do SSL key validation when making requests to the registry via HTTPS.","type":"boolean"},"networkConcurrency":{"description":"Controls the maximum number of HTTP(S) requests to process simultaneously.","type":"number"},"fetchRetries":{"description":"How many times to retry if pnpm fails to fetch from the registry.","type":"number"},"fetchRetryFactor":{"description":"The exponential factor for retry backoff.","type":"number"},"fetchRetryMintimeout":{"description":"The minimum (base) timeout for retrying requests.","type":"number"},"fetchRetryMaxtimeout":{"description":"The maximum fallback timeout to ensure the retry factor does not make requests too long.","type":"number"},"fetchTimeout":{"description":"The maximum amount of time to wait for HTTP requests to complete.","type":"number"},"autoInstallPeers":{"description":"When true, any missing non-optional peer dependencies are automatically installed.","type":"boolean"},"dedupePeerDependents":{"description":"When this setting is set to true, packages with peer dependencies will be deduplicated after peers resolution.","type":"boolean"},"strictPeerDependencies":{"description":"If this is enabled, commands will fail if there is a missing or invalid peer dependency in the tree.","type":"boolean"},"resolvePeersFromWorkspaceRoot":{"description":"When enabled, dependencies of the root workspace project are used to resolve peer dependencies of any projects in the workspace.","type":"boolean"},"color":{"description":"Controls colors in the output.","oneOf":[{"type":"string","enum":["always","auto","never"]}]},"loglevel":{"description":"Any logs at or higher than the given level will be shown. ","oneOf":[{"type":"string","enum":["debug","info","warn","error"]}]},"useBetaCli":{"description":"Experimental option that enables beta features of the CLI.","type":"boolean"},"recursiveInstall":{"description":"If this is enabled, the primary behaviour of pnpm install becomes that of pnpm install -r, meaning the install is performed on all workspace or subdirectory packages.","type":"boolean"},"engineStrict":{"description":"If this is enabled, pnpm will not install any package that claims to not be compatible with the current Node version.","type":"boolean"},"npmPath":{"description":"The location of the npm binary that pnpm uses for some actions, like publishing.","type":"string"},"packageManagerStrict":{"description":"If this setting is disabled, pnpm will not fail if a different package manager is specified in the packageManager field of package.json. When enabled, only the package name is checked (since pnpm v9.2.0), so you can still run any version of pnpm regardless of the version specified in the packageManager field.","type":"boolean"},"packageManagerStrictVersion":{"description":"When enabled, pnpm will fail if its version doesn't exactly match the version specified in the packageManager field of package.json.","type":"boolean"},"managePackageManagerVersions":{"description":"When enabled, pnpm will automatically download and run the version of pnpm specified in the packageManager field of package.json.","type":"boolean"},"ignoreScripts":{"description":"Do not execute any scripts defined in the project package.json and its dependencies.","type":"boolean"},"ignoreDepScripts":{"description":"Do not execute any scripts of the installed packages. Scripts of the projects are executed.","type":"boolean"},"childConcurrency":{"description":"The maximum number of child processes to allocate simultaneously to build node_modules.","type":"number"},"sideEffectsCache":{"description":"Use and cache the results of (pre/post)install hooks.","type":"boolean"},"sideEffectsCacheReadonly":{"description":"Only use the side effects cache if present, do not create it for new packages.","type":"boolean"},"unsafePerm":{"description":"Set to true to enable UID/GID switching when running package scripts. If set explicitly to false, then installing as a non-root user will fail.","type":"boolean"},"nodeOptions":{"description":"Options to pass through to Node.js via the NODE_OPTIONS environment variable.","type":"string"},"verifyDepsBeforeRun":{"description":"This setting allows the checking of the state of dependencies before running scripts.","oneOf":[{"type":["string","boolean"],"enum":["install","warn","error","prompt",false]}]},"strictDepBuilds":{"description":"When strictDepBuilds is enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts).","type":"boolean"},"useNodeVersion":{"description":"Specifies which exact Node.js version should be used for the project's runtime.","type":"string"},"nodeVersion":{"description":"The Node.js version to use when checking a package's engines setting.","type":"string"},"linkWorkspacePackages":{"description":"If this is enabled, locally available packages are linked to node_modules instead of being downloaded from the registry.","oneOf":[{"type":"boolean"},{"type":"string","enum":["deep"]}]},"injectWorkspacePackages":{"description":"Enables hard-linking of all local workspace dependencies instead of symlinking them.","type":"boolean"},"syncInjectedDepsAfterScripts":{"description":"Injected workspace dependencies are collections of hardlinks, which don't add or remove the files when their sources change.","type":"array","uniqueItems":true,"items":{"type":"string"}},"preferWorkspacePackages":{"description":"If this is enabled, local packages from the workspace are preferred over packages from the registry, even if there is a newer version of the package in the registry.","type":"boolean"},"sharedWorkspaceLockfile":{"description":"If this is enabled, pnpm creates a single pnpm-lock.yaml file in the root of the workspace.","type":"boolean"},"saveWorkspaceProtocol":{"description":"This setting controls how dependencies that are linked from the workspace are added to package.json.","oneOf":[{"type":"boolean"},{"type":"string","enum":["rolling"]}]},"includeWorkspaceRoot":{"description":"When executing commands recursively in a workspace, execute them on the root workspace project as well.","type":"boolean"},"ignoreWorkspaceCycles":{"description":"When set to true, no workspace cycle warnings will be printed.","type":"boolean"},"ignoreWorkspaceRootCheck":{"description":"Adding a new dependency to the root workspace package fails, unless the --ignore-workspace-root-check or -w flag is used.","type":"boolean"},"disallowWorkspaceCycles":{"description":"When set to true, installation will fail if the workspace has cycles.","type":"boolean"},"forceLegacyDeploy":{"description":"By default, pnpm deploy will try creating a dedicated lockfile from a shared lockfile for deployment. If this setting is set to true, the legacy deploy behavior will be used.","type":"boolean"},"savePrefix":{"description":"Configure how versions of packages installed to a package.json file get prefixed.","oneOf":[{"type":"string","enum":["^","~",""]}]},"tag":{"description":"If you pnpm add a package and you don't provide a specific version, then it will install the package at the version registered under the tag from this setting.","type":"string"},"globalDir":{"description":"Specify a custom directory to store global packages.","type":"string"},"globalBinDir":{"description":"Allows to set the target directory for the bin files of globally installed packages.","type":"string"},"stateDir":{"description":"The location where all the packages are saved on the disk.","type":"string"},"cacheDir":{"description":"The location of the cache (package metadata and dlx).","type":"string"},"useStderr":{"description":"When true, all the output is written to stderr.","type":"boolean"},"updateNotifier":{"description":"When true, pnpm will check for updates to the installed packages and notify the user.","type":"boolean"},"preferSymlinkedExecutables":{"description":"Create symlinks to executables in node_modules/.bin instead of command shims. This setting is ignored on Windows, where only command shims work.","type":"boolean"},"ignoreCompatibilityDb":{"description":"During installation the dependencies of some packages are automatically patched. If you want to disable this, set this config to false.","type":"boolean"},"resolutionMode":{"description":"Determines how pnpm resolves dependencies, See https://pnpm.io/npmrc#resolution-mode","oneOf":[{"type":"string","enum":["highest","time-based","lowest-direct"]}]},"registrySupportsTimeField":{"description":"Set this to true if the registry that you are using returns the \"time\" field in the abbreviated metadata.","type":"boolean"},"extendNodePath":{"description":"When false, the NODE_PATH environment variable is not set in the command shims.","type":"boolean"},"deployAllFiles":{"description":"When deploying a package or installing a local package, all files of the package are copied.","type":"boolean"},"dedupeDirectDeps":{"description":"When set to true, dependencies that are already symlinked to the root node_modules directory of the workspace will not be symlinked to subproject node_modules directories.","type":"boolean"},"dedupeInjectedDeps":{"description":"When this setting is enabled, dependencies that are injected will be symlinked from the workspace whenever possible.","type":"boolean"},"optimisticRepeatInstall":{"description":"When enabled, a fast check will be performed before proceeding to installation. This way a repeat install or an install on a project with everything up-to-date becomes a lot faster.","type":"boolean"},"gitChecks":{"description":"Check if current branch is your publish branch, clean, and up-to-date with remote.","type":"boolean"},"publishBranch":{"description":"The primary branch of the repository which is used for publishing the latest changes.","type":"string"},"pnpmfile":{"description":"The location of the local pnpmfile.","type":"string"},"globalPnpmfile":{"description":"The location of a global pnpmfile. A global pnpmfile is used by all projects during installation.","type":"string"},"ignorePnpmfile":{"description":".pnpmfile.cjs will be ignored. Useful together with --ignore-scripts when you want to make sure that no script gets executed during install.","type":"boolean"},"patchesDir":{"description":"The generated patch file will be saved to this directory.","type":"string"},"enablePrePostScripts":{"description":"When true, pnpm will run any pre/post scripts automatically.","type":"boolean"},"scriptShell":{"description":"The shell to use for scripts run with the pnpm run command.","type":"string"},"shellEmulator":{"description":"When true, pnpm will use a JavaScript implementation of a bash-like shell to execute scripts.","type":"boolean"},"saveExact":{"description":"Saved dependencies will be configured with an exact version rather than using pnpm's default semver range operator.","type":"boolean"}},"additionalProperties":false}
</schema>

[User] Provide a JSON object that satisfies the schema "pnpm Workspace Specification". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

pnpm Workspace Specification

JSON schema for pnpm-workspace.yaml files

Dependencies are specified with a simple hash of package name to version range.
The version range is a string which has one or more space-separated descriptors.
Dependencies can also be identified with a tarball or git URL.

Specifies dependencies that are required for the development and testing of the project. These dependencies are not needed in the production environment.

Specifies dependencies that are optional for your project. These dependencies are attempted to be installed during the npm install process, but if they fail to install, the installation process will not fail.

Specifies dependencies that are required by the package but are expected to be provided by the consumer of the package.

When a user installs your package, warnings are emitted if packages specified in "peerDependencies" are not already installed. The "peerDependenciesMeta" field serves to provide more information on how your peer dependencies are utilized. Most commonly, it allows peer dependencies to be marked as optional. Metadata for this field is specified with a simple hash of the package name to a metadata object.

Specifies that this peer dependency is optional and should not be installed automatically.

Define dependency version ranges as reusable constants,
for later reference in package.json files.
This (singular) field creates a catalog named default.

Workspace package paths. Glob patterns are supported

Define arbitrarily named catalogs

Controlling if and how dependencies are added to the default catalog

A list of package names that are allowed to be executed during installation.

Used to override any dependency in the dependency graph.

Used to extend the existing package definitions with additional information.

pnpm will not print warnings about missing peer dependencies from this list.

Unmet peer dependency warnings will not be printed for peer dependencies of the specified range.

Any peer dependency matching the pattern will be resolved from any version, regardless of the range specified in "peerDependencies".

A list of dependencies to run builds for.

If set to true, all build scripts (e.g. preinstall, install, postinstall) from dependencies will run automatically, without requiring approval.

Specifies a JSON file that lists the only packages permitted to run installation scripts during the pnpm install process.

A list of package names that should not be built during installation.

A list of deprecated versions that the warnings are suppressed.

A list of dependencies that are patched.

When true, installation won't fail if some of the patches from the "patchedDependencies" field were not applied. (Previously named "allowNonAppliedPatches")

Default is undefined. Errors out when a patch with an exact version or version range fails. Ignores failures from name-only patches. When true, prints a warning instead of failing when any patch cannot be applied. When false, errors out for any patch failure.

A list of packages that should be ignored when running "pnpm outdated" or "pnpm update --latest".

Config dependencies allow you to share and centralize configuration files, settings, and hooks across multiple projects. They are installed before all regular dependencies ('dependencies', 'devDependencies', 'optionalDependencies'), making them ideal for setting up custom hooks, patches, and catalog entries.

A list of CVE IDs that will be ignored by "pnpm audit".

A list of GHSA Codes that will be ignored by "pnpm audit".

A list of scripts that must exist in each project.

Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install.

A list of optional dependencies that the install should be skipped.

Specifies which exact Node.js version should be used for the project's runtime.

When true, all dependencies are hoisted to node_modules/.pnpm/node_modules.

When true, packages from the workspaces are symlinked to either <workspace_root>/node_modules/.pnpm/node_modules or to <workspace_root>/node_modules depending on other hoisting settings (hoistPattern and publicHoistPattern).

Tells pnpm which packages should be hoisted to node_modules/.pnpm/node_modules

Unlike hoistPattern, which hoists dependencies to a hidden modules directory inside the virtual store, publicHoistPattern hoists dependencies matching the pattern to the root modules directory.

By default, pnpm creates a semistrict node_modules, meaning dependencies have access to undeclared dependencies but modules outside of node_modules do not.

The directory in which dependencies will be installed (instead of node_modules).

Defines what linker should be used for installing Node packages.

When symlink is set to false, pnpm creates a virtual store directory without any symlinks. It is a useful setting together with nodeLinker=pnp.

When false, pnpm will not write any files to the modules directory (node_modules).

The directory with links to the store.

Sets the maximum allowed length of directory names inside the virtual store directory (node_modules/.pnpm).

Controls the way packages are imported from the store (if you want to disable symlinks inside node_modules, then you need to change the nodeLinker setting, not this one).

The time in minutes after which orphan packages from the modules directory should be removed.

The time in minutes after which dlx cache expires.

The location where all the packages are saved on the disk.

By default, if a file in the store has been modified, the content of this file is checked before linking it to a project's node_modules.

Some registries allow the exact same content to be published under different package names and/or versions.

When enabled, node_modules contains only symlinks to a central virtual store, rather than to node_modules/.pnpm.

When set to false, pnpm won't read or generate a pnpm-lock.yaml file.

When set to true and the available pnpm-lock.yaml satisfies the package.json dependencies directive, a headless installation is performed.

Add the full URL to the package's tarball to every entry in pnpm-lock.yaml.

When set to true, the generated lockfile name after installation will be named based on the current branch name to completely avoid merge conflicts.

This configuration matches the current branch name to determine whether to merge all git branch lockfile files.

Max length of the peer IDs suffix added to dependency keys in the lockfile. If the suffix is longer, it is replaced with a hash.

The base URL of the npm package registry (trailing slash included).

The Certificate Authority signing certificate that is trusted for SSL connections to the registry.

A path to a file containing one or multiple Certificate Authority signing certificates.

A client certificate to pass when accessing the registry.

A client key to pass when accessing the registry.

When fetching dependencies that are Git repositories, if the host is listed in this setting, pnpm will use shallow cloning to fetch only the needed commit, not all the history.

A proxy to use for outgoing HTTPS requests. If the HTTPS_PROXY, https_proxy, HTTP_PROXY or http_proxy environment variables are set, their values will be used instead.

A proxy to use for outgoing http requests. If the HTTP_PROXY or http_proxy environment variables are set, proxy settings will be honored by the underlying request library.

The IP address of the local interface to use when making connections to the npm registry.

The maximum number of connections to use per origin (protocol/host/port combination).

A comma-separated string of domain extensions that a proxy should not be used for.

Whether or not to do SSL key validation when making requests to the registry via HTTPS.

Controls the maximum number of HTTP(S) requests to process simultaneously.

How many times to retry if pnpm fails to fetch from the registry.

The exponential factor for retry backoff.

The minimum (base) timeout for retrying requests.

The maximum fallback timeout to ensure the retry factor does not make requests too long.

The maximum amount of time to wait for HTTP requests to complete.

When true, any missing non-optional peer dependencies are automatically installed.

When this setting is set to true, packages with peer dependencies will be deduplicated after peers resolution.

If this is enabled, commands will fail if there is a missing or invalid peer dependency in the tree.

When enabled, dependencies of the root workspace project are used to resolve peer dependencies of any projects in the workspace.

Controls colors in the output.

Any logs at or higher than the given level will be shown.

Experimental option that enables beta features of the CLI.

If this is enabled, the primary behaviour of pnpm install becomes that of pnpm install -r, meaning the install is performed on all workspace or subdirectory packages.

If this is enabled, pnpm will not install any package that claims to not be compatible with the current Node version.

The location of the npm binary that pnpm uses for some actions, like publishing.

If this setting is disabled, pnpm will not fail if a different package manager is specified in the packageManager field of package.json. When enabled, only the package name is checked (since pnpm v9.2.0), so you can still run any version of pnpm regardless of the version specified in the packageManager field.

When enabled, pnpm will fail if its version doesn't exactly match the version specified in the packageManager field of package.json.

When enabled, pnpm will automatically download and run the version of pnpm specified in the packageManager field of package.json.

Do not execute any scripts defined in the project package.json and its dependencies.

Do not execute any scripts of the installed packages. Scripts of the projects are executed.

The maximum number of child processes to allocate simultaneously to build node_modules.

Use and cache the results of (pre/post)install hooks.

Only use the side effects cache if present, do not create it for new packages.

Set to true to enable UID/GID switching when running package scripts. If set explicitly to false, then installing as a non-root user will fail.

Options to pass through to Node.js via the NODE_OPTIONS environment variable.

This setting allows the checking of the state of dependencies before running scripts.

When strictDepBuilds is enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts).

Specifies which exact Node.js version should be used for the project's runtime.

The Node.js version to use when checking a package's engines setting.

If this is enabled, locally available packages are linked to node_modules instead of being downloaded from the registry.

Enables hard-linking of all local workspace dependencies instead of symlinking them.

Injected workspace dependencies are collections of hardlinks, which don't add or remove the files when their sources change.

If this is enabled, local packages from the workspace are preferred over packages from the registry, even if there is a newer version of the package in the registry.

If this is enabled, pnpm creates a single pnpm-lock.yaml file in the root of the workspace.

This setting controls how dependencies that are linked from the workspace are added to package.json.

When executing commands recursively in a workspace, execute them on the root workspace project as well.

When set to true, no workspace cycle warnings will be printed.

Adding a new dependency to the root workspace package fails, unless the --ignore-workspace-root-check or -w flag is used.

When set to true, installation will fail if the workspace has cycles.

By default, pnpm deploy will try creating a dedicated lockfile from a shared lockfile for deployment. If this setting is set to true, the legacy deploy behavior will be used.

Configure how versions of packages installed to a package.json file get prefixed.

If you pnpm add a package and you don't provide a specific version, then it will install the package at the version registered under the tag from this setting.

Specify a custom directory to store global packages.

Allows to set the target directory for the bin files of globally installed packages.

The location where all the packages are saved on the disk.

The location of the cache (package metadata and dlx).

When true, all the output is written to stderr.

When true, pnpm will check for updates to the installed packages and notify the user.

Create symlinks to executables in node_modules/.bin instead of command shims. This setting is ignored on Windows, where only command shims work.

During installation the dependencies of some packages are automatically patched. If you want to disable this, set this config to false.

Determines how pnpm resolves dependencies, See https://pnpm.io/npmrc#resolution-mode

Set this to true if the registry that you are using returns the "time" field in the abbreviated metadata.

When false, the NODE_PATH environment variable is not set in the command shims.

When deploying a package or installing a local package, all files of the package are copied.

When set to true, dependencies that are already symlinked to the root node_modules directory of the workspace will not be symlinked to subproject node_modules directories.

When this setting is enabled, dependencies that are injected will be symlinked from the workspace whenever possible.

When enabled, a fast check will be performed before proceeding to installation. This way a repeat install or an install on a project with everything up-to-date becomes a lot faster.

Check if current branch is your publish branch, clean, and up-to-date with remote.

The primary branch of the repository which is used for publishing the latest changes.

The location of the local pnpmfile.

The location of a global pnpmfile. A global pnpmfile is used by all projects during installation.

.pnpmfile.cjs will be ignored. Useful together with --ignore-scripts when you want to make sure that no script gets executed during install.

The generated patch file will be saved to this directory.

When true, pnpm will run any pre/post scripts automatically.

The shell to use for scripts run with the pnpm run command.

When true, pnpm will use a JavaScript implementation of a bash-like shell to execute scripts.

Saved dependencies will be configured with an exact version rather than using pnpm's default semver range operator.

Provide a JSON object that satisfies the schema "pnpm Workspace Specification". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-04/schema#","additionalProperties":{},"definitions":{"PermissionChildren":{"additionalProperties":{"properties":{"children":{"$ref":"#/definitions/PermissionChildren","description":"The child permissions. Toggling the parent permission will toggle all child permissions too."},"default":{"description":"Indicates whether players have this permission by default.","enum":["!admin","!op","!operator","admin",false,"false","isadmin","isop","isoperator","notadmin","notop","notoperator","op","operator",true,"true"]},"description":{"description":"Description of the permission","type":"string"}},"type":"object"},"type":"object"},"VersionConstraint":{"description":"The name of the extension, or a mapping of the extension to the required version constraint.","pattern":"\\*|((<=|le|<>|!=|ne|<|lt|==|=|eq|>=|ge|>|gt).*)","type":"string"}},"id":"https://json.schemastore.org/pocketmine-plugin.json","properties":{"api":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"string"}],"description":"The PocketMine API version(s) supported by the plugin. The array should be minimized such that no two API versions."},"author":{"description":"The author name","type":"string"},"authors":{"description":"The author names, will be appended to `author` if both are present","items":{"type":"string"},"type":"array"},"commands":{"description":"The commands to be registered automatically. The keys are command name. Commands can also be dynamically registered with the server CommandMap.","additionalProperties":{"properties":{"aliases":{"description":"Aliases of the command","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the command as shown in /help","type":"string"},"permission":{"description":"Name of the permission to check for, or multiple permissions separated","type":"string"},"permission-message":{"description":"Message to send to users if permission checks fail. Occurrences of <permission> are replaced with the `permission` property.","type":"string"},"usage":{"description":"Usage message of the command","type":"string"}},"type":"object"},"type":"object"},"depend":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z0-9 _.-]+$"},"type":"array"},{"type":"string","pattern":"^[A-Za-z0-9 _.-]+$"}],"description":"Plugin(s) in `depend` must be present and will be loaded BEFORE this plugin."},"description":{"description":"The detailed description of the plugin","type":"string"},"extensions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"additionalProperties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"string"}]},"type":"object"},{"type":"string"}],"description":"Extension(s) required to load this plugin. Can be one extension name, a list of extension names or a mapping of extension name to version constraints."},"load":{"description":"The point of loading the plugin, defaults to POSTWORLD","enum":["POSTWORLD","STARTUP"],"type":"string"},"loadbefore":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z0-9 _.-]+$"},"type":"array"},{"type":"string","pattern":"^[A-Za-z0-9 _.-]+$"}],"description":"Plugin(s) in `loadbefore` will be loaded AFTER this plugin if they are present."},"main":{"description":"The fully-qualified name of the main class that extends PluginBase","pattern":"([A-Za-z_]\\w+\\\\)*([A-Za-z_]\\w+)","type":"string"},"mcpe-protocols":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"integer"}],"description":"The MCPE protocol versions supported by the plugin. If supported,"},"name":{"description":"Name of the plugin","pattern":"^[A-Za-z0-9 _.-]+$","type":"string"},"permissions":{"$ref":"#/definitions/PermissionChildren","description":"Permissions to be registered by this plugin automatically. Permissions can still be registered dynamically."},"prefix":{"description":"The plugin prefix used in the logger, defaults to plugin name","type":"string"},"softdepend":{"anyOf":[{"items":{"type":"string","pattern":"^[A-Za-z0-9 _.-]+$"},"type":"array","pattern":"^[A-Za-z0-9 _.-]+$"},{"type":"string"}],"description":"Plugin(s) in `softdepend` will be loaded BEFORE this plugin if they are present, but nothing special happens if they are not present."},"version":{"description":"Plugin version","type":"string"},"website":{"description":"The plugin's website","format":"iri","type":"string"}},"required":["api","main","name","version"],"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "pocketmine-plugin". Here are the required top‑level fields: api, main, name, version. Return only the valid JSON object.

The child permissions. Toggling the parent permission will toggle all child permissions too.

Indicates whether players have this permission by default.

Description of the permission

The name of the extension, or a mapping of the extension to the required version constraint.

The PocketMine API version(s) supported by the plugin. The array should be minimized such that no two API versions.

The author name

The author names, will be appended to `author` if both are present

The commands to be registered automatically. The keys are command name. Commands can also be dynamically registered with the server CommandMap.

Aliases of the command

Description of the command as shown in /help

Name of the permission to check for, or multiple permissions separated

Message to send to users if permission checks fail. Occurrences of <permission> are replaced with the `permission` property.

Usage message of the command

Plugin(s) in `depend` must be present and will be loaded BEFORE this plugin.

The detailed description of the plugin

Extension(s) required to load this plugin. Can be one extension name, a list of extension names or a mapping of extension name to version constraints.

The point of loading the plugin, defaults to POSTWORLD

Plugin(s) in `loadbefore` will be loaded AFTER this plugin if they are present.

The fully-qualified name of the main class that extends PluginBase

The MCPE protocol versions supported by the plugin. If supported,

Name of the plugin

Permissions to be registered by this plugin automatically. Permissions can still be registered dynamically.

The plugin prefix used in the logger, defaults to plugin name

Plugin(s) in `softdepend` will be loaded BEFORE this plugin if they are present, but nothing special happens if they are not present.

Plugin version

The plugin's website

Provide a JSON object that satisfies the schema "pocketmine-plugin". Here are the required top‑level fields: api, main, name, version. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://github.com/aquaproj/aqua/v2/pkg/policy/config-yaml","$ref":"#/$defs/ConfigYAML","$defs":{"ConfigYAML":{"properties":{"registries":{"items":{"$ref":"#/$defs/Registry"},"type":"array"},"packages":{"items":{"$ref":"#/$defs/Package"},"type":"array"}},"additionalProperties":false,"type":"object","required":["registries"]},"Package":{"properties":{"name":{"type":"string"},"version":{"type":"string"},"registry":{"type":"string"}},"additionalProperties":false,"type":"object"},"Registry":{"properties":{"name":{"type":"string"},"type":{"type":"string","enum":["standard","local","github_content"]},"repo_owner":{"type":"string"},"repo_name":{"type":"string"},"ref":{"type":"string"},"path":{"type":"string"}},"additionalProperties":false,"type":"object"}}}
</schema>

[User] Provide a JSON object that satisfies the schema "policy". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Provide a JSON object that satisfies the schema "policy". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"definitions":{},"description":"Portman by Apideck allows you to port your OpenApi Spec to a Postman Collection, inject a powerful test suite, and run your tests with Newman. Details about all configuration options can be found at http://getportman.com.","properties":{"$schema":{"type":"string"},"assignVariables":{"items":{"additionalProperties":false,"properties":{"collectionVariables":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"requestBodyProp":{"type":"string"},"responseBodyProp":{"type":"string"},"responseHeaderProp":{"type":"string"},"value":{}},"type":"object"},"type":"array"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"}},"required":["collectionVariables"],"type":"object"},"type":"array"},"globals":{"additionalProperties":false,"properties":{"collectionPreRequestScripts":{"items":{"type":"string"},"type":"array"},"collectionTestScripts":{"items":{"type":"string"},"type":"array"},"collectionVariables":{"additionalProperties":{},"type":"object"},"keyValueReplacements":{"additionalProperties":{},"type":"object"},"orderOfOperations":{"items":{"type":"string"},"type":"array"},"orderOfFolders":{"items":{"type":"string"},"type":"array"},"portmanReplacements":{"items":{"additionalProperties":false,"properties":{"replaceWith":{"type":"string"},"searchFor":{"type":"string"}},"required":["searchFor","replaceWith"],"type":"object"},"type":"array"},"rawReplacements":{"items":{"additionalProperties":false,"properties":{"replaceWith":{"type":"string"},"searchFor":{"type":"string"}},"required":["searchFor","replaceWith"],"type":"object"},"type":"array"},"securityOverwrites":{"additionalProperties":false,"properties":{"apiKey":{"additionalProperties":false,"properties":{"in":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"awsv4":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"basic":{"additionalProperties":false,"properties":{"password":{"type":"string"},"username":{"type":"string"}},"required":["username","password"],"type":"object"},"bearer":{"additionalProperties":false,"properties":{"token":{"type":"string"}},"required":["token"],"type":"object"},"digest":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"edgegrid":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"hawk":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"ntlm":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"oauth1":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"oauth2":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"other":{"additionalProperties":{"anyOf":[{},{"items":{},"type":"array"}]},"properties":{"type":{"type":"string"}},"required":["type"],"type":"object"},"remove":{"type":"boolean"}},"type":"object"},"separatorSymbol":{"type":"string"},"stripResponseExamples":{"type":"boolean"},"valueReplacements":{"additionalProperties":{},"type":"object"},"variableCasing":{"enum":["camelCase","pascalCase","kebabCase","trainCase","snakeCase","adaCase","constantCase","cobolCase","dotNotation","lowerCase","upperCase"],"type":"string"}},"type":"object"},"operationPreRequestScripts":{"items":{"additionalProperties":false,"properties":{"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"scripts":{"items":{"type":"string"},"type":"array"}},"required":["scripts"],"type":"object"},"type":"array"},"overwrites":{"items":{"additionalProperties":false,"properties":{"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"overwriteRequestBaseUrl":{"additionalProperties":false,"properties":{"overwrite":{"type":"boolean"},"remove":{"type":"boolean"},"value":{"type":"string"}},"type":"object"},"overwriteRequestBody":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"disable":{"type":"boolean"},"insert":{"type":"boolean"},"key":{"type":"string"},"overwrite":{"type":"boolean"},"remove":{"type":"boolean"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"overwriteRequestHeaders":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"disable":{"type":"boolean"},"insert":{"type":"boolean"},"key":{"type":"string"},"overwrite":{"type":"boolean"},"remove":{"type":"boolean"},"value":{"type":"string"}},"required":["key"],"type":"object"},"type":"array"},"overwriteRequestPathIdVariables":{"items":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"type":"array"},"overwriteRequestPathVariables":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"disable":{"type":"boolean"},"insert":{"type":"boolean"},"key":{"type":"string"},"overwrite":{"type":"boolean"},"remove":{"type":"boolean"},"value":{"type":"string"}},"required":["key"],"type":"object"},"type":"array"},"overwriteRequestQueryParams":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"disable":{"type":"boolean"},"insert":{"type":"boolean"},"key":{"type":"string"},"overwrite":{"type":"boolean"},"remove":{"type":"boolean"},"value":{"type":"string"}},"required":["key"],"type":"object"},"type":"array"},"overwriteRequestSecurity":{"additionalProperties":false,"properties":{"apiKey":{"additionalProperties":false,"properties":{"in":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"}},"required":["value"],"type":"object"},"awsv4":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"basic":{"additionalProperties":false,"properties":{"password":{"type":"string"},"username":{"type":"string"}},"required":["username","password"],"type":"object"},"bearer":{"additionalProperties":false,"properties":{"token":{"type":"string"}},"required":["token"],"type":"object"},"digest":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"edgegrid":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"hawk":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"ntlm":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"oauth1":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"oauth2":{"items":{"additionalProperties":false,"properties":{"key":{"type":"string"},"type":{"type":"string"},"value":{}},"required":["key"],"type":"object"},"type":"array"},"other":{"additionalProperties":{"anyOf":[{},{"items":{},"type":"array"}]},"properties":{"type":{"type":"string"}},"required":["type"],"type":"object"},"remove":{"type":"boolean"}},"type":"object"}},"type":"object"},"type":"array"},"tests":{"additionalProperties":false,"properties":{"contentTests":{"items":{"additionalProperties":false,"properties":{"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"responseBodyTests":{"items":{"additionalProperties":false,"properties":{"assert":{"type":"string"},"contains":{"type":"string"},"key":{"type":"string"},"length":{"type":["string","number"]},"maxLength":{"type":["string","number"]},"minLength":{"type":["string","number"]},"notExist":{"type":"boolean"},"oneOf":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"items":{"type":"number"},"type":"array"},{"items":{"type":"boolean"},"type":"array"}]},"value":{"type":["string","number","boolean","null"]}},"required":["key"],"type":"object"},"type":"array"},"responseHeaderTests":{"items":{"additionalProperties":false,"properties":{"assert":{"type":"string"},"contains":{"type":"string"},"key":{"type":"string"},"length":{"type":["string","number"]},"maxLength":{"type":["string","number"]},"minLength":{"type":["string","number"]},"notExist":{"type":"boolean"},"oneOf":{"items":{"type":"string"},"type":"array"},"value":{"type":["string","number","boolean"]}},"required":["key"],"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"contractTests":{"items":{"additionalProperties":false,"properties":{"additionalProperties":{"additionalProperties":false,"properties":{"additionalProperties":{"type":"boolean"},"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"}},"required":["enabled"],"type":"object"},"contentType":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"}},"required":["enabled"],"type":"object"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"headersPresent":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"}},"required":["enabled"],"type":"object"},"jsonBody":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"}},"required":["enabled"],"type":"object"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"responseTime":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"maxMs":{"type":"number"}},"required":["enabled","maxMs"],"type":"object"},"schemaValidation":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"additionalProperties":{"type":"boolean"}},"required":["enabled"],"type":"object"},"statusCode":{"additionalProperties":false,"properties":{"code":{"type":"number"},"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"}},"required":["enabled"],"type":"object"},"statusSuccess":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"}},"required":["enabled"],"type":"object"}},"type":"object"},"type":"array"},"extendTests":{"items":{"additionalProperties":false,"properties":{"append":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"overwrite":{"type":"boolean"},"tests":{"items":{"type":"string"},"type":"array"}},"required":["tests"],"type":"object"},"type":"array"},"integrationTests":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"operations":{"items":{"additionalProperties":false,"properties":{"openApiOperationId":{"type":"string"},"openApiResponse":{"type":"string"},"variations":{"items":{"additionalProperties":false,"properties":{"assignVariables":{"items":{"additionalProperties":false,"properties":{"collectionVariables":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"requestBodyProp":{"type":"string"},"responseBodyProp":{"type":"string"},"responseHeaderProp":{"type":"string"},"value":{}},"type":"object"},"type":"array"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"}},"required":["collectionVariables"],"type":"object"},"type":"array"},"extendTests":{"items":{"additionalProperties":false,"properties":{"append":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"overwrite":{"type":"boolean"},"tests":{"items":{"type":"string"},"type":"array"}},"required":["tests"],"type":"object"},"type":"array"},"fuzzing":{"items":{"additionalProperties":false,"properties":{"requestBody":{"items":{"additionalProperties":false,"properties":{"maxLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"maximumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minimumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"requiredFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"}},"type":"object"},"type":"array"},"requestHeaders":{"items":{"additionalProperties":false,"properties":{"maxLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"maximumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minimumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"requiredFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"}},"type":"object"},"type":"array"},"requestQueryParams":{"items":{"additionalProperties":false,"properties":{"maxLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"maximumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minimumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"requiredFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"name":{"type":"string"},"openApiResponse":{"type":"string"},"operationPreRequestScripts":{"items":{"additionalProperties":false,"properties":{"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"scripts":{"items":{"type":"string"},"type":"array"}},"required":["scripts"],"type":"object"},"type":"array"},"overwrites":{},"tests":{}},"required":["name","tests"],"type":"object"},"type":"array"}},"required":["openApiOperationId","variations"],"type":"object"},"type":"array"}},"required":["name","operations"],"type":"object"},"type":"array"},"variationTests":{"items":{"additionalProperties":false,"properties":{"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"openApiResponse":{"type":"string"},"variations":{"items":{"additionalProperties":false,"properties":{"assignVariables":{"items":{"additionalProperties":false,"properties":{"collectionVariables":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"requestBodyProp":{"type":"string"},"responseBodyProp":{"type":"string"},"responseHeaderProp":{"type":"string"},"value":{}},"type":"object"},"type":"array"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"}},"required":["collectionVariables"],"type":"object"},"type":"array"},"extendTests":{"items":{"additionalProperties":false,"properties":{"append":{"type":"boolean"},"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"overwrite":{"type":"boolean"},"tests":{"items":{"type":"string"},"type":"array"}},"required":["tests"],"type":"object"},"type":"array"},"fuzzing":{"items":{"additionalProperties":false,"properties":{"requestBody":{"items":{"additionalProperties":false,"properties":{"maxLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"maximumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minimumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"requiredFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"}},"type":"object"},"type":"array"},"requestHeaders":{"items":{"additionalProperties":false,"properties":{"maxLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"maximumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minimumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"requiredFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"}},"type":"object"},"type":"array"},"requestQueryParams":{"items":{"additionalProperties":false,"properties":{"maxLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"maximumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minLengthFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"minimumNumberFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"requiredFields":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"name":{"type":"string"},"openApiResponse":{"type":"string"},"operationPreRequestScripts":{"items":{"additionalProperties":false,"properties":{"excludeForOperations":{"items":{"type":"string"},"type":"array"},"openApiOperation":{"type":"string"},"openApiOperationId":{"type":"string"},"openApiOperationIds":{"items":{"type":"string"},"type":"array"},"scripts":{"items":{"type":"string"},"type":"array"}},"required":["scripts"],"type":"object"},"type":"array"},"overwrites":{},"tests":{}},"required":["name","tests"],"type":"object"},"type":"array"}},"required":["variations"],"type":"object"},"type":"array"}},"type":"object"},"version":{"type":"number"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "portman-config-schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Portman by Apideck allows you to port your OpenApi Spec to a Postman Collection, inject a powerful test suite, and run your tests with Newman. Details about all configuration options can be found at http://getportman.com.

camelCase pascalCase kebabCase trainCase snakeCase adaCase constantCase cobolCase dotNotation lowerCase upperCase

Provide a JSON object that satisfies the schema "portman-config-schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-04/schema#","additionalProperties":false,"definitions":{"ConfigPlugin":{"oneOf":[{"type":"object"},{"enum":[false]}]}},"id":"https://json.schemastore.org/postcssrc.json","properties":{"parser":{"description":"A special syntax parser (for example, SCSS).","oneOf":[{"type":"string"},{"enum":[false]}]},"stringifier":{"description":"A special syntax output generator (for example, Midas).","oneOf":[{"type":"string"},{"enum":[false]}]},"syntax":{"description":"An object providing a syntax parser and a stringifier.","oneOf":[{"type":"string"},{"enum":[false]}]},"map":{"description":"Source map options.","enum":[false,"absolute","inline","sourcesContent"]},"from":{"description":"The input file name (most runners set it automatically).","type":"string"},"to":{"description":"The output file name (most runners set it automatically).","type":"string"},"plugins":{"oneOf":[{"description":"An array of plugins.","type":"array","items":{"$ref":"#/definitions/ConfigPlugin"}},{"description":"An object of options.","type":"object","additionalProperties":{"$ref":"#/definitions/ConfigPlugin"}}]}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "postcssrc". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

A special syntax parser (for example, SCSS).

A special syntax output generator (for example, Midas).

An object providing a syntax parser and a stringifier.

Source map options.

The input file name (most runners set it automatically).

The output file name (most runners set it automatically).

An array of plugins.

An object of options.

Provide a JSON object that satisfies the schema "postcssrc". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/powerpages-web-template-manifest.json","additionalProperties":false,"examples":[{"type":"functional","displayName":"Card Template","description":"renders the gallery card","params":[{"id":"name","displayName":"Display name","description":"Main heading of the web template"},{"id":"count","displayName":"Items per row","description":"No of items to be displayed per row"},{"id":"paramTable","type":"table","displayName":"Select table"}]}],"properties":{"type":{"type":"string","title":"type","description":"The web template type. Use 'functional' for custom site components and 'layout' for custom layouts.","enum":["functional","layout"]},"displayName":{"type":"string","description":"The display name of the web template","examples":["Card Template"]},"description":{"type":"string","description":"The description of the web template","examples":["renders the gallery card"]},"tables":{"type":"array","description":"An array of table logical names that are used in the web template","items":{"type":"string"}},"params":{"type":"array","title":"params","description":"The editable properties of the web template. These will be customizable in Studio","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","title":"id","description":"The id of the param. This correlates with the liquid tag's key for this property","examples":["name","count","specifiedTable"]},"displayName":{"type":"string","description":"The label displayed when editing a property in Studio. If no displayName is given, the label will fallback on the id","examples":["Display name","Items per row","Selected table"]},"description":{"type":"string","description":"The description to be displayed in the tooltip when editing a property in Studio. If no description is given, no tooltip will be displayed","examples":["Main heading of the web template","No of items to be displayed per row"]},"type":{"type":"string","description":"Used to specify a property that correlates to a table's logical name","enum":["table"]}},"examples":[{"id":"name","displayName":"Display name","description":"Main heading of the web template"},{"id":"count","displayName":"Items per row"},{"id":"specifiedTable","type":"table","displayName":"Select table"}]},"examples":[[{"id":"name","displayName":"Display name","description":"Main heading of the web template"},{"id":"count","displayName":"Items per row","description":"No of items to be displayed per row"},{"id":"specifiedTable","type":"table","displayName":"Select table"}]]}},"required":["type"],"title":"Root Schema","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "Root Schema". Here are the required top‑level fields: type. Return only the valid JSON object.

renders the gallery card

Main heading of the web template

No of items to be displayed per row

type

The web template type. Use 'functional' for custom site components and 'layout' for custom layouts.

The display name of the web template

The description of the web template

An array of table logical names that are used in the web template

params

The editable properties of the web template. These will be customizable in Studio

id

The id of the param. This correlates with the liquid tag's key for this property

The label displayed when editing a property in Studio. If no displayName is given, the label will fallback on the id

Display name
Items per row
Selected table

The description to be displayed in the tooltip when editing a property in Studio. If no description is given, no tooltip will be displayed

Main heading of the web template
No of items to be displayed per row

Used to specify a property that correlates to a table's logical name

Main heading of the web template

Main heading of the web template

No of items to be displayed per row

Root Schema

Provide a JSON object that satisfies the schema "Root Schema". Here are the required top‑level fields: type. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/powerpages.config.json","additionalProperties":true,"title":"JSON schema for the Power Pages configuration file","properties":{"siteName":{"type":"string","description":"The name of the website"},"defaultLandingPage":{"type":"string","description":"The default HTML page to load when opening the website","pattern":"^[\\w.-]+\\.html$"},"compiledPath":{"type":"string","description":"The path of the compiled output directory relative to powerpages.config.json file"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for the Power Pages configuration file". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

The name of the website

The default HTML page to load when opening the website

The path of the compiled output directory relative to powerpages.config.json file

Provide a JSON object that satisfies the schema "JSON schema for the Power Pages configuration file". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/pre-commit-config.json","definitions":{"meta_repo":{"type":"object","properties":{"repo":{"default":"meta","enum":["meta"]},"hooks":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","enum":["check-hooks-apply","check-useless-excludes","identity"]}}}}}},"local_repo":{"type":"object","properties":{"repo":{"default":"local","description":"A list of local hooks\nhttps://pre-commit.com/#2-add-a-pre-commit-configuration","enum":["local"],"type":"string"},"hooks":{"type":"array","items":{"$ref":"#/definitions/hook_definition","type":"object","required":["id","name","entry","language"]}}}},"uri_repo":{"type":"object","properties":{"repo":{"description":"A repository url\nhttps://pre-commit.com/#2-add-a-pre-commit-configuration","type":"string","pattern":"^(?!(?:meta|local)$).*$"},"rev":{"description":"A revision or tag to clone at\nhttps://pre-commit.com/#2-add-a-pre-commit-configuration","type":"string"},"hooks":{"description":"A list of hook mappings\nhttps://pre-commit.com/#pre-commit-configyaml---hooks.","type":"array","items":{"$ref":"#/definitions/hook_definition","type":"object"}}}},"hook_definition":{"type":"object","properties":{"id":{"description":"An identifier of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"string"},"alias":{"description":"An additional identifier of the current hook for `pre-commit run <hookid>`\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"string"},"name":{"description":"A name of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"string"},"language_version":{"description":"A language version of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"string"},"files":{"description":"A pattern to include files to run on of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"string"},"exclude":{"description":"A pattern to exclude files from `files` to run on of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"string"},"types":{"$ref":"https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types","description":"A list of file types to run on combined via logical `and` of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks"},"types_or":{"$ref":"https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types","description":"A list of file types to run on combined via logical `or` of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks"},"exclude_types":{"$ref":"https://json.schemastore.org/pre-commit-hooks.json#/definitions/file_types","description":"A list of file types to exclude of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks"},"args":{"description":"List of additional parameters to pass to the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"array","items":{"type":"string"}},"stages":{"$ref":"https://json.schemastore.org/pre-commit-hooks.json#/definitions/stages","description":"A stage of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks"},"additional_dependencies":{"description":"A list of additional_dependencies of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"array","items":{"type":"string"}},"always_run":{"description":"Run the current hook when no files matched\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"boolean"},"verbose":{"description":"Display an output of the current hook even it passes\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"boolean"},"entry":{"description":"A command of the current hook\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"string"},"log_file":{"description":"A log file of the current hook","type":"string"},"language":{"$ref":"https://json.schemastore.org/pre-commit-hooks.json#/definitions/language","description":"A language the current hook is written in\nhttps://pre-commit.com/#pre-commit-configyaml---hooks"},"pass_filenames":{"description":"Whether to pass filenames to the current hook or not\nhttps://pre-commit.com/#pre-commit-configyaml---hooks","type":"boolean","default":true}}}},"properties":{"ci":{"description":"pre-commit.ci specific settings\nhttps://pre-commit.ci/#configuration","type":"object","properties":{"autofix_commit_msg":{"description":"A commit message for pull request autofixes\nhttps://pre-commit.ci/#configuration","default":"[pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci","type":"string"},"autofix_prs":{"description":"Whether to autofix pull requests\nhttps://pre-commit.ci/#configuration","type":"boolean","default":true},"autoupdate_branch":{"description":"A branch to send pull request's autoupdate to\nhttps://pre-commit.ci/#configuration","type":"string","default":""},"autoupdate_commit_msg":{"description":"A commit message for autoupdate pull requests\nhttps://pre-commit.ci/#configuration","type":"string","default":"[pre-commit.ci] pre-commit autoupdate"},"autoupdate_schedule":{"description":"An autoupdate frequency\nhttps://pre-commit.ci/#configuration","type":"string","default":"weekly","enum":["weekly","monthly","quarterly"]},"skip":{"description":"List of skipped hook's ids\nhttps://pre-commit.ci/#configuration","type":"array","items":{"type":"string"}},"submodules":{"description":"Whether to recursively check out submodules\nhttps://pre-commit.ci/#configuration","type":"boolean","default":false}}},"repos":{"description":"Repository mappings of the current project\nhttps://pre-commit.com/#pre-commit-configyaml---top-level","type":"array","items":{"anyOf":[{"$ref":"#/definitions/meta_repo"},{"$ref":"#/definitions/local_repo"},{"$ref":"#/definitions/uri_repo"}]}},"default_install_hook_types":{"description":"A list of hook types which will be used by default when running `pre-commit install`\nhttps://pre-commit.com/#pre-commit-configyaml---top-level","type":"array","default":["pre-commit"]},"default_language_version":{"description":"Mappings for the default language versions of the current project\nhttps://pre-commit.com/#pre-commit-configyaml---top-level","type":"object","additionalProperties":{"type":"string"}},"default_stages":{"$ref":"https://json.schemastore.org/pre-commit-hooks.json#/definitions/stages","description":"The default stages of the current project\nhttps://pre-commit.com/#pre-commit-configyaml---top-level"},"files":{"description":"A file include pattern of the current project\nhttps://pre-commit.com/#pre-commit-configyaml---top-level","type":"string","default":""},"exclude":{"description":"A file exclude pattern of the current project\nhttps://pre-commit.com/#pre-commit-configyaml---top-level","type":"string","default":"^$"},"fail_fast":{"description":"Whether stop running hooks after a first failure\nhttps://pre-commit.com/#pre-commit-configyaml---top-level","type":"boolean","default":false},"minimum_pre_commit_version":{"description":"A minimum version of pre-commit\nhttps://pre-commit.com/#pre-commit-configyaml---top-level","type":"string","default":"0"}},"required":["repos"],"title":"JSON schema for .pre-commit-config.yaml","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for .pre-commit-config.yaml". Here are the required top‑level fields: repos. Return only the valid JSON object.

A list of local hooks
https://pre-commit.com/#2-add-a-pre-commit-configuration

A repository url
https://pre-commit.com/#2-add-a-pre-commit-configuration

A revision or tag to clone at
https://pre-commit.com/#2-add-a-pre-commit-configuration

A list of hook mappings
https://pre-commit.com/#pre-commit-configyaml---hooks.

An identifier of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

An additional identifier of the current hook for `pre-commit run <hookid>`
https://pre-commit.com/#pre-commit-configyaml---hooks

A name of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A language version of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A pattern to include files to run on of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A pattern to exclude files from `files` to run on of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A list of file types to run on combined via logical `and` of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A list of file types to run on combined via logical `or` of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A list of file types to exclude of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

List of additional parameters to pass to the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A stage of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A list of additional_dependencies of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

Run the current hook when no files matched
https://pre-commit.com/#pre-commit-configyaml---hooks

Display an output of the current hook even it passes
https://pre-commit.com/#pre-commit-configyaml---hooks

A command of the current hook
https://pre-commit.com/#pre-commit-configyaml---hooks

A log file of the current hook

A language the current hook is written in
https://pre-commit.com/#pre-commit-configyaml---hooks

Whether to pass filenames to the current hook or not
https://pre-commit.com/#pre-commit-configyaml---hooks

pre-commit.ci specific settings
https://pre-commit.ci/#configuration

A commit message for pull request autofixes
https://pre-commit.ci/#configuration

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Whether to autofix pull requests
https://pre-commit.ci/#configuration

A branch to send pull request's autoupdate to
https://pre-commit.ci/#configuration

A commit message for autoupdate pull requests
https://pre-commit.ci/#configuration

An autoupdate frequency
https://pre-commit.ci/#configuration

List of skipped hook's ids
https://pre-commit.ci/#configuration

Whether to recursively check out submodules
https://pre-commit.ci/#configuration

Repository mappings of the current project
https://pre-commit.com/#pre-commit-configyaml---top-level

A list of hook types which will be used by default when running `pre-commit install`
https://pre-commit.com/#pre-commit-configyaml---top-level

Mappings for the default language versions of the current project
https://pre-commit.com/#pre-commit-configyaml---top-level

The default stages of the current project
https://pre-commit.com/#pre-commit-configyaml---top-level

A file include pattern of the current project
https://pre-commit.com/#pre-commit-configyaml---top-level

A file exclude pattern of the current project
https://pre-commit.com/#pre-commit-configyaml---top-level

Whether stop running hooks after a first failure
https://pre-commit.com/#pre-commit-configyaml---top-level

A minimum version of pre-commit
https://pre-commit.com/#pre-commit-configyaml---top-level

JSON schema for .pre-commit-config.yaml

Provide a JSON object that satisfies the schema "JSON schema for .pre-commit-config.yaml". Here are the required top‑level fields: repos. Return only the valid JSON object.


[User] Provide a JSON object that satisfies the schema "pre-commit-hooks". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

conda coursier dart docker docker_image dotnet fail golang lua node perl python python_venv r ruby rust swift pygrep script system

adobe-illustrator alpm apinotes asar asciidoc ash asm aspectj audio avif awk babelrc bash batch bats bazel bazelrc bib binary bitmap bowerrc browserslistrc bzip2 c c# c++ c2hs cbsd clojure clojurescript cmake codespellrc coffee coveragerc crystal csh cson csproj css csslintrc csv cuda cython dart dash def diff directory dockerfile dockerignore dotenv dtd editorconfig edn ejs eot eps erb executable expect file fish flake8 gdscript geojson gherkin gif gitattributes gitconfig gitignore gitlint gitmodules go go-mod go-sum gotmpl gpx graphql groovy gyb gyp gzip handlebars haskell hcl header hgrc html icalendar icns icon idl idris image inc ini inl ino inx jade jar java java-properties javascript jenkins jinja jpeg jshintrc json json5 jsonnet jsx jupyter kml kotlin ksh lean lektor lektorproject less liquid literate-haskell lua mailmap makefile manifest map markdown mdx mention-bot meson mib modulemap musescore myst ngdoc nim nimble nix non-executable npmignore nunjucks objective-c objective-c++ ocaml otf p12 pdbrc pdf pem perl php pkgbuild plain-text plantuml plist png pofile powershell prettierignore prisma proto puppet purescript pyi pylintrc pypirc pyproj python python2 python3 pyz qml r relax-ng rst ruby rust salt sass sbt scala scheme scss sh shell sln socket solidity spec sql stylus svelte svg swf swift swiftdeps symlink system-verilog tar tcsh terraform tex text thrift tiff toml ts tsv tsx ttf twig twisted txsprofile urdf vb vbproj vcxproj vdx verilog vhdl vim vtl vue wav webp wheel wkt woff woff2 wsgi xhtml xml xquery xsd xsl yaml yamllint yang yin zcml zig zip zpt zsh

commit merge-commit push prepare-commit-msg commit-msg post-checkout post-commit post-merge post-rewrite pre-commit pre-merge-commit pre-push pre-rebase manual

id of the hook - used in pre-commit-config.yaml.

name of the hook - shown during hook execution.

entry point - the executable to run. Can also contain arguments that will not be overridden such as `entry: autopep8 -i`.

language of the hook - tells pre-commit how to install the hook.

(optional) allows the hook to be referenced using an additional id.

(optional) the pattern of files to run on.

(optional) exclude files that were matched by files.

(optional) list of file types to run on (AND).

(optional) list of file types to run on (OR).

(optional) pattern of files to exclude.

(optional) a list of dependencies that will be installed in the environment where this hook gets run. One useful application is to install plugins for hooks such as eslint.

(optional) if true this hook will run even if there are no matching files.

(optional) if true, forces the output of the hook to be printed even when the hook passes.

(optional) if false no filenames will be passed to the hook.

(optional) if true this hook will execute using a single process instead of in parallel.

(optional) description of the hook. Used for metadata purposes only.

(optional) see Overriding language version at https://pre-commit.com/#overriding-language-version

(optional) if present, the hook output will additionally be written to a file.

(optional) allows one to indicate a minimum compatible pre-commit version.

(optional) list of additional parameters to pass to the hook.

(optional) confines the hook to the commit, merge-commit, push, prepare-commit-msg, commit-msg, post-checkout, post-commit, post-merge, post-rewrite, or manual stage. See Confining hooks to run at certain stages in https://pre-commit.com/#confining-hooks-to-run-at-certain-stages

Provide a JSON object that satisfies the schema "pre-commit-hooks". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.