Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>Conduit FlowsNew to Visual Studio Code? Get it now.
Conduit Flows

Conduit Flows

Nikky Amresh

| (0) | Free
Author dashboards, fetchers, and explorers as YAML workflows — query DBs, download files, and render results in VSCode without writing extension code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Conduit

Author dashboards, fetchers, and explorers in VS Code as YAML workflows — no extension code required.

A Conduit workflow is a *.conduit.yaml file that chains a small set of built-in steps (query Postgres / SQLite, download files, parse zips, sign JWTs…) and renders the results into views (table / tree / metadata / text / interactive JWT editor). Workflows can register palette commands, bind to file extensions, and run on demand.


Install

git clone https://github.com/NikkyAmresh/conduit.git
cd conduit
npm install
npm run install-extension

This codegens, typechecks, bundles via esbuild, packages a VSIX, and installs into VS Code or Cursor.

Marketplace: not yet published.


Quick start — your first workflow

  1. Run Conduit: New Workflow from Template — pick workspace scope, then blank.
  2. Replace the file with:
# yaml-language-server: $schema=./resources/schema.json
id: my.first
name: My First Workflow
inputs:
  - id: name
    type: string
    label: Your name
    default: world
steps: []
views:
  - type: text
    title: Greeting
    data: "Hello, ${inputs.name}!"
  1. Run Conduit: Run Workflow… and pick "My First Workflow". Click Run.

Built-in step types (v1)

Step Purpose
db.query.postgres Run SQL against a configured Postgres connection
db.metadata.postgres List tables / enums / check constraints / databases
db.query.sqlite Run SELECT against a .db file (sql.js, in-memory)
http.download Fetch a URL → on-disk path; skips if the file already exists
parallel.foreach Run an inner step per item, concurrency-capped
file.extractZip Zip → directory of files
file.parseSqliteDir Walk a directory of SQLite files → tables + extra files
file.readUtf8 Read a file path as UTF-8 string
file.write Write a string to a path
crypto.sha256 Buffer / string → hex digest
jwt.decode / jwt.encode HS256/384/512
transform.merge Merge multiple SQLite-tables payloads with id-injection
transform.parseJson Parse a string as JSON

Built-in view types

View Notes
table Sortable columns, paginated
metadata Key-value table
tree Collapsible nested object/array
text Plain or pretty JSON
jwt-editor Interactive bidirectional JWT ↔ JSON editor (HS256/384/512, WebCrypto)

Placeholders

Inside with: and views[].data: you can reference:

  • ${inputs.<id>} — workflow input value
  • ${<stepId>.<path.to.field>} — output from an earlier step
  • ${secrets.<key>} — value from VS Code SecretStorage (set via Conduit: Set Secret)
  • ${config.<key>} — workspace config field
  • Nested allowed: ${secrets.${inputs.secretKey}}

A whole-string placeholder (token: ${query.rows}) returns the raw value (array/object). An inline placeholder (message: "got ${query.rowCount} rows") is interpolated as a string.

File-bound workflows

A workflow can declare:

fileAssociations:
  - pattern: "**/*.sql"
    inputId: file
    autoRun: true

When the user opens a matching file, VS Code routes it into the workflow runner with the file path bound to the chosen input.

Palette commands a workflow can declare

commands:
  - id: my.workflow.run
    title: "My App: Run"

Adds the command to the VS Code palette, wired to open the workflow's runner panel.


Conduit's own commands

Command Action
Conduit: Run Workflow… Pick + run any discovered workflow
Conduit: New Workflow from Template Author a new workflow (workspace or user scope)
Conduit: Open Config Open / create the workspace config
Conduit: Switch DB Connection Change the active Postgres connection
Conduit: Set Secret / Delete Secret Manage SecretStorage values

Workflow discovery

Workflows are loaded from three locations, with later sources overriding earlier ones on the same id:

  1. Bundled — resources/builtin-workflows/ inside the VSIX
  2. User — ~/.conduit/workflows/ (cross-workspace)
  3. Workspace — **/*.conduit.{yaml,json} in the open workspace

Authoring tips

  • *.conduit.yaml files get JSON-Schema-backed IntelliSense via the Red Hat YAML extension. *.conduit.json files get the same via VS Code's built-in JSON validation.
  • Empty / partially-edited workflow files are skipped silently — no toast spam while you author.
  • Errors fail-fast at workflow load (unknown step type, missing field) rather than surfacing mid-run.

Build

npm run codegen      # scan bundled workflows → write package.json customEditors + activationEvents
npm run typecheck    # tsc --noEmit
npm run bundle       # esbuild → out/extension.js
npm run build:icon   # SVG → 128x128 PNG (sharp)
npm run package      # → conduit-X.Y.Z.vsix

Roadmap (post-v1)

Behind future experimental flags: if / loop / subworkflow steps, transform.map / filter / pick / join, HTTP POST, scheduling / webhooks, chart / markdown / image views, plugin step types.

Licence

MIT — see LICENCE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft