Add JetBrains Junie CLI shell plugin#604
Conversation
Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a new 1Password shell plugin for JetBrains Junie to provision/import the Junie API key and define the Junie CLI executable metadata.
Changes:
- Introduces a new
junieplugin with platform metadata and wiring for credentials/executables. - Adds Junie CLI executable definition (command, docs URL, auth behavior, credential usage).
- Adds API key credential type with env var provisioning/import and accompanying tests.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| plugins/junie/plugin.go | Defines the junie plugin entrypoint and registers credentials/executables. |
| plugins/junie/junie.go | Declares the Junie CLI executable metadata and credential usage. |
| plugins/junie/api_key.go | Adds Junie API key credential type with env var provision/import mapping. |
| plugins/junie/api_key_test.go | Adds tests for provisioning/importing JUNIE_API_KEY and ignoring unrelated fields/vars. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| func New() schema.Plugin { | ||
| return schema.Plugin{ | ||
| Name: "junie", | ||
| Platform: schema.PlatformInfo{ | ||
| Name: "JetBrains Junie", | ||
| Homepage: sdk.URL("https://junie.jetbrains.com"), | ||
| }, | ||
| Credentials: []schema.CredentialType{ | ||
| APIKey(), | ||
| }, | ||
| Executables: []schema.Executable{ | ||
| JunieCLI(), | ||
| }, | ||
| } | ||
| } |
| Secret: true, | ||
| }, | ||
| }, | ||
| DefaultProvisioner: provision.EnvVars(defaultEnvVarMapping), |
There was a problem hiding this comment.
Junie have specific env vars to authenticate against providers via BYOK. See https://junie.jetbrains.com/docs/environment-variables.html#provider-api-keys
Is there any way to implement it in the shell plugins? I have been also looking into support OpenCode which relies on env vars from providers as well.
Overview
Adds a new JetBrains Junie shell plugin for authenticating the
junieCLI with a Junie API key from 1Password.The plugin provisions and imports
JUNIE_API_KEYonly. Provider-specific BYOK variables such asJUNIE_OPENAI_API_KEYandJUNIE_ANTHROPIC_API_KEYare intentionally not supported by this plugin.Type of change
Related Issue(s)
N/A
How To Test
For functional testing, initialize the plugin with a Junie API key and run an authenticated Junie command, for example:
junie "Summarize this project"Changelog
Authenticate JetBrains Junie CLI using Touch ID and other unlock options with 1Password Shell Plugins.