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
Open
Conversation
- 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
Contributor
Author
|
Do y'all think the tests are overkill? I'm undecided, myself. Feature itself appears to be functioning correctly. |
…atter-interpolation
…atter-interpolation
…atter-interpolation
…atter-interpolation
…atter-interpolation
…atter-interpolation
…atter-interpolation
…atter-interpolation
…atter-interpolation
…atter-interpolation
f1ae801 to
08fa7f7
Compare
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.
9e18f71 to
675721b
Compare
bff40c8 to
30f4c07
Compare
…ariane-emory/opencode into feat/markdown-frontmatter-interpolation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #5054. Resolves #5082.
feat: add {env:VAR} interpolation support to markdown frontmatter
Example usage:
description: "My agent"
model: "{env:MODEL}"
mode: primary
I am an agent using a model specified by an environment variable.