Skip to content

Add JetBrains Junie CLI shell plugin#604

Open
eddumelendez wants to merge 1 commit into
1Password:mainfrom
eddumelendez:jetbrains-junie-cli
Open

Add JetBrains Junie CLI shell plugin#604
eddumelendez wants to merge 1 commit into
1Password:mainfrom
eddumelendez:jetbrains-junie-cli

Conversation

@eddumelendez
Copy link
Copy Markdown

@eddumelendez eddumelendez commented May 29, 2026

Overview

Adds a new JetBrains Junie shell plugin for authenticating the junie CLI with a Junie API key from 1Password.

The plugin provisions and imports JUNIE_API_KEY only. Provider-specific BYOK variables such as JUNIE_OPENAI_API_KEY and JUNIE_ANTHROPIC_API_KEY are intentionally not supported by this plugin.

Type of change

  • Created a new plugin
  • Improved an existing plugin
  • Fixed a bug in an existing plugin
  • Improved contributor utilities or experience

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.

Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
Copilot AI review requested due to automatic review settings May 29, 2026 04:50
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 junie plugin 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.

Comment thread plugins/junie/plugin.go
Comment on lines +8 to +22
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(),
},
}
}
Comment thread plugins/junie/api_key.go
Secret: true,
},
},
DefaultProvisioner: provision.EnvVars(defaultEnvVarMapping),
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants