Skip to content

Support package alias references in all frontmatter file fields #3

@sbaker

Description

@sbaker

Problem

Only inherits: resolves @alias/path package references via the using: block. All other frontmatter fields that accept file paths treat the value as a plain relative path, causing compilation failures.

Example that fails:

using:
  - name: "@prompd/base-llm-evaluator@0.1.0"
    prefix: "@eval"
inherits: "@eval/prompts/base-evaluator.prmd"   # works
system:
  - "@eval/systems/evaluator.md"                 # fails - treated as relative path
  - "../systems/safety-evaluator.md"             # works - plain relative path

Error:

Failed to extract system file @prompd/base-llm-evaluator@0.1.0/systems/evaluator.md:
Context file not found: .../prompts/@prompd/base-llm-evaluator@0.1.0/systems/evaluator.md

The alias rewriting stage correctly expands @eval/ to @prompd/base-llm-evaluator@0.1.0/, but the system file resolver then treats the expanded value as a relative filesystem path instead of a package reference.

Expected Behavior

All frontmatter fields that reference files should resolve @alias/path package references the same way inherits: does:

  • system:
  • user:
  • context: / contexts:
  • files:
  • override: values (e.g., override: { system: "@eval/systems/custom.md" })

Impact

Without this, child prompts that inherit from a package cannot reference the parent package's auxiliary files (system prompts, context files) using the alias syntax. Users must either inline the content or use fragile relative filesystem paths that break when distributed as packages.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions