Skip to content
/

intellij-openspec

intellij-openspec · johnnyblabs/intellij-openspec · ★ 2 · last commit 2026-05-02

Provide full OpenSpec lifecycle orchestration within IntelliJ IDEA with flexible AI routing to any of 28 detected tools or direct API providers.

Best whenAn IDE plugin should route work to whatever AI tool the developer already uses, not force a new one.
vs seeds
openspecintegrates into existing IntelliJ rather than replacing the IDE. The delivery mode abstraction (routing to 28 AI tools o…
Primitive shape 14 total
Commands 14
00

Summary

intellij-openspec — Summary

intellij-openspec is a JetBrains IDE plugin (IntelliJ IDEA 2024.2+) that provides native OpenSpec workflow orchestration without leaving the IDE. It supports four usage personas: spec browser (read-only reviewer), IDE-first developer (uses existing Copilot/Cursor/Cline tools via clipboard delivery), CLI companion (Claude Code/Gemini CLI users), and standalone API user (direct AI provider integration). The plugin features a three-tab tool window (Browse/Coverage/Console), a DAG-based artifact pipeline (proposal → design → specs → tasks), three AI delivery modes (copy for tool / open in editor tab / generate via API), inline editor inspections for OpenSpec annotation validation, gutter markers for @spec annotations, and a setup wizard. It detects 28 supported AI tools by scanning project directories. AI API keys are stored in the OS keychain via IntelliJ's PasswordSafe. The plugin is available on JetBrains Marketplace (ID: 30678-openspec).

differs_from_seeds: No seed framework is a JetBrains IDE plugin. The closest seed is kiro (a full IDE for spec-driven development), but intellij-openspec integrates into an existing IDE rather than replacing it. Unlike spek's IntelliJ plugin (which is read-only), intellij-openspec provides full workflow orchestration including propose, generate, apply, verify, and archive actions.

01

Overview

intellij-openspec — Overview

Origin

Published by johnnyblabs, Apache-2.0 license, v0.0.x (build version from gradle.properties). Available on JetBrains Marketplace as plugin 30678-openspec. Last commit 2026-05-02.

Philosophy

From the README: "An IDE-native client for the OpenSpec spec-driven development framework by Fission AI. Browse specs, orchestrate the propose → generate → implement → archive lifecycle, and route AI-generated artifacts through the tool of your choice — all without leaving IntelliJ."

The plugin explicitly supports four personas (Spec Browser, IDE-First Developer, CLI Companion, Standalone API User) — acknowledging that users have different existing AI tool setups and the plugin should integrate with, not replace, existing tools.

Manifesto-style statements (from feature-reference.md)

  • "The plugin distinguishes placeholder/scaffold content from real content. An artifact file containing only template comments is treated as 'not done,' preventing false pipeline progression."
  • "Profile-Aware Action Visibility: Workflow actions respect the active OpenSpec profile. Actions whose workflow is not enabled in the current profile appear visible but disabled with a tooltip."
  • "API keys are stored securely in your operating system's keychain via IntelliJ's PasswordSafe — never saved in project files."

Target user

Four defined personas:

  1. Spec Browser — reviewer/PM wanting to browse specs and track coverage
  2. IDE-First Developer — using Copilot/Cursor/Windsurf/Cline inside IntelliJ
  3. CLI Companion — using Claude Code/Gemini CLI terminal tools
  4. Standalone API User — using a direct AI API key
02

Architecture

intellij-openspec — Architecture

Distribution

  • JetBrains Marketplace: plugin ID 30678-openspec
  • Build from source: Kotlin + Gradle

Install methods

# From Marketplace (recommended)
Settings > Plugins > Marketplace > search "OpenSpec"

# From source
git clone https://github.com/johnnyblabs/intellij-openspec.git
cd intellij-openspec
./gradlew build
# Install from build/distributions/OpenSpec-*.zip

Requirements

  • IntelliJ IDEA 2024.2+ (Community or Ultimate)
  • Java 21 JDK (for building from source)
  • OpenSpec CLI 1.3.x (optional but recommended for full experience)

Tech stack

  • Language: Kotlin
  • Platform: IntelliJ Platform SDK
  • Build: Gradle (build.gradle.kts)
  • UI: IntelliJ platform UI components
  • Webview: Not JCEF-based (unlike spek's IntelliJ plugin) — uses native IntelliJ components

Directory structure

intellij-openspec/
├── src/main/kotlin/  # Kotlin source
├── build.gradle.kts
├── gradle.properties
├── settings.gradle.kts
├── docs/
│   ├── feature-reference.md
│   ├── feature-comparison-matrix.md
│   ├── getting-started-browser.md
│   ├── getting-started-copilot.md
│   ├── getting-started-cli-companion.md
│   └── getting-started-api.md
├── openspec/         # Uses itself as an OpenSpec project
└── scripts/

Multi-tool configurations discovered

The plugin scans project directories to detect 28 AI tools:

Directory Tool Type
.github/ GitHub Copilot IDE Panel
.cursor/ Cursor IDE Panel
.windsurf/ Windsurf IDE Panel
.cline/ Cline IDE Panel
.claude/ Claude Code CLI

AI delivery modes

  1. Copy for [Tool]: clipboard with tool-specific guidance
  2. Open in Editor Tab: temporary editor tab for review
  3. Generate via API: direct to AI provider (Anthropic/OpenAI/Gemini)

Security

API keys stored via IntelliJ's PasswordSafe (OS keychain) — never in project files.

03

Components

intellij-openspec — Components

Tool Window (3 permanent tabs + 1 conditional)

Tab Purpose
Browse Tree view of specs, changes, archives. Double-click to open. Right-click context menu.
Coverage Coverage analysis: which spec requirements are referenced in source code
Console Output panel for CLI commands (init, validate, update)
Explore (Only with Direct API configured) Inline topic input + markdown-rendered AI responses

Workflow Actions (OpenSpec menu)

Action Description
Init Initialize OpenSpec in current project
Propose... Create new change with name and description
Fast-Forward... Create change and generate all artifacts in one step (requires Direct API)
Continue Generate next ready artifact (requires Direct API)
Explore... Prompt for topic, assemble explore prompt, deliver via configured mode
Apply Mark a change as applied
Verify Check artifact completeness, task progress, requirement coverage
Archive Move completed change to openspec/changes/archive/
Bulk Archive... Archive multiple completed changes with conflict detection
Sync Specs Merge delta specs from completed change into main specs
Update Run openspec update (requires CLI)
Manage AI Tools... View and configure AI tool integrations
List List all specs and changes
Refresh Tree Manually refresh tool window
Setup Wizard... Guided onboarding

DAG-based artifact pipeline

proposal → design → specs → tasks

Workflow Action Panel shows status chips: Done (green checkmark) / Ready (blue filled circle) / Blocked (gray empty circle)

Editor Inspections

Three real-time inspections as you edit (names not fetched — likely: invalid @spec annotation, missing spec file reference, etc.)

Gutter markers

@spec annotations in Java source → clickable gutter icons → navigate to referenced spec file

Profile-aware action visibility

core profile: Propose, Explore, Apply, Archive expanded/custom profile: All actions including Fast-Forward, Continue, Verify, Sync Specs, Bulk Archive

Scaffolding detection

Placeholder/scaffold content in artifact files treated as "not done" — prevents false pipeline advancement.

05

Prompts

intellij-openspec — Prompts

intellij-openspec assembles prompts at runtime from OpenSpec skill instructions + project context + topic input. The exact prompt content is constructed by the plugin's Kotlin code and depends on the delivery mode. The plugin does not ship static prompt files in Markdown format.

Assembled prompt structure (from feature-reference.md description)

For the Explore action, the plugin assembles:

1. [OpenSpec skill instructions]
2. [Project context (specs, changes)]
3. [User topic input (optional)]

For workflow artifact generation (Continue/Fast-Forward), the plugin assembles prompts based on:

  • The artifact type (proposal, design, specs, tasks)
  • The current state of completed upstream artifacts
  • OpenSpec CLI skill instructions (if CLI is installed)

Verbatim excerpt from feature-reference.md

### Explore tab
Only when Direct API is configured. Thinking-space panel with inline topic input,
markdown-rendered AI responses, and Copy/Clear toolbar. Appears automatically when you
configure a Direct API provider in Settings.
### Coverage Panel
The Coverage tab tracks which requirements in your specs are referenced in source code.
It shows gaps where requirements exist but no code references them yet.

Prompting technique

  • Context assembly: Plugin reads existing artifacts and injects them as context
  • Scaffolding detection: Filters placeholder content from context ("artifact file containing only template comments is treated as 'not done'")
  • Profile-aware: Different workflows available based on configured profile

No static prompt files

Unlike Claude Code-based tools that ship SKILL.md files, this plugin generates prompts programmatically from Kotlin code. The prompting logic lives in the plugin's Java/Kotlin classes, not in inspectable Markdown files.

09

Uniqueness

intellij-openspec — Uniqueness & Positioning

differs_from_seeds

No seed framework is a JetBrains IDE plugin. The closest seed is kiro (a full IDE built for spec-driven development), but kiro replaces the IDE while intellij-openspec integrates into IntelliJ IDEA. The AI delivery mode abstraction — routing the same assembled prompt to any of 28 detected AI tools or to 3 direct API providers — has no equivalent in any seed framework. Seeds assume a specific tool (Claude Code, kiro, cursor); intellij-openspec explicitly supports tool heterogeneity within a team (some members use Copilot, others use Claude Code, others use direct APIs). The four-persona design is also distinctive: it acknowledges that the same plugin must serve reviewers, IDE-native developers, CLI-focused developers, and API-direct users.

Positioning

  • Category: JetBrains IDE plugin — multi-tool OpenSpec workflow orchestration
  • User: IntelliJ IDEA developers who use OpenSpec and may have any AI tool as their primary assistant
  • Integration: IDE-native; complements any existing AI tool via delivery mode abstraction
  • Value: Full OpenSpec lifecycle in IntelliJ with AI tool routing, coverage analysis, gutter markers, profile-aware workflow

Observable failure modes

  1. 28-tool detection relies on directory presence: AI tools that store config elsewhere are not detected
  2. Scaffolding detection: Plugin distinguishes placeholder from real content — any edge case in template detection breaks pipeline progression
  3. Java 21 build requirement: Higher barrier for contributors
  4. Fast-Forward / Continue require Direct API: Teams without API keys must use the slower copy-and-paste workflow
  5. Profile-based feature gating: Teams used to Fast-Forward/Continue features on one machine may lose them if profile changes
  6. Windows CLI detection: Plugin auto-detects openspec.cmd from multiple paths — custom install locations may require manual path override

Cross-references

  • Requires: OpenSpec framework (Fission AI)
  • Similar to: spek's IntelliJ plugin (same IDE) but completely different scope (spek is read-only viewer; intellij-openspec is full workflow orchestration)
  • Feature comparison matrix exists at docs/feature-comparison-matrix.md — presumably compares with VS Code alternatives
04

Workflow

intellij-openspec — Workflow

Primary workflow (DAG artifact pipeline)

Phase Actor Action Artifact
1 — Propose Developer OpenSpec > Propose... openspec/changes/<name>/proposal.md
2 — Design Plugin/AI OpenSpec > Continue (or Fast-Forward) design.md
3 — Specs Plugin/AI Generate next artifact specs/ delta files
4 — Tasks Plugin/AI Generate next artifact tasks.md
5 — Implement Developer Use existing AI tool (Copilot/Claude/etc.) Code changes
6 — Apply Developer OpenSpec > Apply Change marked applied
7 — Verify Developer OpenSpec > Verify Completeness report
8 — Archive Developer OpenSpec > Archive Change moved to archive/

Delivery modes for AI generation

When "Generate" is clicked:

  • Copy for [Detected Tool]: Clipboard + tool-specific guidance
  • Open in Editor Tab: Prompt in temporary tab for manual use
  • Generate via API: Direct API call → artifact written to disk automatically

CI workflow

Not applicable (IDE plugin only).

Approval gates

The DAG enforces implicit gates: downstream artifacts cannot be generated until upstream artifacts are complete (status "Ready" requires dependencies "Done"). The Verify action provides explicit completeness checking.

Phase-to-artifact map

Phase Artifact
Propose openspec/changes/<name>/proposal.md
Design design.md
Specs specs/*.md delta files
Tasks tasks.md
Apply Change status updated
Verify Completeness report (in Console tab)
Archive openspec/changes/archive/<name>/

Profile filtering

Actions not available in the current profile (e.g., Fast-Forward in core profile) appear disabled with tooltip rather than hidden.

06

Memory Context

intellij-openspec — Memory & Context

State storage

  • Plugin settings: IntelliJ's standard settings persistence (Settings > Tools > OpenSpec) — AI provider, API key path override, active profile, CLI path
  • API keys: OS keychain via IntelliJ PasswordSafe — never in project files
  • OpenSpec state: openspec/ directory — the source of truth for all workflow state

Persistence

Plugin settings persist across IDE restarts in IntelliJ's global settings store. OpenSpec project files persist in the project directory.

Coverage analysis

The Coverage tab reads @spec annotations in Java source files and cross-references them with spec requirements. This analysis is computed on-demand from the current state of both the source code and the openspec/ directory.

Cross-session handoff

The DAG pipeline state persists in the openspec/changes/<name>/ directory. Reopening IntelliJ with the same project restores the full workflow state by reading the artifact files.

Context compaction

Not applicable.

Security note

"API keys are stored securely in your operating system's keychain via IntelliJ's PasswordSafe — never saved in project files." This is stronger security than most tools in the ecosystem.

07

Orchestration

intellij-openspec — Orchestration

Multi-agent support

None. Single-session, single-agent.

Orchestration pattern

Sequential (DAG artifact pipeline: proposal → design → specs → tasks). The DAG enforces ordering, not parallelism.

Isolation mechanism

None. Operates in-place.

Multi-model support

Yes, via delivery modes:

  • Copy for [Tool]: Routes to any detected AI tool
  • Generate via API: Routes to Anthropic (Claude), OpenAI, or Gemini — user's choice in settings

Execution mode

Interactive-loop (user triggers actions from IntelliJ menus; plugin executes and updates the tree).

Subagents

None.

Crash recovery

IntelliJ's standard undo/redo applies to any file writes. The artifact files persist so no workflow state is lost on crash.

Consensus mechanism

None.

Prompt chaining

Yes — each artifact stage reads the output of all upstream completed artifacts as context. Design stage reads proposal, specs stage reads design, tasks stage reads both.

08

Ui Cli Surface

intellij-openspec — UI & CLI Surface

CLI binary

None (plugin itself). The plugin optionally invokes the OpenSpec CLI (openspec) if installed.

IDE plugin surface (JetBrains)

  • Plugin type: JetBrains IDE plugin (Kotlin)
  • IDE requirement: IntelliJ IDEA 2024.2+ (Community or Ultimate)
  • Marketplace ID: 30678-openspec

Tool Window

  • Right sidebar with Browse / Coverage / Console / Explore tabs
  • Browse tab tree: Specs > Changes > Archive
  • Status chips on workflow artifacts: Done (green) / Ready (blue) / Blocked (gray)
  • Change selector dropdown
  • Generate button

Menu: OpenSpec

All workflow actions available from the OpenSpec top-level menu item.

Editor integration

  • Gutter markers on @spec Java annotations → navigate to spec file
  • Three real-time editor inspections

Settings (Settings > Tools > OpenSpec)

  • CLI path override (with auto-detect for Windows .cmd)
  • Active profile (core or expanded/custom)
  • Direct API provider (Anthropic/OpenAI/Gemini) + API key (stored in OS keychain)
  • Delivery mode (Copy / Editor Tab / Generate via API)
  • Detected AI tools shown in bold

Setup Wizard

Guided onboarding dialog for new OpenSpec projects.

Observability

  • Console tab streams CLI command output
  • Verify action produces completeness report in dialog
  • Coverage tab shows spec requirement coverage gaps

AI tool detection

Scans for 28 AI tool configuration directories. Detected tools get their own "Copy for [Tool]" delivery option with tool-specific guidance text.

Cross-tool routing

The plugin's delivery mode abstraction is its key differentiator: it can route the same OpenSpec-assembled prompt to any of the 28 detected AI tools via clipboard, or to 3 direct API providers, without requiring the user to change their workflow. This makes it tool-agnostic while still being IDE-integrated.

Related frameworks

same archetype · same primary tool · same memory type

claude-mem (thedotmack) ★ 78k

Background worker service captures every tool call as an observation, AI-compresses sessions, and auto-injects relevant past…

pi (badlogic/earendil) ★ 55k

A minimal, hackable, multi-provider terminal coding agent that adapts to your workflows via npm-installable TypeScript Extensions…

Agent Skills (Addy Osmani) ★ 46k

Encodes senior-engineer software development lifecycle as 23 auto-routed skills and 7 slash commands for any AI coding agent.

wshobson/agents Plugin Marketplace ★ 36k

Single Markdown source for 83 domain-specialized plugins that auto-generates idiomatic artifacts for five AI coding harnesses.

TabbyML/Tabby ★ 34k

Self-hosted AI coding assistant server (alternative to GitHub Copilot) with admin dashboard, RAG-based completions, and multi-IDE…

Compound Engineering ★ 17k

Make each unit of engineering work compound into easier future work via brainstorm→plan→execute→review→learn cycles.