-
Notifications
You must be signed in to change notification settings - Fork 0
feat(rider): add JetBrains Rider + Junie support #5
Copy link
Copy link
Open
Description
Summary
Extend the existing IntelliJ plugin to explicitly support JetBrains Rider and add a Junie AI assistant integration.
The current extensions/pycharm plugin uses com.intellij.modules.platform so it technically runs on Rider, but it is not branded, tested, or listed for Rider in the marketplace. Junie (JetBrains' AI coding agent) has no integration at all.
Scope
1. Rider support (extensions/pycharm → extensions/intellij rename or new module)
- Update
plugin.xmlto declare explicit compatibility with Rider:- Add
<depends>com.intellij.modules.rider</depends>as an optional dependency or declare the plugin as platform-level - Update
<idea-version since-build="233"/>to cover current Rider builds - Update plugin name/description to mention Rider
- Add
- Rename
extensions/pycharm/→extensions/intellij/(or keep as-is and add Rider to the supported products list) - Update
.github/workflows/pycharm.yml→ verify plugin against Rider build (addverifyPluginwith Rider IDE type) - Update root
package.jsonscripts to reference the renamed extension if applicable
2. Junie integration
Junie exposes an extension point for AI context providers — plugins can register a JunieContextProvider that injects structured context into Junie's AI sessions.
Implement RetortJunieContextProvider:
- Reads the active workspace's
.agentkit/spec/teams.yaml,.claude/state/tasks/*.json, andAGENT_BACKLOG.md - Returns a formatted context block describing:
- Active orchestration phase
- Current tasks (in-progress)
- Relevant teams for the open file (matched by scope globs)
- Registered via
com.intellij.junie.contextProviderextension point inplugin.xml
3. Junie slash command: /retort-ask
Register a Junie slash command that calls the state-watcher /api/ask endpoint:
- Command:
/retort-ask <query> - Hits
http://localhost:<port>/api/ask?q=<query>(port from.retort-portor state-watcher discovery) - Formats top 3
RouteResultentries as markdown for the Junie chat
Implementation Notes
- Junie SDK:
com.intellij.junieplugin dependency (optional — degrade gracefully if Junie not installed) - State-watcher port discovery: read
.retort-portfile written by the IntelliJ plugin when it starts the daemon - Existing PyCharm functionality must not regress
- Gradle module: add
riderproduct type toverifyPlugintask inbuild.gradle.kts
Acceptance criteria
- Plugin installs and activates in Rider without errors
- All existing tool window actions work in Rider (sync, check, orchestrate, etc.)
-
RetortJunieContextProviderinjects team context into Junie sessions when.agentkitis present -
/retort-ask which team handles authreturns top results in Junie chat -
./gradlew verifyPluginpasses for both PyCharm and Rider build targets - CI workflow updated to verify against Rider
Related
- Builds on:
packages/state-watcher/api/askendpoint (merged in feat(router): semantic team routing and spec-aware Q&A — Phase 1 #4) extensions/pycharm— existing IntelliJ plugin base
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels