feat(jetbrains): add JetBrains IDE plugin (PyCharm/WebStorm) - #296
Closed
rlarin wants to merge 15 commits into
Closed
feat(jetbrains): add JetBrains IDE plugin (PyCharm/WebStorm)#296rlarin wants to merge 15 commits into
rlarin wants to merge 15 commits into
Conversation
Thin Kotlin plugin that embeds the existing React webview via JCEF and manages Claude Code terminal lifecycle in JetBrains IDEs. - Gradle scaffold: IntelliJ Platform Gradle Plugin 2.16, Kotlin 2.1.21, Gradle 9 - ServerManager: starts/detects npx pixel-agents server, non-blocking (portFuture) - TerminalManager: opens IDE terminal with claude --session-id, EDT-safe, IOException-safe - PixelAgentsBrowserPanel: JCEF browser with JS bridge for launchAgent, deferred URL load - PixelAgentsService: project service with Node.js availability check and notification - PixelAgentsToolWindowFactory: bottom panel tool window - Webview: JetBrains runtime detection via ?ide=jetbrains URL param, JetBrainsTransport - GitHub Actions CI: jetbrains-release.yml triggered on jetbrains-v* tags - Windows-compatible: cmd /c npx for process launching, @volatile on shared state
Keeps the working tree clean of npx/Gradle leftovers from building the JetBrains plugin: IntelliJ Platform sandbox, the stray org/ output dir, and *.stackdump crash files. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
@rlarin is attempting to deploy a commit to the pablodelucca's projects Team on Vercel. A member of the Team first needs to authorize it. |
Without a files whitelist, npm publish falls back to .gitignore, which excludes dist/ — so the published tarball shipped without dist/cli.js and the `pixel-agents` bin was non-functional (the JetBrains plugin relies on `npx pixel-agents` to launch the standalone server). Add a files whitelist (dist + icon) and a prepublishOnly build so the package always ships the CLI bundle, webview, assets, and hook script. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Publishes this fork under independent identities so it no longer collides with the upstream pablodelucca-owned npm package and JetBrains Marketplace listing: - npm package: pixel-agents -> it-crowd-pixel-agents (bin + npx target) - JetBrains plugin id: com.pixelagents.jetbrains -> io.github.rlarin.pixelagents (also fixes the Marketplace metadata override that hid the bundled icon/description) - VS Code publisher/displayName + repository URL updated - ServerManager spawns `npx it-crowd-pixel-agents` LICENSE retains Pablo De Lucca's MIT copyright; README and plugin description credit the upstream project explicitly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The prettier/eslint invocations single-quoted the output path, which cmd.exe does not strip, so `npm run package` failed on Windows with "No files matching the pattern" — breaking prepublishOnly and any production build/publish from Windows. Quote with double quotes on win32, single quotes elsewhere. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On a machine without the package cached, `npx it-crowd-pixel-agents` can prompt to confirm the install; the plugin spawns it non-interactively so the prompt would stall server startup. Add -y to auto-confirm. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The IntelliJ Platform Gradle plugin defaults untilBuild to 251.* when building against 2025.1, so the plugin was flagged "Not compatible" on PyCharm/WebStorm 2026.1. Raise the cap to 261.* so it installs on 2026.1.x. Note: the embedded-terminal API (TerminalView.createLocalShellWidget) is deprecated and may be non-functional on 2026.1; "+ Agent" terminal launch needs verification there and a possible migration to TerminalToolWindowTabsManager. Also add SCREENSHOT_PROMPT.md with instructions to produce the Marketplace screenshot. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
First release under the it-crowd-pixel-agents identity with 2026.1 IDE compatibility. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Two complementary refresh paths after the occasional 1-3s lag before a newly launched agent is detected and broadcast: - Webview: a refresh button in the zoom controls re-sends webviewReady over the transport, prompting the server (or VS Code extension) to re-broadcast the full state (agents, layout, assets) without losing camera/zoom. Works in VS Code, standalone, and JetBrains. - JetBrains: a native "Reload" title action on the tool window that re-navigates the embedded JBCef browser as a hard fallback. Bump npm 1.3.2 (ships the webview button) and plugin 0.3.0 (ships the reload action). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The tool window stripe showed "Pixel Agents" and a "?" placeholder because no icon was registered. Rename the tool window to "IT Crowd" and add a 13x13 (+@2x) tool-window icon derived from the plugin icon. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.3.2 was published without the webview refresh button; bump to 1.3.3 to ship the rebuilt webview. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vsce errors when both a .vscodeignore and a package.json "files" field are present, and "files" is required so npm publish includes dist/. Removing .vscodeignore lets both vsce and npm pack from the same whitelist (dist + icon.png). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Author
|
Superseded by #300, which contains the same JetBrains plugin and fixes without the downstream fork-specific renaming. Closing in favor of that clean branch. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a JetBrains Platform plugin so Pixel Agents runs inside PyCharm, WebStorm, and other IntelliJ-based IDEs (2025.1+).
pixel-agentsserver (?ide=jetbrains)+ Agentopens an IDE terminal runningclaude --session-id <uuid>through a nativeJBCefJSQuerybridgeServerManagerboots/reuses the standalone server via~/.pixel-agents/server.jsonbuild:jetbrainsnpm scripts (Windows + unix)*.stackdumpNotes / follow-ups
pixel-agents>= 1.3.0 on npm (currentlatestis 1.0.2 with nobin); the plugin spawns the server vianpx pixel-agents. Publish 1.3.0 before release.Test plan
npm run build:jetbrainsproduces the plugin zip+ Agentopens terminal + spawns a character (with a 1.3.0 server running)🤖 Generated with Claude Code