Skip to content

Agent Architecture

Junie

Junie is JetBrains' LLM-agnostic coding agent that runs from terminal, IDE, or CI/CD. It supports JetBrains account login, API keys, BYOK providers, channelized installers, GitHub Action setup, issue/PR/CI workflows, and JetBrains service terms.

Source reviewed #41Checked 2026-07-06
Run type
CLI
Adapter
mcp-only
Source
OSS · JetBrains/junie
Stars
★ 0.4k

Archive Context

This page is one host entry inside the full architecture archive and keeps multi-surface products visible instead of collapsing them into a single run type.

42 host archive
Host page
junie
Run cohort
CLI: 30
Archive route
/agents

Host Surface Perspectives

The host is the primary architecture boundary. Each runnable surface below separates what the host owns from what agent-connector can safely install for Junie.

1 surface entry

CLI

cli
Host entry
A terminal command owns the process, current working directory, stdin/stdout, shell environment, and project file discovery.
Host owns
The CLI host owns agent loop timing, approval prompts, tool execution, session files, and how hook or MCP subprocesses are launched.
Connector role
agent-connector can only write the host's documented CLI config, prompt, memory, hook, MCP, or package files and point them at the home binary. Current wired connector surfaces: MCP server, Memory.
Implementation consequence
A CLI surface is byte-addressable and smoke-testable from a temporary HOME, but terminal UI behavior still belongs to the host process. Visible host-native gaps for this surface: Commands, Skills, Subagents.

Verified Architecture

Source-checked on 2026-07-06. These notes are intentionally separate from the generated surface matrix below.

Sequence #41

Source pass

Current source review findings are kept as the first architecture section so readers can separate external evidence from the generated local coverage model.

  • Junie is an LLM-agnostic coding agent by JetBrains that lives in the terminal and integrates with IDE and CI/CD workflows.
  • The repository provides install paths for shell, PowerShell, Homebrew, and npm, making the CLI entry point concrete for the adapter.
  • Authentication supports JetBrains account OAuth, Junie API keys, and bring-your-own-key providers, so identity is a host-native integration axis.

Runtime boundary

The adapter target should distinguish Junie terminal, IDE, and CI/CD surfaces. JetBrains owns account login, installer channels, service terms, and IDE integration, while the CLI process owns local task execution.

  • The README says Junie lives in terminal, integrates with IDE and CI/CD pipelines.
  • Install channels include stable, EAP, nightly, and experimental.

MCP registration

Junie is tracked as MCP-only in the connector matrix. MCP or tool configuration should be described conservatively unless JetBrains documents a local server registry for the specific terminal or IDE surface.

  • BYOK providers include Anthropic, OpenAI, Google, xAI, OpenRouter, and Copilot.
  • Provider flexibility is not the same as MCP server registration.

Hook bridge

Junie workflows include GitHub Action setup and CI/CD interactions, but those should not be described as lifecycle hooks unless Junie exposes a hook API or generated file surface.

  • `/install-github-action` sets up GitHub automation.
  • Issue, PR, and CI reactions are workflow integrations rather than local hook events.

Content surfaces

Junie content surfaces include natural-language tasks, IDE context, CI/CD workflows, GitHub Action setup, authentication methods, channel registries, and any prompt or configuration templates in the repository.

  • The repository includes templates and install scripts rather than full product source.
  • BYOK and JetBrains account flows are important setup surfaces.

Marketplace and host-only affordances

The host-only affordance is JetBrains distribution across terminal, IDE, and CI/CD with official account and BYOK support. The architecture should show it as a JetBrains platform agent, not a generic CLI.

  • The JetBrains brand and service terms are support boundaries.
  • GitHub automation is a host workflow surface.

Host-specific shape

Junie has MCP and memory wired, with commands, skills, and subagents documented but not yet path-wired; lifecycle hooks are not a confirmed native layer.

  • Form factor: CLI.
  • Native surfaces: MCP server, Commands, Skills, Subagents, Memory.
  • Wired surfaces: MCP server, Memory.
  • Visible gaps: Commands, Skills, Subagents.

Hooks

No user-installable lifecycle hook boundary is confirmed for this host.

MCP

The adapter writes this host's native MCP registration dialect, including its root key, scope, transport fields, and environment syntax.

Memory

Managed memory text is written into the rules or memory file this host actually reads, with ownership markers for reversible uninstall.

Marketplace and affordances

Current install is a direct native-file write path; any package artifact is manual unless a driver is added.

  • Runtime handlers: none.
  • User-visible affordances: Users see managed memory surfaces after install; runtime-only surfaces stay behind the host boundary..

Known Limits

  • MCP-only coverage should not imply hook support.
  • Terminal, IDE, and CI/CD surfaces need separate verification.
  • The repository is installer/configuration oriented, so internals claims should stay cautious.

Architecture Diagram

Host-specific flow for the CLI surface.

mcp-only
Host-owned architecture flowHost surfaceCLIRuntimemcp-onlyNative artifactsMCP + memoryConnector boundaryMCP clientUser surfacememoryagent-connector writes only documented host artifacts; the host owns the agent loop.
  1. 1
    Entry point: CLI

    Terminal agent process reads user/project config and invokes the connector home binary for runtime callbacks.

  2. 2
    Connector package

    defineConnector package declares server, hooks, content, memory, and actions.

  3. 3
    Adapter module: junie

    mcp-only renderer at src/adapters/junie/index.ts.

  4. 4
    Native host artifacts

    Adapter writes MCP config + memory/rules through this host's native file, package, or marketplace surface.

  5. 5
    Runtime boundary

    host calls MCP tools through its client

  6. 6
    User-visible surface

    Users see managed memory surfaces after install; runtime-only surfaces stay behind the host boundary.

  7. 7
    Coverage ceiling

    2/5 native surfaces wired. Commands, Skills, Subagents are host-native but not wired yet.

Component Diagram

Static parts of the Junie integration and which side owns each one.

Components and ownershipJunie hosthostagent-connector packageconnectorjunie adaptermcp-onlyNative artifactsartifactsRuntime bridgeruntimeUser-visible surfaceuser
  • Junie host

    CLI surface owns the model loop, UI shell, config discovery, and native lifecycle for this integration.

  • agent-connector package

    Normalizes connector declarations into MCP, hook, memory, content, and action payloads before delegating to a host adapter.

  • junie adapter

    Implements the mcp-only translation layer in src/adapters/junie/index.ts.

  • Native artifacts

    Adapter writes MCP config + memory/rules through this host's native file, package, or marketplace surface.

  • Runtime bridge

    host calls MCP tools through its client

  • User-visible surface

    Users see managed memory surfaces after install; runtime-only surfaces stay behind the host boundary.

Runtime Sequence Flow

Message order from install to runtime for the CLI surface.

User / projectagent-connectorjunie adapterJunieAgent runtimeCoverage matrix1. Choose host adapter2. Resolve connector declaration3. Render host-native shape4. Host loads artifacts5. Run through host boundary6. Expose remaining ceiling
  1. 1 · User / project
    Choose host adapter

    Install or update starts against Junie; the selected surface is CLI.

  2. 2 · agent-connector
    Resolve connector declaration

    The package reads connector metadata and routes it to the junie adapter instead of exposing a generic host contract.

  3. 3 · junie adapter
    Render host-native shape

    Adapter writes MCP config + memory/rules through this host's native file, package, or marketplace surface.

  4. 4 · Junie
    Host loads artifacts

    host calls MCP tools through its client

  5. 5 · Agent runtime
    Run through host boundary

    Users see managed memory surfaces after install; runtime-only surfaces stay behind the host boundary.

  6. 6 · Coverage matrix
    Expose remaining ceiling

    2/5 native surfaces wired. Commands, Skills, Subagents are host-native but not wired yet.

Architecture Archive

The same five study axes are rendered for every host: runtime shape, hooks, MCP, memory, and host-only affordances.

Host-specific shape

Junie has MCP and memory wired, with commands, skills, and subagents documented but not yet path-wired; lifecycle hooks are not a confirmed native layer.

  • Form factor: CLI.
  • Native surfaces: MCP server, Commands, Skills, Subagents, Memory.
  • Wired surfaces: MCP server, Memory.
  • Visible gaps: Commands, Skills, Subagents.

Hooks

No user-installable lifecycle hook boundary is confirmed for this host.

MCP

The adapter writes this host's native MCP registration dialect, including its root key, scope, transport fields, and environment syntax.

Memory

Managed memory text is written into the rules or memory file this host actually reads, with ownership markers for reversible uninstall.

Marketplace and affordances

Current install is a direct native-file write path; any package artifact is manual unless a driver is added.

  • Runtime handlers: none.
  • User-visible affordances: Users see managed memory surfaces after install; runtime-only surfaces stay behind the host boundary..

Special Feature Inventory

Host-specific capabilities separated from the generic surface matrix: lifecycle hooks, MCP registration, memory/rules, marketplace delivery, and UI or content affordances owned by the host.

Lifecycle hooks

Not confirmed

No user-installable lifecycle hook boundary is confirmed for this host.

MCP registration

Wired

The adapter writes this host's native MCP registration dialect, including its root key, scope, transport fields, and environment syntax.

Memory and rules

Wired

Managed memory text is written into the rules or memory file this host actually reads, with ownership markers for reversible uninstall.

Marketplace delivery

Direct files

Current install is a direct native-file write path; any package artifact is manual unless a driver is added.

Host-only affordances

0/3 wired

Wired host affordances: none. Host-native gaps: Commands, Skills, Subagents. Not confirmed: Statusline handler, Action affordances.

Source Review Notes

Latest source pass for host-specific architecture details. This is separate from generated adapter coverage and local drift guards.

Checked 2026-07-06Open review source
JetBrains/junie repository
  • Junie is an LLM-agnostic coding agent by JetBrains that lives in the terminal and integrates with IDE and CI/CD workflows.
  • The repository provides install paths for shell, PowerShell, Homebrew, and npm, making the CLI entry point concrete for the adapter.
  • Authentication supports JetBrains account OAuth, Junie API keys, and bring-your-own-key providers, so identity is a host-native integration axis.

Evidence Map

Each host page ties public source evidence to the local adapter and drift guards that keep the rendered archive aligned with code.

Public source: JetBrains/junie

Primary public repository or product source used for current host status and source links.

external
Open source

Local adapter implementation

Defines the install/uninstall behavior, native config rendering, capability flags, and any runtime parse/format bridge for this host.

local
src/adapters/junie/index.ts

Platform metadata and host-native matrix

Records the form factor, public source target, ranking source, native host surfaces, and current agent-connector coverage cells.

local
site/src/platform-data.ts

Architecture drift guard

Asserts that every registered host has a page, diagram, host-specific brief, source link, form-factor band, and adapter-aligned surface data.

local
tests/docs/platform-drift.test.ts

Runtime Shape

The host accepts MCP registration, but has no confirmed hook bridge for agent-connector to call.

MCP registration
Wired through this adapter
Hook bridge
No confirmed hook surface

Connector Surfaces

Static content

MCP server, Memory

Runtime handlers

No runtime handler surfaces wired

Surface Matrix

Wired means agent-connector installs it now. Host native marks support we know about but have not wired yet.

SurfaceStatus
MCP server
Static content
agent-connector installs this surface today.
Wired
Hooks
Static content
No confirmed host-native surface.
N/A
Commands
Static content
The host appears to offer this, but this adapter has not wired it yet.
Host native
Skills
Static content
The host appears to offer this, but this adapter has not wired it yet.
Host native
Subagents
Static content
The host appears to offer this, but this adapter has not wired it yet.
Host native
Memory
Static content
agent-connector installs this surface today.
Wired
Statusline handler
Runtime handler
No confirmed host-native surface.
N/A
Action affordances
Runtime handler
No confirmed host-native surface.
N/A