Interface: PromptScriptConfig¶
Defined in: core/src/types/config.ts:206
PromptScript configuration file (promptscript.yaml).
Properties¶
builds?¶
optionalbuilds?:Record\<string,BuildProfileConfig>
Defined in: core/src/types/config.ts:365
Named per-command build profiles. Profiles let one repository build multiple instruction artifacts to different target directories without changing the default project compile.
customConventions?¶
optionalcustomConventions?:Record\<string,OutputConvention>
Defined in: core/src/types/config.ts:414
Custom convention definitions. Register custom conventions that can be referenced by name in targets.
description?¶
optionaldescription?:string
Defined in: core/src/types/config.ts:214
Project description
extends?¶
optionalextends?:string
Defined in: core/src/types/config.ts:224
Extend another configuration file. Paths are resolved relative to the current config file.
Example¶
formatting?¶
optionalformatting?:FormattingConfig
Defined in: core/src/types/config.ts:392
Formatting configuration. Controls how generated markdown files are formatted.
Example¶
id¶
id:
string
Defined in: core/src/types/config.ts:208
Project identifier
includePromptScriptSkill?¶
optionalincludePromptScriptSkill?:boolean
Defined in: core/src/types/config.ts:438
Include the bundled PromptScript language skill in compilation output. When enabled, the SKILL.md that teaches AI agents how to work with .prs files is automatically added to each target's native skill directory.
Default¶
inherit?¶
optionalinherit?:string
Defined in: core/src/types/config.ts:227
Inheritance path
input?¶
optionalinput?:object
Defined in: core/src/types/config.ts:233
Input file configuration. Controls which PromptScript files to compile.
entry?¶
optionalentry?:string
Entry file path (defaults to '.promptscript/project.prs')
exclude?¶
optionalexclude?:string[]
Glob patterns for files to exclude
include?¶
optionalinclude?:string[]
Glob patterns for additional files to include
output?¶
optionaloutput?:object
Defined in: core/src/types/config.ts:345
Output configuration. Global output settings applied to all targets.
baseDir?¶
optionalbaseDir?:string
Base directory for all output files
header?¶
optionalheader?:string
Custom header to prepend to generated files
overwrite?¶
optionaloverwrite?:boolean
Whether to overwrite existing files without warning
resources?¶
optionalresources?:OutputResourceKind[]
Compile only selected resource kinds (agents, skills, commands, mcp, hooks, plugins, main). A global install can emit agent and skill directories without unrelated root instruction files.
policies?¶
optionalpolicies?:PolicyDefinition[]
Defined in: core/src/types/config.ts:479
Extension compliance policies
registries?¶
optionalregistries?:RegistriesConfig
Defined in: core/src/types/config.ts:324
Named registry aliases for multi-source imports. Maps alias names to Git repository URLs. Coexists with registry - aliases take precedence for matching paths.
registry?¶
optionalregistry?:object
Defined in: core/src/types/config.ts:243
Registry configuration
auth?¶
optionalauth?:object
Authentication for HTTP registries
auth.token?¶
optionaltoken?:string
Token for bearer auth, or "username:password" for basic auth
auth.tokenEnvVar?¶
optionaltokenEnvVar?:string
Environment variable containing the token (alternative to token)
auth.type¶
type:
"bearer"|"basic"
Authentication type
cache?¶
optionalcache?:object
Cache settings
cache.enabled?¶
optionalenabled?:boolean
Whether caching is enabled
cache.ttl?¶
optionalttl?:number
Cache TTL in milliseconds
git?¶
optionalgit?:object
Git repository configuration. When specified, the registry will be cloned from a Git repository.
git.auth?¶
optionalauth?:object
Authentication options for private repositories
git.auth.sshKeyPath?¶
optionalsshKeyPath?:string
Path to SSH key (for SSH auth).
Default¶
git.auth.token?¶
optionaltoken?:string
Personal access token (for token auth)
git.auth.tokenEnvVar?¶
optionaltokenEnvVar?:string
Environment variable containing the token
git.auth.type¶
type:
"token"|"ssh"
Authentication type. - 'token': Use a personal access token (PAT) - 'ssh': Use SSH key authentication
git.fallbackUrl?¶
optionalfallbackUrl?:string
Fallback Git URL to try when the primary url fails with an auth error. Useful when the registry references an HTTPS URL but the user authenticates via SSH (or vice versa).
Example¶
registry:
git:
url: 'https://github.com/org/registry.git'
fallbackUrl: 'git@github.com:org/registry.git'
git.path?¶
optionalpath?:string
Subdirectory within the repository to use as registry root.
Example¶
git.ref?¶
optionalref?:string
Git ref to checkout (branch, tag, or commit hash).
Default¶
git.timeout?¶
optionaltimeout?:number
Maximum wall-clock time in milliseconds for each Git operation. Defaults to 60000; can also be raised globally via PROMPTSCRIPT_GIT_TIMEOUT.
git.url¶
url:
string
Git repository URL (HTTPS or SSH)
path?¶
optionalpath?:string
Local path to registry
url?¶
optionalurl?:string
Remote URL (HTTP registry)
skillTargets?¶
optionalskillTargets?:Record\<string,string>
Defined in: core/src/types/config.ts:379
Per-source output directories for @use imports.
Maps a @use source string (matching the path's raw value) to a relative directory underneath each target's skill output location. An inline into "<path>" on the same @use declaration overrides the configured value.
Example¶
syntax¶
syntax:
string
Defined in: core/src/types/config.ts:211
PromptScript syntax version
targets?¶
optionaltargets?:TargetEntry[]
Defined in: core/src/types/config.ts:408
Output targets.
Optional only when every target lives in a named build profile: such builds-only projects compile through --build <name> or --all-builds.
Can be simple names or objects with configuration:
Example¶
telemetry?¶
optionaltelemetry?:boolean
Defined in: core/src/types/config.ts:217
Enable anonymous aggregate usage telemetry for this project
universalDir?¶
optionaluniversalDir?:string|boolean
Defined in: core/src/types/config.ts:430
Universal directory for auto-discovering skills and commands. Skills are discovered from <universalDir>/skills/ and commands from <universalDir>/commands/.
trueor omitted: Use default.agents/directoryfalse: Disable universal directory discoverystring: Custom path (relative to project root)
Default¶
Example¶
universalDir: true # Use .agents/ (default)
universalDir: '.my-agents' # Custom directory
universalDir: false # Disable
validation?¶
optionalvalidation?:object
Defined in: core/src/types/config.ts:441
Validation settings
allowedPatterns?¶
optionalallowedPatterns?:string[]
Pattern sources exempt from blocked-patterns detection. A pattern is subtracted from the active set when its source text matches an entry exactly. Mirror of blockedPatterns for exceptions.
Example¶
excludes?¶
optionalexcludes?:ValidationExclude[]
Rule exclusions for specific imports, bound to the pinned commit.
Example¶
excludes:
- import: github.com/cloudflare/skills
commit: 1a2b3c4d5e6f...
rules: [blocked-patterns, authority-injection]
guardRequiresDepth?¶
optionalguardRequiresDepth?:number
Maximum depth for recursive guard requires resolution. Default: 3. Must be >= 1. Values <= 0 are clamped to 1 by the resolver.
requiredGuards?¶
optionalrequiredGuards?:string[]
rules?¶
optionalrules?:Record\<string,"error"|"warning"|"off">
scanExternalContent?¶
optionalscanExternalContent?:boolean
Scan imported (registry cache / vendored) content with heuristic validation rules. Heuristic rules skip imported content by default because a project cannot fix findings in someone else's skill. Concrete security findings (decoded payloads, suspicious URLs) always scan imported content.
Default¶
watch?¶
optionalwatch?:object
Defined in: core/src/types/config.ts:330
Watch mode configuration. Settings for prs compile --watch.
clearScreen?¶
optionalclearScreen?:boolean
Clear screen before each recompilation
debounce?¶
optionaldebounce?:number
Debounce time in milliseconds before recompiling
exclude?¶
optionalexclude?:string[]
Glob patterns for files to ignore
include?¶
optionalinclude?:string[]
Glob patterns for files to watch (defaults to '**/*.prs')