Conventions
VeraScript has few rules, and most of them exist so the editor can line your script up against its checkpoint track.
Quoting
- Strings are double-quoted. File paths and match values both take quotes, as in
"data/customers.csv"and"active". - Field names are bare. Columns are written without quotes —
status, or[id, name, region]in a select.
The distinction is deliberate: quotes mean a literal value, bare words mean a column in the data.
Comments
Comments start with // and run to the end of the line. They are ignored by the runtime.
// Branch: 90-day cohort window.
// Result was +12% retention vs the baseline.
let windowed = filter(report, cohort, "q3_signups")A comment above a branching step is the cheapest documentation you will ever write — it tells the next reader why the branch exists, which the checkpoint graph alone cannot.
One step per line
Keep each statement on its own line. The gutter checkpoint track maps line numbers to checkpoints, so a statement split across lines makes the range harder to read and select.
Naming values
Value names become checkpoint names, so they show up in the checkpoint history, the inspector and the branch graph. Prefer names that describe the state of the data rather than the operation that produced it:
| Prefer | Over |
|---|---|
| active | filtered |
| report | selected |
| cleaned_v2 | step3 |
Validating a script
Validate parses a script and reports problems without executing it, which is useful on a workflow that reads a large source. Anything it finds appears in the Problems panel alongside the console.
Validation checks the shape of your script. It cannot tell you that a field name is missing from the data — for that, run the step and read the row and column counts in the checkpoint inspector.