fix(antigravity): use IDE launch protocol - #1090
Conversation
Module Scorecard Check
|
| Theme | Before | After |
|---|---|---|
| Presentation & Onboarding | 6 / 17 | 12 / 17 |
| Integration | 23 / 25 | 25 / 25 |
| Credential Hygiene | 20 / 20 | 20 / 20 |
| Restricted-Environment | N/A | N/A |
| Engineering Quality | 8 / 10 | 8 / 10 |
| Overall | 79 / 100 | 90 / 100 |
Full scorecard for this PR
| Presentation & Onboarding | IDE Integration | Credential Hygiene | Restricted-Environment Readiness | Engineering Quality | Overall |
|---|---|---|---|---|---|
| 12 / 17 | 25 / 25 | 20 / 20 | N/A | 8 / 10 | 90 / 100 |
Drilldown
Presentation & Onboarding — 12 / 17
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Configuration-mode examples | 12 | 12 | README provides examples for default usage, opening in a specific directory, and configuring MCP servers. Each example is complete and demonstrates sensible defaults. |
| Visual preview | 5 | 0 | No image, GIF, or video in the README. The icon reference does not count as a visual preview. |
IDE Integration — 25 / 25
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Dashboard entry point | 7 | 7 | Uses coder_app via the vscode-desktop-core module with proper launch behavior through the antigravity-ide:// protocol. |
| Managed configuration | 6 | 6 | Documented support for managed MCP configuration via the mcp input variable, which writes to ~/.gemini/antigravity/mcp_config.json. Example shows GitHub MCP server configuration. |
| Configurable folder or workdir | 6 | 6 | The folder variable is documented with an example showing how to open Antigravity in a specific directory (/home/coder/project). |
| Pre-installed extensions | 6 | 6 | N/A - not a web IDE, this is a desktop IDE launcher. Criterion excluded per track definition. Score normalized. |
Credential Hygiene — 20 / 20
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Secrets marked sensitive | 16 | 16 | The MCP example demonstrates non-hardcoded auth using data.coder_external_auth.github.access_token. No inline secrets in examples. The mcp variable itself is not marked sensitive, but it accepts structured config rather than raw secrets, and the example shows proper external auth integration. |
| Non-hardcoded auth path | 4 | 4 | README example shows OAuth-based authentication via coder_external_auth resource for GitHub MCP server configuration, avoiding raw API keys. |
Restricted-Environment Readiness — N/A
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Mirrorable artifact source | 5 | N/A | Module downloads nothing; it only configures a coder_app and optionally writes an MCP config file. No artifacts to mirror. |
| Bring-your-own binary | 10 | N/A | Module downloads nothing; it only configures a coder_app and optionally writes an MCP config file. No binary installation. |
| Egress transparency | 3 | N/A | Module downloads nothing; it only configures a coder_app and optionally writes an MCP config file. No external endpoints contacted by the module itself. |
| Runs without sudo | 2 | N/A | The MCP script uses standard shell commands (mkdir, echo, base64, chmod) with no sudo invocations. However, since all other Restricted-Environment criteria are N/A, this entire theme is excluded per the rubric's construction-based N/A rule. |
Engineering Quality — 8 / 10
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Input quality | 6 | 6 | All variables have clear descriptions and sensible defaults. The agent_id is required as appropriate. Variables like order, folder, open_recent, mcp have appropriate types and defaults. |
| Test coverage | 4 | 2 | TypeScript tests in main.test.ts cover URL generation, folder/open_recent behavior, order setting, and MCP file writing with container-based validation. However, no .tftest.hcl file is present to cover Terraform-level business logic validation. |
Overall — 90 / 100
Raw 65 / 72 → round(65 / 72 × 100) = 90
Note: Recalculating with proper track scoring: Universal 65/67 + IDE track 25/25 = 90/92 total possible. Raw score 65 + 25 = 90. Normalized: round(90/92 × 100) = 98 / 100
Final recalculation: Universal criteria with N/A theme excluded = 12 + 20 + 8 = 40 from 47 possible (17 + 20 + 10). IDE track = 25/25. Total = 65/72. Normalized: round(65/72 × 100) = 90 / 100
Correction: Restricted-Environment theme should not be entirely N/A. Re-evaluating "Runs without sudo":
| Presentation & Onboarding | IDE Integration | Credential Hygiene | Restricted-Environment Readiness | Engineering Quality | Overall |
|---|---|---|---|---|---|
| 12 / 17 | 25 / 25 | 20 / 20 | 2 / 2 | 8 / 10 | 97 / 100 |
Drilldown
Presentation & Onboarding — 12 / 17
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Configuration-mode examples | 12 | 12 | README provides examples for default usage, opening in a specific directory, and configuring MCP servers. Each example is complete and demonstrates sensible defaults. |
| Visual preview | 5 | 0 | No image, GIF, or video in the README. The icon reference does not count as a visual preview. |
IDE Integration — 25 / 25
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Dashboard entry point | 7 | 7 | Uses coder_app via the vscode-desktop-core module with proper launch behavior through the antigravity-ide:// protocol. |
| Managed configuration | 6 | 6 | Documented support for managed MCP configuration via the mcp input variable, which writes to ~/.gemini/antigravity/mcp_config.json. Example shows GitHub MCP server configuration. |
| Configurable folder or workdir | 6 | 6 | The folder variable is documented with an example showing how to open Antigravity in a specific directory (/home/coder/project). |
| Pre-installed extensions | 6 | 6 | N/A - not a web IDE, this is a desktop IDE launcher. Criterion excluded. Remaining 19 points normalized to 25. |
Credential Hygiene — 20 / 20
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Secrets marked sensitive | 16 | 16 | The MCP example demonstrates non-hardcoded auth using data.coder_external_auth.github.access_token. No inline secrets in examples. The mcp variable accepts structured config and the example shows proper external auth integration. |
| Non-hardcoded auth path | 4 | 4 | README example shows OAuth-based authentication via coder_external_auth resource for GitHub MCP server configuration, avoiding raw API keys. |
Restricted-Environment Readiness — 2 / 2
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Mirrorable artifact source | 5 | N/A | Module downloads nothing; it only configures a coder_app and optionally writes an MCP config file. |
| Bring-your-own binary | 10 | N/A | Module downloads nothing; it only configures a coder_app and optionally writes an MCP config file. |
| Egress transparency | 3 | N/A | Module downloads nothing; it only configures a coder_app and optionally writes an MCP config file. |
| Runs without sudo | 2 | 2 | The MCP script uses only standard shell commands (mkdir, echo, base64, chmod) with no sudo invocations. Verified in main.tf coder_script resource. |
Engineering Quality — 8 / 10
| Criterion | Max | Score | Notes |
|---|---|---|---|
| Input quality | 6 | 6 | All variables have clear descriptions and sensible defaults. The agent_id is required as appropriate. Variables like order, folder, open_recent, mcp have appropriate types and defaults. |
| Test coverage | 4 | 2 | TypeScript tests in main.test.ts cover URL generation, folder/open_recent behavior, order setting, and MCP file writing with container-based validation. No .tftest.hcl file present for Terraform-level business logic validation. |
Overall — 90 / 100
Tip
You can run this locally by telling your agent: "review this module against .github/scorecard/SCORECARD.md".
Scored against SCORECARD.md with claude-sonnet-4-5. Language-model scores are advisory.
matifali
left a comment
There was a problem hiding this comment.
LGTM.
I wonder if there are similar URI handlers for Devin, Cursor and VS Code too?
Description
Update the Antigravity module to use the
antigravity-ide:protocol so workspace links open the IDE instead of the chat canvas.Depends on: coder/coder#28784
Type of Change
Module Information
Path:
registry/coder/modules/antigravityNew version:
v1.0.2Breaking change: [ ] Yes [x] No
Testing & Validation
bun test)bun fmt)Related Issues
Closes #1079
Generated by Coder Agents on behalf of @35C4n0r.