Interface: PromptScriptConfig¶
Defined in: core/src/types/config.ts:130
PromptScript configuration file (promptscript.yaml).
Properties¶
builds?¶
optionalbuilds?:Record\<string,BuildProfileConfig>
Defined in: core/src/types/config.ts:275
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:321
Custom convention definitions. Register custom conventions that can be referenced by name in targets.
description?¶
optionaldescription?:string
Defined in: core/src/types/config.ts:138
Project description
extends?¶
optionalextends?:string
Defined in: core/src/types/config.ts:145
Extend another configuration file. Paths are resolved relative to the current config file.
Example¶
formatting?¶
optionalformatting?:FormattingConfig
Defined in: core/src/types/config.ts:302
Formatting configuration. Controls how generated markdown files are formatted.
Example¶
id¶
id:
string
Defined in: core/src/types/config.ts:132
Project identifier
includePromptScriptSkill?¶
optionalincludePromptScriptSkill?:boolean
Defined in: core/src/types/config.ts:345
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:148
Inheritance path
input?¶
optionalinput?:object
Defined in: core/src/types/config.ts:154
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:261
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
policies?¶
optionalpolicies?:PolicyDefinition[]
Defined in: core/src/types/config.ts:359
Extension compliance policies
registries?¶
optionalregistries?:RegistriesConfig
Defined in: core/src/types/config.ts:240
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:164
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.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:289
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:135
PromptScript syntax version
targets¶
targets:
TargetEntry[]
Defined in: core/src/types/config.ts:315
Output targets.
Can be simple names or objects with configuration:
Example¶
universalDir?¶
optionaluniversalDir?:string|boolean
Defined in: core/src/types/config.ts:337
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:348
Validation settings
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">
watch?¶
optionalwatch?:object
Defined in: core/src/types/config.ts:246
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')