VS Code Extension
The WOML extension makes a .woml file feel like a natural combination of HTML and JavaScript instead of plain XML text.
What the extension recognizes
- WOML tags and attributes use familiar HTML-style markup colors.
- JavaScript inside
<script>receives normal JavaScript highlighting. - Runtime bindings such as
context,services,secrets, andattemptreceive the same special treatment as JavaScript environment globals. - WOML references such as
{{context.steps.prepare}}remain visually distinct from ordinary attribute strings. .womlfiles receive a dedicated icon.- Snippets help create workflows, triggers, steps, control flow, providers, and durable item iteration.
The extension follows the active VS Code theme. You do not need to replace your editor theme to make WOML readable.
Install it
Open the VS Code Extensions view, search for WOML, and install the published language extension. Open any .woml file afterward; language association and the file icon should activate automatically.
If an existing file remains plain text, select the language mode in the VS Code status bar and choose WOML.
Get service and module types
WOML scripts use runtime-provided globals rather than imports:
const response = await services.http.request({
url: "https://api.example.com/health"
});woml check and woml run generate the default woml-env.d.ts declarations for built-in services and imported project modules. This lets the editor understand services.http, services.db, and services.<moduleName> without requiring TypeScript syntax inside the workflow.
Run the explicit command only when you need another output location:
woml types workflows/ --output woml-env.d.tsA productive authoring loop
Use the editor and compiler together:
- Start from a WOML snippet.
- Add stable IDs, names, and descriptions.
- Write the step logic inside
<script>. - Run
woml checkto catch structural and reference errors. - Run the workflow and use terminal output to inspect each named step.
Syntax highlighting improves reading, but the compiler remains the authority. A file that looks correct can still contain a misplaced tag, unavailable reference, or invalid control-flow contract.