{"id":44676440,"url":"https://github.com/glubean/vscode","last_synced_at":"2026-04-27T06:01:20.815Z","repository":{"id":338525339,"uuid":"1157597100","full_name":"glubean/vscode","owner":"glubean","description":"VS Code extension — API explorer that replaces Postman + test runner with structured traces. Same file for exploration and CI.","archived":false,"fork":false,"pushed_at":"2026-04-27T03:22:15.000Z","size":640,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T03:37:04.534Z","etag":null,"topics":["ai-testing","api-explorer","api-testing","postman-alternative","rest-client","test-runner","typescript","vscode-extension"],"latest_commit_sha":null,"homepage":"https://glubean.com/extension","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glubean.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-14T02:36:15.000Z","updated_at":"2026-04-27T03:22:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/glubean/vscode","commit_stats":null,"previous_names":["glubean/vscode"],"tags_count":82,"template":false,"template_full_name":null,"purl":"pkg:github/glubean/vscode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glubean%2Fvscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glubean%2Fvscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glubean%2Fvscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glubean%2Fvscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glubean","download_url":"https://codeload.github.com/glubean/vscode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glubean%2Fvscode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32324552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-testing","api-explorer","api-testing","postman-alternative","rest-client","test-runner","typescript","vscode-extension"],"created_at":"2026-02-15T03:08:26.060Z","updated_at":"2026-04-27T06:01:20.765Z","avatar_url":"https://github.com/glubean.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"icon.png\" width=\"120\" alt=\"Glubean\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eGlubean — API Explorer \u0026 Test Runner for VS Code\u003c/h1\u003e\n\u003cp align=\"center\"\u003eReplace Postman with code. Same file runs as API collection and CI test.\u003cbr/\u003eHTTP, GraphQL, gRPC, browser — anything Node.js supports.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eexplore\u003c/strong\u003e · \u003cstrong\u003etest\u003c/strong\u003e · \u003cstrong\u003edebug\u003c/strong\u003e · \u003cstrong\u003etraces\u003c/strong\u003e · \u003cstrong\u003eAI-native\u003c/strong\u003e · \u003cstrong\u003eCI-ready\u003c/strong\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://glubean.com\"\u003e\u003cimg alt=\"Powered by Glubean\" src=\"https://img.shields.io/badge/Powered%20by-glubean.com-F59E0B?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://docs.glubean.com\"\u003e\u003cimg alt=\"Docs\" src=\"https://img.shields.io/badge/Docs-docs.glubean.com-818cf8?style=flat-square\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Demo\n\n\u003cp\u003e\n  \u003ca href=\"https://3ese0ujr3e86dvfp.public.blob.vercel-storage.com/demo.mp4\"\u003e\u003cimg alt=\"See extension in action\" src=\"https://img.shields.io/badge/%E2%96%B6%20See%20extension%20in%20action-~41s-818cf8?style=for-the-badge\" /\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://3ese0ujr3e86dvfp.public.blob.vercel-storage.com/demo2.mp4\"\u003e\u003cimg alt=\"Watch AI generate a test\" src=\"https://img.shields.io/badge/%E2%9C%A6%20Watch%20AI%20generate%20a%20test-a855f7?style=for-the-badge\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://3ese0ujr3e86dvfp.public.blob.vercel-storage.com/glubean-explore.gif\" alt=\"Explore APIs with Glubean\" width=\"800\"\u003e\n\u003c/p\u003e\n\n## Two roles, one extension\n\n### 1. Postman replacement — in your editor, in git\n\n`explore/` is your API collection in code. Click the gutter play button to send a request, see full response (status, headers, body, timing) in the Result Viewer. Save parameter sets with `test.pick`, share via git.\n\nNo Postman account. No per-seat pricing. No export/import. No tool fragmentation.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://3ese0ujr3e86dvfp.public.blob.vercel-storage.com/glubean-demo-scratch.gif\" alt=\"Glubean scratch mode — zero config API exploration\" width=\"800\"\u003e\n\u003c/p\u003e\n\n### 2. Visual layer for test results\n\nRun tests from the gutter or Test Explorer. Inspect structured traces — HTTP events, metrics, logs, step-by-step state. Debug failures with typed `expected` vs `actual`. Compare runs with trace diff.\n\nThis is the human review interface for what the SDK, CLI, and AI agents produce.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://3ese0ujr3e86dvfp.public.blob.vercel-storage.com/glubean-fix.gif\" alt=\"Glubean fix workflow — structured failures\" width=\"800\"\u003e\n\u003c/p\u003e\n\n### The key insight\n\nThe same TypeScript file works as both an API collection entry (`explore/`) and a CI regression test (`tests/`). No export step, no format conversion. Start exploring, add assertions, commit, run in CI.\n\n## What changes\n\n| Without Glubean | With Glubean |\n|---|---|\n| Postman for exploring, Jest for testing, separate CI config | One TypeScript file for all three |\n| API collection locked in Postman cloud, per-seat pricing | `explore/` in git, free, shared with `git push` |\n| Failures are terminal noise | Structured traces with typed `expected` vs `actual` |\n| AI generates a test, you paste it, run it manually | AI writes → runs via MCP → reads failure → fixes → reruns |\n| Request drafts die in tabs | Same file graduates from draft → test → CI |\n\n## Quick start\n\n**Prerequisites:** Node.js 20+ ([download](https://nodejs.org))\n\n**1. Install** — from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Glubean.glubean), [Open VSX](https://open-vsx.org/extension/Glubean/glubean), or download a [VSIX](https://github.com/glubean/vscode/releases) for Cursor / VSCodium.\n\n**2. Explore an API** — create `hello.test.js`, type `gb-scratch`, and click **Play**:\n\n```javascript\nimport { test } from \"@glubean/sdk\";\n\nexport const getProducts = test(\"get-products\", async (ctx) =\u003e {\n  const res = await ctx.http.get(\"https://dummyjson.com/products\");\n  ctx.expect(res).toHaveStatus(200);\n\n  const data = await res.json();\n  ctx.expect(data).toHaveProperty(\"products\");\n  ctx.log(\"total\", data.total);\n});\n```\n\nNo `npm install`, no `package.json`, no setup. The response opens in the Result Viewer right beside your code.\n\n**3. Create a project** — when you're ready, run `npx glubean init` to scaffold a project with environments, secrets, CI config, and more.\n\n**4. Set up AI** — connect Glubean's MCP server and skill:\n\n```bash\nnpx glubean config mcp       # AI can discover, run, and diagnose tests\nnpx skills add glubean/skill  # AI learns Glubean patterns\n```\n\nThe agent writes tests, runs them via MCP, reads structured failures, and fixes until green — in one conversation. [Learn more →](https://docs.glubean.com/extension/generate-with-ai)\n\n## Features\n\n| Feature | Highlights |\n|---|---|\n| **[Explore APIs](https://docs.glubean.com/extension/quick-start)** | Scratch mode, zero config, `explore/` as Postman replacement |\n| **[Run tests](https://docs.glubean.com/extension/running-tests)** | Play buttons, Test Explorer, right-click to debug, rerun failed only |\n| **[Result Viewer](https://docs.glubean.com/extension/result-viewer)** | Traces, assertions, events, response schema — navigate history with prev/next |\n| **[Trace diff](https://docs.glubean.com/extension/result-viewer)** | Compare two runs with native diff to see what changed |\n| **[Data-driven](https://docs.glubean.com/sdk/data-driven)** | `test.each` + `test.pick` with JSON/YAML/CSV, CodeLens per case |\n| **[Environments](https://docs.glubean.com/extension/environments)** | Status bar switcher for `.env` files, auto-loads secrets, hover preview |\n| **[Debugging](https://docs.glubean.com/extension/debugging)** | Breakpoints, step-through, Debug Console — real TypeScript |\n| **[AI Integration](https://docs.glubean.com/extension/generate-with-ai)** | MCP server + skill = AI writes, runs, and fixes tests |\n| **[Diagnostics](https://docs.glubean.com/extension/diagnostics)** | `Glubean: Diagnose` — explains why something isn't working |\n| **[Glubean Panel](https://docs.glubean.com/extension/running-tests#glubean-panel)** | Pin tests and files for quick access |\n| **Refactor Hints** | CodeLens suggests extracting inline data, promoting explore→tests |\n\n## Documentation\n\n- [Quick Start](https://docs.glubean.com/extension/quick-start) — install and run your first test\n- [Writing Tests](https://docs.glubean.com/extension/writing-tests) — CodeLens, snippets, data-driven patterns\n- [Running Tests](https://docs.glubean.com/extension/running-tests) — play buttons, Test Explorer, Glubean Panel\n- [Result Viewer](https://docs.glubean.com/extension/result-viewer) — traces, assertions, history, jump to source\n- [Environments \u0026 Secrets](https://docs.glubean.com/extension/environments) — `.env` files, secrets, status bar switcher\n- [AI Integration](https://docs.glubean.com/extension/generate-with-ai) — MCP server, skill, AI authoring loop\n- [Debugging](https://docs.glubean.com/extension/debugging) — breakpoints, step-through, Debug Console\n- [Migrate from Postman](https://docs.glubean.com/extension/migrate-from-postman) — phased migration with AI\n- [Commands \u0026 Settings](https://docs.glubean.com/extension/reference) — full reference\n\n\u003cdetails\u003e\n\u003csummary\u003eAlternative install methods\u003c/summary\u003e\n\n### VS Code Marketplace\n\nSearch for **Glubean** in the Extensions panel, or install from the [Marketplace page](https://marketplace.visualstudio.com/items?itemName=Glubean.glubean).\n\n### Open VSX (VSCodium, Gitpod, etc.)\n\nSearch for **Glubean** in [Open VSX](https://open-vsx.org/extension/Glubean/glubean).\n\n### Manual VSIX (Cursor, Windsurf, other forks)\n\nDownload the `.vsix` for your platform from [GitHub Releases](https://github.com/glubean/vscode/releases), then:\n`Cmd+Shift+P` (or `Ctrl+Shift+P`) → **Extensions: Install from VSIX...** → select the file.\n\n\u003c/details\u003e\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglubean%2Fvscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglubean%2Fvscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglubean%2Fvscode/lists"}