Glubean for VS Code
A code-first REST client and API testing tool — the Postman alternative that lives in your editor.
AI-friendly SDK: feed your OpenAPI / Swagger spec to any AI and get production-ready tests. Just TypeScript.
REST client · API testing · Postman alternative · AI-friendly · OpenAPI · TypeScript · Deno
Show me the code
import { test } from "@glubean/sdk";
export const getProduct = test("get-product", async (ctx) => {
const res = await ctx.http.get("https://dummyjson.com/products/1");
ctx.expect(res).toHaveStatus(200);
const body = await res.json();
ctx.expect(body).toHaveProperties(["title", "brand"]);
});
Click the ▶ button next to test( to run it. The response opens as a structured trace file right beside your code.
Why Glubean?
- Native editor DX — run API tests from the gutter, see results in the Test Explorer, debug with breakpoints. No browser tabs.
- AI-friendly SDK — rich JSDoc,
@example tags, and explicit types mean any AI assistant can generate correct tests from a spec or a natural language prompt.
- Trace & Diff — every request/response is captured as a
.trace.jsonc file. Diff against the last run instantly with VS Code's native diff.
- Git-friendly — your collections are
.ts files. Review them like code, version them like code.
- Zero config — auto-installs the Glubean runtime on first use (~30s). Just install the extension and go.
Quick Start
1. Install — from the VS Code Marketplace or download a VSIX for Cursor / VSCodium.
2. Scaffold — run glubean init in a new folder (or use Glubean: Initialize Project from the Command Palette).
3. Run — open the generated *.test.ts and click the ▶ button in the gutter.
On first use, the extension auto-installs Deno and the Glubean CLI — no manual setup.
Tip: Install the Deno extension for full TypeScript IntelliSense in test files.
For the full walkthrough, see the Quick Start guide.
Features at a Glance
| Feature |
Highlights |
| Run tests |
Gutter ▶ buttons, editor title button, Test Explorer, Cmd+Shift+R re-run |
| Traces & Diff |
Rich trace viewer, trace history with prev/next navigation, side-by-side diff |
| Environments |
Status bar switcher for .env files, auto-loads matching .secrets, hover preview |
| Debugging |
Full breakpoint support via Deno's V8 inspector |
| AI Integration |
Generate tests from OpenAPI specs, glubean context for richer AI output |
| Tasks Panel |
Run named test suites from the sidebar — no CLI knowledge required |
| Data-driven |
test.each for every row, test.pick for random example selection with CodeLens |
Each feature is documented in detail at docs.glubean.com.
Documentation
- Quick Start — install and run your first test
- Running Tests — gutter buttons, Test Explorer,
test.each, test.pick, Tasks Panel
- Traces & Diff — trace history, Copy as cURL, diff with previous run
- Environments & Secrets —
.env files, secrets, status bar switcher
- Debugging — breakpoints, step-through, Debug Console
- AI Integration — generate tests from OpenAPI specs
- Explore vs Tests Workflow — the explore → promote → CI lifecycle
- Commands & Settings — full reference
- Why Glubean? — comparison with Postman and REST Client
How It Works
- Discovery — static regex scans
*.test.ts for test(), test.each(), test.pick() patterns.
- Display — each test becomes a
TestItem with ▶ buttons in the gutter and Test Explorer.
- Execution — clicking ▶ runs
glubean run <file> --filter <test-id> via the CLI.
- Traces — the CLI writes
.trace.jsonc to .glubean/traces/; the extension auto-opens the latest.
- Results —
.result.json maps outcomes back to test items as ✓/✗ icons.
Development
npm install
npm run watch # esbuild watch mode
# Then press F5 in VS Code to launch Extension Development Host
Building
npm run build # production build
npm run package # create .vsix
Project Structure
src/
├── extension.ts # Entry point — setup, commands, env switcher
├── testController.ts # Test Controller — discovery, execution, debug
├── testController/ # Focused modules: exec, debug, results, trace
├── taskPanel/ # Tasks Panel provider, runner, parser, storage
├── webview/ # Preact components for trace/result viewers
├── codeLensProvider.ts # CodeLens for test.pick example buttons
├── traceCodeLensProvider.ts # CodeLens "Trace (N)" on test definitions
├── traceViewerProvider.ts # Custom trace viewer (CodeMirror 6)
├── resultViewerProvider.ts # Custom result viewer
├── traceNavigator.ts # Trace history navigation (prev/next, status bar)
├── hoverProvider.ts # Hover preview for vars.require() / secrets.require()
├── telemetry.ts # Opt-in anonymous telemetry (PostHog)
├── parser.ts # Static regex parser — extracts test metadata
└── parser.test.ts # Parser unit tests
docs/
├── setup.md # Setup explainer (bundled in VSIX, opened via "Learn more")
└── telemetry.md # Full telemetry transparency document
Alternative install methods
VS Code Marketplace
Search for Glubean in the Extensions panel, or install from the Marketplace page.
Manual VSIX (Cursor, VSCodium, other forks)
Download the latest .vsix from GitHub Releases, then:
Cmd+Shift+P (or Ctrl+Shift+P) → Extensions: Install from VSIX... → select the file.
Manual CLI install
The extension auto-installs Deno and the CLI. If that fails, install manually:
# macOS / Linux
curl -fsSL https://glubean.com/install.sh | sh
# Or with Deno
deno install -Agf jsr:@glubean/cli
Tip: also install the Deno extension for better TypeScript intellisense.
License
MIT