Writing Rules
When you create or edit a rule, Venue.sh groups fields into three sections: Rule metadata, Target type, and Rule parameters.
Rule metadata
Every rule requires:
- Title - A unique, descriptive identifier for the rule
- Owner - Team responsible for maintenance
- Tags - Keywords for filtering in the scorecard list
- Category - Organizational grouping (for example, Security or Build, Test, and Deploy)
Description is optional but useful for documenting what the rule checks.
Target type
Choose whether the rule validates catalog entities or repository content.
Repository content rules also require Target repositories. Select specific repositories or All. Only repositories with at least one completed content ingestion can be evaluated.
Rule parameters
Both target types use the expression language documented in Expressions.
| Target type | Selection (required) | Validation |
|---|---|---|
| Catalog entities | Selector | Criteria (required) |
| Repository content | Match files | Content check (optional) |
- Selector / Match files - What the rule applies to (an entity kind, file paths, or globs)
- Criteria / Content check - Conditions the selection must meet. Leave Content check empty for an existence-only repository rule.
For repository content rules, you can start from a category template, use assisted generation, or write Match files and Content check manually.
For catalog entity rules, use the visual query builder in Rule parameters, or toggle Advanced to write Selector and Criteria expressions manually. If you edit a rule in Advanced mode, you cannot switch back to the visual builder.
Tip: Detailed information about rule syntax and writing expressions for both catalog entities and repository content can be found on the Expressions page.