Skip to content

feat: {env:MY_VAR} support in the frontmatter of agent/command markdown files (resolves #5054, #5082)#5092

Open
ariane-emory wants to merge 142 commits intoanomalyco:devfrom
ariane-emory:feat/markdown-frontmatter-interpolation
Open

feat: {env:MY_VAR} support in the frontmatter of agent/command markdown files (resolves #5054, #5082)#5092
ariane-emory wants to merge 142 commits intoanomalyco:devfrom
ariane-emory:feat/markdown-frontmatter-interpolation

Conversation

@ariane-emory
Copy link
Contributor

@ariane-emory ariane-emory commented Dec 5, 2025

Resolves #5054. Resolves #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 #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
Copy link
Contributor Author

ariane-emory commented Dec 5, 2025

Do y'all think the tests are overkill? I'm undecided, myself. Feature itself appears to be functioning correctly.

@ariane-emory ariane-emory marked this pull request as ready for review December 5, 2025 02:14
@ariane-emory ariane-emory changed the title [FEATURE]: {env:MY_VAR} support in agent/command markdown files (resolves #5054, #5082) [FEATURE]: {env:MY_VAR} support in the frontmatter of agent/command markdown files (resolves #5054, #5082) Dec 5, 2025
@ariane-emory ariane-emory changed the title [FEATURE]: {env:MY_VAR} support in the frontmatter of agent/command markdown files (resolves #5054, #5082) feature: {env:MY_VAR} support in the frontmatter of agent/command markdown files (resolves #5054, #5082) Dec 5, 2025
@ariane-emory ariane-emory deleted the feat/markdown-frontmatter-interpolation branch December 6, 2025 05:47
@ariane-emory ariane-emory restored the feat/markdown-frontmatter-interpolation branch December 6, 2025 06:36
@ariane-emory ariane-emory reopened this Dec 6, 2025
@ariane-emory ariane-emory marked this pull request as draft December 8, 2025 15:01
@ariane-emory ariane-emory marked this pull request as ready for review December 8, 2025 18:32
@thdxr thdxr force-pushed the dev branch 3 times, most recently from f1ae801 to 08fa7f7 Compare January 30, 2026 14:37
Adds a configurable keybinding for toggling thinking blocks visibility.
The "Hide thinking"/"Show thinking" command previously had no keybinding.

- Added \`thinking_toggle\` field to Keybinds schema (default: ctrl+alt+t)
- Connected keybind to session toggle thinking command
- Updated documentation with default keybinding
- Users can remap in opencode.json config
The keybinding is now unbound by default, allowing users to
configure it only if they choose to add a key binding.
@ariane-emory ariane-emory force-pushed the feat/markdown-frontmatter-interpolation branch from 9e18f71 to 675721b Compare February 6, 2026 18:51
@ariane-emory ariane-emory marked this pull request as draft February 7, 2026 08:40
@ariane-emory ariane-emory force-pushed the feat/markdown-frontmatter-interpolation branch from bff40c8 to 30f4c07 Compare February 10, 2026 23:08
@ariane-emory ariane-emory marked this pull request as ready for review February 15, 2026 14:47
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

2 participants

Comments