Skip to content

Commit b96f997

Browse files
docs: update for bounded traversal, includes isolation, and init defaults.md
- api-reference: document defaultsRoot default behavior and includes note - prompt-format: add note that includes don't inherit folder defaults - cli.md: add defaults.md to init scaffold listing - README: mention init scaffolds defaults.md, add includes note
1 parent 2dba372 commit b96f997

4 files changed

Lines changed: 8 additions & 1 deletion

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,9 @@ Define a `defaults.md` file in `prompts/` (and optional subfolders) to provide i
225225
- Shared `# System instructions` in body
226226
- Nearest subfolder `defaults.md` overrides parent defaults
227227
- Prompt-local values always win over defaults
228+
- Included files (`includes`) are not affected by folder defaults
229+
230+
> `promptopskit init` scaffolds a starter `defaults.md` in the prompts root.
228231
229232
```text
230233
prompts/

docs/api-reference.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,9 @@ const { asset } = await loadPromptFile('/path/to/prompts/support/reply.md', {
149149
});
150150
```
151151

152-
`options.defaultsRoot` (optional) limits defaults discovery to a specific directory tree.
152+
`options.defaultsRoot` (optional) limits defaults discovery to a specific directory tree. When omitted, defaults to the prompt file's own directory (only the local `defaults.md` is checked). Pass the prompts root directory to enable full ancestor traversal.
153+
154+
> **Note:** `includes` are resolved with `parsePrompt`, not `loadPromptFile`, so included files do not inherit folder defaults. This prevents double-applying system instructions.
153155
154156
### `interpolate(template, variables, options?)`
155157

docs/cli.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Creates:
2222

2323
```
2424
prompts/
25+
├── defaults.md # Folder-level defaults (metadata + system instructions)
2526
├── hello.md # Sample prompt with variables
2627
├── hello.test.yaml # Test sidecar with sample inputs
2728
└── shared/

docs/prompt-format.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ You can define shared defaults for an entire prompt tree by adding a `defaults.m
4848
- `defaults.md` values apply to all prompts in that folder and subfolders.
4949
- Subfolders can define their own `defaults.md`; nearest (most local) values win.
5050
- Only missing prompt values are filled from defaults (explicit prompt values always take precedence).
51+
- Included files (`includes`) are **not** affected by folder defaults — only the top-level prompt inherits.
5152

5253
Supported default fields:
5354

0 commit comments

Comments
 (0)