Skip to content

Editor Setup for .oxoflow Files#

Workflow files (.oxoflow) are plain TOML — oxo-flow's declarative workflow format. Most editors do not recognize the .oxoflow extension yet, so configure one small file-type association and you get full TOML support: syntax highlighting, bracket matching, folding, and formatting.

In VS Code, skip the manual association entirely — install the oxo-flow Pipeline extension (traitome.oxo-flow):

Editor Install from
VSCodium / Cursor / Windsurf and most forks the Extensions view — search oxo-flow (published on Open VSX)
Stock VS Code the VS Code Marketplace, or the release VSIX offline
code --install-extension traitome.oxo-flow    # stock VS Code (Marketplace)
codium --install-extension traitome.oxo-flow  # VSCodium & forks (Open VSX)

The extension provides TOML+ syntax highlighting, schema-driven completion with hover docs, background validate/lint diagnostics, canonical formatting, one-click run/dry-run/status/clean/resume, and AI pipeline generation — see the VS Code Extension reference. The rest of this page covers manual setups and other editors.

VS Code (without the extension)#

Workspace (per repository)#

The oxo-flow-community workflow repositories ship a committed .vscode/settings.json with this content. In the oxo-flow repository itself .vscode/ is git-ignored, so create the file in the folder you work in:

{
  "files.associations": {
    "*.oxoflow": "toml"
  }
}

Open the folder in VS Code and .oxoflow files highlight as TOML immediately — nothing to install.

User-level (all folders, all projects)#

To apply the association everywhere, open the command palette (Cmd/Ctrl+Shift+P) → Preferences: Open User Settings (JSON) and add the same files.associations block. Alternatively: Settings → search files.associations → Add Item with key *.oxoflow and value toml.

Other editors#

Zed#

Add to ~/.config/zed/settings.json:

{
  "file_types": {
    "TOML": ["oxoflow"]
  }
}

Helix#

Add "oxoflow" to the toml language's file-types in ~/.config/helix/languages.toml:

[[language]]
name = "toml"
file-types = ["toml", "oxoflow"]

Neovim#

vim.filetype.add({ extension = { oxoflow = "toml" } })

JetBrains IDEs (IntelliJ / RustRover / PyCharm)#

Settings → Editor → File Types, select TOML, and add the *.oxoflow pattern in the File name patterns list.

Sublime Text#

Open an .oxoflow file → View → Syntax → Open all with current extension as... → TOML.

Emacs#

(add-to-list 'auto-mode-alist '("\\.oxoflow\\'" . toml-mode))

Optional: schema-backed validation and completion#

For key-name validation and completion while editing, dump the JSON Schema reference and associate it in VS Code with the Even Better TOML extension's settings:

oxo-flow schema > oxo-flow-schema.json
{
  "evenBetterToml.schema.associations": {
    "*.oxoflow": "./oxo-flow-schema.json"
  }
}

Note: oxo-flow schema exports a subset of the full format — the complete reference lives in the Workflow Format documentation.

See also#