Skip to main content

VS Code Extension

Kadaikodi in your editor. Manage service providers, offerings, orders, reviews, and investment opportunities against the Burdenoff workspace + global GraphQL gateways.

Features

  • Activity-bar views for core Kadaikodi entities:
    • Service Providers (expand to Workers, Offerings, Investment Opportunities)
    • Offerings (products + services)
    • Orders (expand to line items)
    • Reviews (grouped per provider)
    • Investments (opportunities, expand to investments)
    • Dashboard (live marketplace KPIs + service health)
  • Create / update flows via guided input pickers
  • Webview panels — rich Provider Detail + marketplace Dashboard with admin analytics
  • Status bar showing active providers + pending orders at a glance
  • Worker tasks surfaced from a provider's worker rows

Authentication

Kadaikodi 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 Kadaikodi: Login (or click Sign In in the Service Providers 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_kadaikodi and the redirect is vscode://burdenoff.kadaikodi-code-extension/auth/callback.

Environments

The extension targets production by default. To switch to alpha or local Burdenoff stacks, set the BURDENOFF_ENV environment variable before launching VS Code:

# Production (default)
BURDENOFF_ENV=prod code

# Alpha stack
BURDENOFF_ENV=alpha code

# Local development stack
BURDENOFF_ENV=local code
EnvWorkspace GatewayGlobal Gateway
prodhttps://graphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://graphql.burdenoff.com/global/graphql
alphahttps://alphagraphqlworkspaces.burdenoff.com/workspaces/graphqlhttps://alphagraphql.burdenoff.com/global/graphql
localhttp://127.0.0.1:4003/workspaces/graphqlhttp://127.0.0.1:4000/global/graphql

Endpoint URLs are centralized in src/config/env.ts; every other module reads endpoints through readConfig().

Install

From the VSIX

bun run package              # produces kadaikodi-code-extension-<version>.vsix
code --install-extension ./kadaikodi-code-extension-<version>.vsix

From source

git clone https://github.com/algoshred/kadaikodi-code-extension.git
cd kadaikodi-code-extension
bun install
BURDENOFF_ENV=local bun run build

Then press F5 in VS Code to launch the Extension Development Host.

Development

bun install
bun run lint # eslint, zero warnings
bun run typecheck # tsc --noEmit
bun run compile # tsc -> out/ (test harness)
bun run compile:test
BURDENOFF_ENV=local bun run build # webpack (extension host + webview UI)
BURDENOFF_ENV=local bun run test # @vscode/test-electron (needs a display / xvfb)
bun run package # vsce package -> .vsix
bun run sanity # lint + typecheck + compile + build + compile:test + test

The build is dual-target webpack: the extension host bundle (dist/extension.js, Node) and the webview UI bundles (webview-ui/dist/*.js, browser).

Configuration

SettingDefaultPurpose
kadaikodi.workspaceEndpointprod workspace gatewayWorkspace gateway override
kadaikodi.globalEndpointprod global gatewayGlobal gateway override
kadaikodi.oidcIssuer(derived)OIDC issuer override
kadaikodi.clientId(built-in)OAuth client id override
kadaikodi.workspaceId(auto)Set after login

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.

Repository: github.com/algoshred/kadaikodi-code-extension

Next steps