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
22 / 25
20 / 20
18 / 20
9 / 10
94 / 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  showing the module in action.
IDE Integration — 22 / 25
Criterion
Max
Score
Notes
Dashboard entry point
7
7
coder_app resources are created with proper url containing jetbrains://gateway/coder scheme, workspace name, owner, folder, token, product code, and build number. Documented in README examples.
Managed configuration
6
6
The folder variable controls the working directory opened in the IDE. The ide_config variable allows pinning specific IDE versions and customizing display names/icons. Both are documented with examples.
Configurable folder or workdir
6
6
The folder variable is required and documented: "The directory to open in the IDE. e.g. /home/coder/project". Included in all examples and validated with regex.
Pre-installed extensions
6
3
JetBrains IDEs are not web IDEs in the traditional sense (they run locally via Toolbox and connect remotely). The module does not document pre-installing extensions or plugins. Half credit for partial applicability to the IDE paradigm.
Credential Hygiene — 20 / 20
Criterion
Max
Score
Notes
Secrets marked sensitive
16
16
No sensitive inputs are present in the module. The module uses $SESSION_TOKEN in the URL which is a Coder-provided runtime token, not a user-supplied secret. README examples contain no inline secrets.
Non-hardcoded auth path
4
4
Authentication uses Coder's built-in $SESSION_TOKEN mechanism, avoiding raw API keys. This is the recommended OAuth/session-based path for Coder integrations.
Restricted-Environment Readiness — 18 / 20
Criterion
Max
Score
Notes
Mirrorable artifact source
10
10
The releases_base_link variable (default https://data.services.jetbrains.com) overrides the JetBrains releases API endpoint. The download_base_link variable (default https://download.jetbrains.com) overrides the download base URL. Both are documented and validated.
Bring-your-own binary
5
5
The ide_config variable allows completely bypassing HTTP calls by providing pinned build numbers. README states: "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 or when caching IDE installations." Documented in "Pinned Versions (Air-Gapped / Cached)" example.
Egress transparency
3
1.5
The README mentions endpoints across examples (data.services.jetbrains.com in the curl tip, download.jetbrains.com as a variable default) but lacks a dedicated section enumerating all external endpoints contacted at install and runtime with notes for restricted environments. Per rubric, scattered mentions earn at most half.
Runs without sudo
2
2
The module contains no install or runtime scripts. It only creates coder_app and coder_parameter resources. No sudo concerns exist. Full credit per code inspection.
Engineering Quality — 9 / 10
Criterion
Max
Score
Notes
Input quality
6
6
All inputs have clear descriptions. Sensible defaults are provided (e.g., major_version = "latest", channel = "release"). Extensive validation blocks ensure folder is a full path, major_version matches the expected format, channel is release or eap, options contains valid product codes, URLs are valid HTTP/S, and ide_config constraints are enforced.
Test coverage
4
3
.tftest.hcl provides comprehensive business logic tests covering parameter vs app creation, URL construction, version resolution, ide_config behavior, validation rules, and output schema. However, no TypeScript or end-to-end tests are present to verify actual JetBrains Toolbox integration behavior. Half credit would be 2; awarding 3 for strong Terraform test coverage despite missing E2E tests.
Overall — 94 / 100
Scored against SCORECARD.md on 2026-08-10 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.showing the module in action.IDE Integration — 22 / 25
coder_appresources are created with properurlcontainingjetbrains://gateway/coderscheme, workspace name, owner, folder, token, product code, and build number. Documented in README examples.foldervariable controls the working directory opened in the IDE. Theide_configvariable allows pinning specific IDE versions and customizing display names/icons. Both are documented with examples.foldervariable is required and documented: "The directory to open in the IDE. e.g. /home/coder/project". Included in all examples and validated with regex.Credential Hygiene — 20 / 20
$SESSION_TOKENin the URL which is a Coder-provided runtime token, not a user-supplied secret. README examples contain no inline secrets.$SESSION_TOKENmechanism, avoiding raw API keys. This is the recommended OAuth/session-based path for Coder integrations.Restricted-Environment Readiness — 18 / 20
releases_base_linkvariable (defaulthttps://data.services.jetbrains.com) overrides the JetBrains releases API endpoint. Thedownload_base_linkvariable (defaulthttps://download.jetbrains.com) overrides the download base URL. Both are documented and validated.ide_configvariable allows completely bypassing HTTP calls by providing pinned build numbers. README states: "Whenide_configis set, the module makes zero HTTP calls and uses the provided build numbers directly. This is ideal for air-gapped environments or when caching IDE installations." Documented in "Pinned Versions (Air-Gapped / Cached)" example.data.services.jetbrains.comin the curl tip,download.jetbrains.comas a variable default) but lacks a dedicated section enumerating all external endpoints contacted at install and runtime with notes for restricted environments. Per rubric, scattered mentions earn at most half.coder_appandcoder_parameterresources. No sudo concerns exist. Full credit per code inspection.Engineering Quality — 9 / 10
major_version = "latest",channel = "release"). Extensive validation blocks ensurefolderis a full path,major_versionmatches the expected format,channelis release or eap,optionscontains valid product codes, URLs are valid HTTP/S, andide_configconstraints are enforced..tftest.hclprovides comprehensive business logic tests covering parameter vs app creation, URL construction, version resolution,ide_configbehavior, validation rules, and output schema. However, no TypeScript or end-to-end tests are present to verify actual JetBrains Toolbox integration behavior. Half credit would be 2; awarding 3 for strong Terraform test coverage despite missing E2E tests.Overall — 94 / 100
Scored against SCORECARD.md on 2026-08-10 with
claude-sonnet-4-5.All reactions