Adds JetBrains Junie CLI to bb as an ACP coding-agent provider.
After installation, Junie appears in bb as provider acp-junie.
The npm package is bb-plugin-junie-acp and the plugin id is junie. The plugin
locates the junie CLI and drives it in its native ACP mode (junie --acp=true)
over stdio, registering a managed entry in bb's built-in ACP providers plugin
without disturbing other agents. The launch command matches the JetBrains entry
in the ACP registry.
- bb 0.40 or newer with its built-in ACP providers plugin enabled.
- Install Junie with
curl -fsSL https://junie.jetbrains.com/install.sh | bash, then authenticate it as documented at https://junie.jetbrains.com/docs/get-started-with-junie.html.
Note: the runnable bundle in
dist/is produced bybb plugin build .using the bb plugin SDK, and is not committed to this repository. Run the build once before installing from source or before publishing to the marketplace. The unit tests and type-checking below do not requirebb.
npm install
npm run typecheck
npm test
npm run build # requires the bb CLI: bb plugin build .Until the marketplace entry is merged, install directly from GitHub:
git clone https://github.com/junie-agent/bb-plugin-junie-acp
cd bb-plugin-junie-acp
npm install
npm run build # requires the bb CLI
bb plugin install .The plugin locates the CLI and writes or repairs its managed entry in the ACP
providers plugin's customAgents setting without disturbing other agents. It
uses junie --acp=true over stdio. Model ids come from Junie's ACP session
catalog.
The managed entry declares the skill directory the Junie CLI reads, so bb lists it in the composer next to its own:
- project:
.junie/skills/ - user:
~/.junie/skills/
Junie's ACP mode does not expose documented launch flags for bypassing its own permission prompts, so bb's thread permission mode adds no launch flags and every tool call comes through ACP for approval:
| bb mode | Junie flag |
|---|---|
| Auto | none — every tool call comes through ACP for approval |
| Accept edits | none |
| Full access | none |
bb junie status
bb junie repair
bb provider models acp-junieIf the CLI moves after an upgrade, bb junie repair records its new absolute
path and reloads bb.
Remove the managed provider entry before removing the plugin:
bb junie unregister
bb plugin remove junieThe legacy scripts/install.sh and scripts/uninstall.sh remain available for
installations made before this repository became a bb plugin. Do not use them
for new installs: they write the customAcpAgents array that bb removes in
0.41. Installing the plugin migrates such an entry to the setting and deletes
the legacy one.
bb's built-in ACP provider supplies the ACP-to-bb runtime. This plugin manages
the provider-specific launch profile in that plugin's customAgents setting
(the old customAcpAgents array in config.json is deprecated in bb 0.40 and
removed in 0.41). Authentication and model availability remain owned by the
Junie CLI and the user's JetBrains account.
The package ID is junie; the provider ID is acp-junie. The icon is the
official Junie mark from
junie-agent/junie-assets.
npm run typecheck
npm test
npm run build # requires the bb CLIsrc/agent-entry.ts holds the pure entry-building logic — what the managed
entry looks like, how it is merged into an existing customAgents array, and
what is safe to remove. npm test (vitest) covers it. server.ts keeps the
side effects: locating the CLI, reading and writing the setting, the CLI
commands.
The plugin requires bb 0.40+ and plugin SDK 0.4.8+.