Skip to content

Config Schema (.yaml)

version: 1 # required, must be 1
output:
language: cpp # required, output language hint
autoDeduceIncludes: false
outputDirectory: "" # optional, override default output path
outputNameTemplate: "" # optional, override output filename pattern
permissions: # optional
http:
allowlist:
- "example.com"
preamble_lib: "" # optional, Team tier: shared preamble module path
grouping_lib: "" # optional, Team tier: shared grouping module path

Hint for the engine’s include deduction and file extension selection.

ValueGenerated extensionInclude deduction
cpp.g.cppEnabled by default
markdown.mdN/A
typescript.tsN/A
Any string.gen.<value>Disabled

When true (default for language: cpp), the engine analyzes the generated source text and attempts to add #include directives for standard library types it detects. Set to false when your preamble script handles includes explicitly.

Overrides the --output CLI flag for this specific rule. Useful when multiple rules write to different root directories.

Go template string controlling the output filename. Available variables:

VariableDescription
{{.InputFile}}Source header filename without extension
{{.InputDir}}Source header directory relative to --input
{{.RuleName}}The rule name

Default: {{.InputDir}}/{{.InputFile}}.g.cpp

List of domain names (no protocol, no path) that the rule’s http.get() call is permitted to reach. Subdomains must be listed explicitly, there is no wildcard support.

Team tier only. Paths to shared LuaU modules that can be required from the preamble and grouping scripts respectively. Paths are relative to the config file’s directory.

AdvancedRule.config.yaml
version: 1
output:
language: cpp
autoDeduceIncludes: false
outputDirectory: generated/advanced
outputNameTemplate: "{{.InputDir}}/{{.InputFile}}.advanced.g.cpp"
permissions:
http:
allowlist:
- "schema-registry.internal.example.com"
preamble_lib: ../../lib/standard_preamble.luau
grouping_lib: ../../lib/namespace_routing.luau