Skip to main content

VS Code Extension

The SemanticFed data-federation platform, in your editor. Manage connectors, data sources, semantic models, federated queries, and run history against the Burdenoff workspace + global GraphQL gateways — without leaving VS Code.

Features​

  • Activity-bar views for Semantic Models, Data Sources, Queries, Query Runs, Connectors, and Dashboard.
  • Full CRUD lifecycle via guided input pickers: create, update, publish, archive, and delete.
  • Webview panels — rich detail views for Models, Data Sources, Queries, Connectors, and a federation Dashboard.
  • Status bar — published models, connected data sources, published queries, and active connectors at a glance.
  • Entity dimensions & metrics surfaced from a model's entity rows.
  • Open in Web App deep-links for every top-level entity.
  • Output-channel Analytics Overview and a copy/export-friendly log buffer.

Authentication​

SemanticFed uses the Burdenoff OAuth 2.0 device-code flow (works on local, Remote-SSH, Codespaces, and WSL). Tokens are stored in VS Code SecretStorage.

  1. Run SemanticFed: Login (or click Sign In in the Semantic Models view).
  2. Enter the displayed code at the verification URL.
  3. Pick a workspace. The extension issues a workspace-scoped token and scopes all data requests to it.

The VS Code OAuth client id is burdenoff_vscode_semanticfed.

Environment selection​

The extension targets production endpoints by default. To switch environments, set the BURDENOFF_ENV environment variable before starting VS Code:

BURDENOFF_ENVWorkspace gatewayGlobal gatewayWeb app
prod (default)https://graphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://graphql.burdenoff.com/global/graphqlhttps://app.semanticfed.com
alphahttps://alphagraphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://alphagraphql.burdenoff.com/global/graphqlhttps://alphaapp.semanticfed.com
localhttp://127.0.0.1:4003/workspaces/graphqlhttp://127.0.0.1:4000/global/graphqlhttp://localhost:5173

VS Code settings overrides​

Advanced users can override individual endpoints via VS Code settings:

SettingPurpose
semanticfed.workspaceEndpointWorkspace gateway GraphQL endpoint override
semanticfed.globalEndpointGlobal gateway GraphQL endpoint override
semanticfed.oidcIssuerOIDC issuer URL override
semanticfed.clientIdOAuth 2.0 client id override
semanticfed.workspaceIdSet automatically after login

Development​

git clone https://github.com/algoshred/semanticfed-code-extension.git
cd semanticfed-code-extension
bun install

bun run lint # eslint, zero warnings
bun run typecheck # tsc --noEmit
bun run compile # tsc -> out/ (test harness)
bun run build # webpack (extension host + webview UI)
bun run smoke:build # verify build artifacts exist
bun run compile:test
bun run test # @vscode/test-electron (needs a display / xvfb)
bun run package # vsce package -> .vsix
bun run sanity # all of the above

Running against local backends​

# Start the Burdenoff dev stack first, then:
BURDENOFF_ENV=local code .

Testing​

  • Unit tests for backend API calls are in test/suite/ and use mocked axios requests.
  • Extension-host smoke tests launch a real VS Code instance via @vscode/test-electron.
  • On headless Linux, set SEMANTICFED_FORCE_EXTENSION_TESTS=true and run under xvfb-run.

Release​

Tag pushes (v*) build + test + package a VSIX and attach it to a GitHub Release — they never auto-publish. Marketplace / OpenVSX publishing is a deliberate, human-gated workflow_dispatch.

License​

Proprietary — Burdenoff Consultancy Services Pvt. Ltd. (packaged manifest declares MIT for marketplace tooling compatibility).