Skip to content

feat(rules): accept scalar strings for list frontmatter fields - #96

Merged
frap129 merged 1 commit into
devfrom
feat/scalar-glob-frontmatter
Nov 12, 2026
Merged

frap129 merged 1 commit into
devfrom
feat/scalar-glob-frontmatter

Conversation

@frap129

@frap129 frap129 commented Nov 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Accept a scalar string for list-valued frontmatter fields (globs, keywords, tools, model, agent, command, project, branch, os), treating it as a one-element array.
  • Brace patterns now work as quoted scalars, e.g. globs: "{src/platform/win32/*.cpp,src/core/*.cpp,tests/*.cpp}"; minimatch already supported brace expansion.
  • Declared list fields with no valid entries now fail closed instead of making the rule unconditional.
  • Synced README, docs/rules.md, and the crafting-rules skill; added scalar and disk-loaded matching tests.

Verification

  • aube run lint
  • aubx tsc --noEmit
  • aube run test:run (623 passed, 1 skipped)

Closes #92

Treat a single string in globs, keywords, and other list fields as a one-element array, matching fileContains behavior. Brace expansion already works via minimatch, so quoted brace patterns now apply their condition instead of silently making the rule unconditional.

Declared list fields with no valid entries now fail closed instead of degrading to unconditional.

Refs #92
@frap129
frap129 changed the base branch from main to dev November 12, 2026 16:34
@frap129
frap129 merged commit 0791dca into dev Nov 12, 2026
1 check passed
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.

Question: does the glob parser support brace expansion?

1 participant