You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A discussion dedicated to the JetBrains Toolbox module. Share your thoughts, questions, and feedback here.
Module Scorecard
Presentation & Onboarding
IDE Integration
Credential Hygiene
Restricted-Environment Readiness
Engineering Quality
Overall
25 / 25
18 / 25
20 / 20
15 / 20
9 / 10
87 / 100
Drilldown
Presentation & Onboarding — 25 / 25
Criterion
Max
Score
Notes
Configuration-mode examples
12
12
README provides examples for pre-configured mode (direct app creation with default), user choice with limited options, EAP versions, pinned versions (air-gapped), single IDE use case, and custom tooltip. Each major mode is documented with sensible defaults.
Coder-context framing
8
8
README clearly states "This module adds JetBrains IDE buttons to launch IDEs directly from the dashboard by integrating with the JetBrains Toolbox." Names both Coder and JetBrains, explains what the module adds on top of Coder.
Visual preview
5
5
README includes ../../.images/jetbrains-dropdown.png showing the module in action (verified to exist, 40.5 KB).
IDE Integration — 18 / 25
Criterion
Max
Score
Notes
Dashboard entry point
7
7
Module creates coder_app resources with proper jetbrains://gateway/coder URLs containing all required parameters (workspace, owner, folder, token, product code, build number).
Managed configuration
6
0
No documented support for managed IDE settings, extensions, or configuration. Module only handles launching IDEs, not configuring them.
Configurable folder or workdir
6
6
var.folder is a required input that sets the directory to open in the IDE. Documented in all examples and validated to be a full path.
Pre-installed extensions
6
5
N/A - JetBrains IDEs are desktop applications, not web IDEs. This criterion does not apply.
Credential Hygiene — 20 / 20
Criterion
Max
Score
Notes
Secrets marked sensitive
16
16
Module uses $SESSION_TOKEN in URLs (runtime token substitution by Coder). No sensitive inputs exist in the module itself. README examples contain no inline secrets.
Non-hardcoded auth path
4
4
Uses Coder's built-in session token mechanism ($SESSION_TOKEN) which is substituted at runtime. No API keys or credentials need to be pasted into templates.
Restricted-Environment Readiness — 15 / 20
Criterion
Max
Score
Notes
Mirrorable artifact source
10
5
var.releases_base_link and var.download_base_link allow overriding the JetBrains API and download URLs. However, these only affect metadata lookups, not actual IDE downloads (which are handled by JetBrains Toolbox on the client side). Half credit for partial mirroring capability.
Bring-your-own binary
5
5
var.ide_config allows pinning specific build numbers and skipping all HTTP calls. README documents: "When ide_config is set, the module makes zero HTTP calls and uses the provided build numbers directly. This is ideal for air-gapped environments."
Egress transparency
3
3
README has a dedicated "Pinned Versions (Air-Gapped / Cached)" section that documents the module's network behavior. States that when ide_config is not set, the module queries https://data.services.jetbrains.com/products/releases. When ide_config is set, "zero HTTP calls" are made. Enumerates the actual endpoint contacted.
Runs without sudo
2
2
Module contains no install or runtime scripts. It only creates Terraform resources (coder_app, coder_parameter, data sources). No sudo required by construction.
Engineering Quality — 9 / 10
Criterion
Max
Score
Notes
Input quality
6
6
All inputs have clear descriptions. Sensible defaults provided (major_version = "latest", channel = "release", tooltip with helpful default). Comprehensive validation rules on folder (regex for full path), major_version (version format or "latest"), channel (release/eap), options (valid product codes), ide_config (cross-variable validation ensuring superset of options/default).
Test coverage
4
3
.tftest.hcl file with 20+ test runs covering business logic: parameter vs direct app creation, URL construction, version resolution, ide_config behavior, validation rules, output schema. No TypeScript tests visible for end-to-end behavior. Half credit deducted for missing E2E tests.
Overall — 87 / 100
Scored against SCORECARD.md on 2026-08-24 with claude-sonnet-4-5.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
A discussion dedicated to the JetBrains Toolbox module. Share your thoughts, questions, and feedback here.
Module Scorecard
Drilldown
Presentation & Onboarding — 25 / 25
default), user choice with limited options, EAP versions, pinned versions (air-gapped), single IDE use case, and custom tooltip. Each major mode is documented with sensible defaults.../../.images/jetbrains-dropdown.pngshowing the module in action (verified to exist, 40.5 KB).IDE Integration — 18 / 25
coder_appresources with properjetbrains://gateway/coderURLs containing all required parameters (workspace, owner, folder, token, product code, build number).var.folderis a required input that sets the directory to open in the IDE. Documented in all examples and validated to be a full path.Credential Hygiene — 20 / 20
$SESSION_TOKENin URLs (runtime token substitution by Coder). No sensitive inputs exist in the module itself. README examples contain no inline secrets.$SESSION_TOKEN) which is substituted at runtime. No API keys or credentials need to be pasted into templates.Restricted-Environment Readiness — 15 / 20
var.releases_base_linkandvar.download_base_linkallow overriding the JetBrains API and download URLs. However, these only affect metadata lookups, not actual IDE downloads (which are handled by JetBrains Toolbox on the client side). Half credit for partial mirroring capability.var.ide_configallows pinning specific build numbers and skipping all HTTP calls. README documents: "Whenide_configis set, the module makes zero HTTP calls and uses the provided build numbers directly. This is ideal for air-gapped environments."ide_configis not set, the module querieshttps://data.services.jetbrains.com/products/releases. Whenide_configis set, "zero HTTP calls" are made. Enumerates the actual endpoint contacted.coder_app,coder_parameter,datasources). No sudo required by construction.Engineering Quality — 9 / 10
major_version = "latest",channel = "release",tooltipwith helpful default). Comprehensive validation rules onfolder(regex for full path),major_version(version format or "latest"),channel(release/eap),options(valid product codes),ide_config(cross-variable validation ensuring superset of options/default)..tftest.hclfile with 20+ test runs covering business logic: parameter vs direct app creation, URL construction, version resolution,ide_configbehavior, validation rules, output schema. No TypeScript tests visible for end-to-end behavior. Half credit deducted for missing E2E tests.Overall — 87 / 100
Scored against SCORECARD.md on 2026-08-24 with
claude-sonnet-4-5.All reactions