Skip to content

feat: {env:MY_VAR} support in the frontmatter of agent/command markdown files - #30

Open
ariane-emory wants to merge 170 commits into
devfrom
feat/markdown-frontmatter-interpolation
Open

ariane-emory wants to merge 170 commits into
devfrom
feat/markdown-frontmatter-interpolation

Conversation

@ariane-emory

@ariane-emory ariane-emory commented Dec 12, 2025 •

Copy link
Copy Markdown
Owner

What does this PR do?

Resolves anomalyco#5054.
Resolves anomalyco#5082.

feat: add {env:VAR} interpolation support to markdown frontmatter

  • Add {env:VAR} interpolation to ConfigMarkdown.parse() for frontmatter fields only
  • Enables dynamic model selection via environment variables in markdown agents, amongst other possibilities
  • Gracefully handles missing environment variables with empty string fallback
  • Add comprehensive test coverage for interpolation functionality
  • Resolves GitHub issue [FEATURE]: {env:MY_VAR} support in agent yaml anomalyco/opencode#5054

Example usage:

description: "My agent"
model: "{env:MODEL}"
mode: primary

I am an agent using a model specified by an environment variable.

- Add {env:VAR} interpolation to ConfigMarkdown.parse() for frontmatter fields only
- Enables dynamic model selection via environment variables in markdown agents
- Gracefully handles missing environment variables with empty string fallback
- Add comprehensive test coverage for interpolation functionality
- Resolves GitHub issue anomalyco#5054

Example usage:
---
description: "My agent"
model: "{env:MODEL}"
mode: primary
---
- Move interpolateData function to module level to avoid recreation on each parse call
- Reduces code churn while maintaining identical behavior
- Improves performance slightly by avoiding function recreation
- Extract parseMarkdownWithEnv helper to eliminate repetitive test code
- Reduces test file from 194 to 168 lines (-26 lines)
- Maintains identical test coverage and behavior
- Improves maintainability by centralizing temp file handling
…or clarity

- Improve function name to better describe its purpose
- Maintains identical behavior and test coverage
- Enhances code readability and maintainability
@ariane-emory ariane-emory changed the title Feat/markdown frontmatter interpolation feat: {env:MY_VAR} support in the frontmatter of agent/command markdown files Feb 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: allow shell commands in the frontmatter [FEATURE]: {env:MY_VAR} support in agent yaml

1 participant