Conversation
…red agents Introduces a new settings panel where users can map IDE events (commit, build failure, test failure, file open, etc.) to AI agents (Code Review, Debug, Build Fix, Test Generator, etc.). Includes: - IdeEventType enum: 18 IDE events across 7 categories (VCS, File, Build, Test, Code, Debug, Lifecycle) - AgentType enum: 8 built-in agents + custom agent support, each with default prompts - EventAgentMapping model: maps events to agents with enable/disable, auto-run, and custom prompt support - EventAutomationSettings: container with default mappings factory - Full settings UI: table with add/edit/remove, event/agent combo dialogs, "Load Defaults" button - Registered as "Event Automations (POC)" under DevoxxGenie settings This is a POC — the settings panel is fully functional but no actual IDE event listeners are wired yet. https://claude.ai/code/session_018rpBy4vkaYBD6t4aPq4tsQ
Comprehensive documentation covering: - Overview of event-trigger → agent-action architecture - All 18 supported IDE events organized by category - 8 built-in agents with descriptions and example outputs - Custom agent creation guide - Default automations table - Auto-run vs confirmation modes - MCP integration possibilities - Architecture overview and roadmap https://claude.ai/code/session_018rpBy4vkaYBD6t4aPq4tsQ
…tomations
Implements the missing context-passing layer for the event automation POC:
- EventContext: structured model carrying runtime data (content, files, metadata)
from IDE events to agent prompts
- PromptTemplateRenderer: resolves {{context}}, {{content}}, {{files}}, {{event}},
{{timestamp}}, {{meta.KEY}} variables in prompt templates; falls back to appending
the full context block when no variables are present
- EventAutomationService: central dispatch that checks enabled mappings, renders
prompts with context, and either auto-submits or shows a confirmation notification
- IDE event listeners: BuildCompilationListener (BUILD_FAILED/SUCCEEDED),
TestExecutionListener (TEST_FAILED/SUITE_PASSED), FileEventListener (FILE_OPENED),
FileSaveListener (FILE_SAVED), VcsCheckinHandlerFactory + VcsCommitListener
(BEFORE_COMMIT), ProcessExitListener (PROCESS_CRASHED)
- Updated AgentType default prompts to use {{context}}/{{files}}/{{meta.*}} variables
- Registered listeners in PostStartupActivity and plugin.xml
- Unit tests for EventContext and PromptTemplateRenderer
https://claude.ai/code/session_018rpBy4vkaYBD6t4aPq4tsQ
…tions
Add comprehensive documentation for the EventContext system that passes
rich context data to agents triggered by IDE events. Covers template
variables ({{context}}, {{content}}, {{files}}, {{event}}, {{timestamp}},
{{meta.KEY}}), per-event metadata reference tables, context block format,
example prompts, and fallback behavior. Also updates roadmap to reflect
that event listeners and context injection are now implemented.
https://claude.ai/code/session_018rpBy4vkaYBD6t4aPq4tsQ
- PostStartupActivity: use ExecutionManager.EXECUTION_TOPIC instead of non-existent ExecutionListener.EXECUTION_TOPIC - EventAutomationService: add missing third tabId argument to onPromptSubmitted() after PromptSubmissionListener signature change
P2: Remove 10 unsupported IdeEventType enum values (FILE_CREATED, METHOD_ADDED, GRADLE_SYNC, PROJECT_OPENED, etc.) and their corresponding AgentType entries (SCAFFOLDER, DEPENDENCY_CHECK, ONBOARDING) that had no backing listeners. Remove default mappings referencing them. P2: TestExecutionListener now overrides the project-aware testSuiteFinished(root, project) method instead of guessing the project via findActiveProject(), fixing incorrect project resolution in multi-project sessions. P2: VcsCommitListener now reads ContentRevision.getContent() to include actual before/after file content in the staged diff, enabling the code-review agent to perform line-level review as advertised.
- Rename (POC) to (BETA) in settings UI, plugin.xml, and docs - Add 'More Info' help link to settings panel via getHelpUrl() override - Rewrite Docusaurus page to reflect current supported events, agents, and default mappings; add settings screenshot; update Before Commit docs to describe staged diff content; add tool-window FAQ entry
- IdeEventTypeTest: validates enum values match wired listeners, checks display names/descriptions/categories to catch future drift - EventAutomationSettingsTest: validates default mappings only reference supported event and agent types, all disabled by default, boundary checks for add/remove/getMapping - Add backlog TASK-202 tracking the rebase and fixes
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
This PR introduces Event Automations, a feature that couples JetBrains IDE events (file open, file save, build failure, test failure, commit, process crash) with AI agent-triggered prompts. It was rebased onto master and promoted from POC to BETA after fixing substantive issues.
Changes
New Feature (from original branch)
EventAutomationServicedispatches IDE events to configured AI agentsPromptTemplateRenderersupports{{context}},{{content}},{{files}},{{event}},{{timestamp}},{{meta.KEY}}variablesBug Fixes (this PR)
IdeEventTypeenum values (FILE_CREATED,METHOD_ADDED,GRADLE_SYNC,PROJECT_OPENED, etc.) and 3AgentTypeentries (SCAFFOLDER,DEPENDENCY_CHECK,ONBOARDING) that had no backing listenersTestExecutionListenernow uses the project-awaretestSuiteFinished(root, project)overload instead of guessing via first open projectVcsCommitListenernow readsContentRevision.getContent()to include actual before/after file content, enabling line-level code reviewCompilation Fixes (rebase)
PostStartupActivity:ExecutionListener.EXECUTION_TOPIC→ExecutionManager.EXECUTION_TOPICEventAutomationService: Added missingtabIdparameter toonPromptSubmitted()Documentation & UI
Tests
IdeEventTypeTest: Validates enum values match wired listeners, catches future driftEventAutomationSettingsTest: Validates default mappings, agent/event type integrity, boundary checksTest Results
OpenRouterChatModelFactoryTest.testConvertAndScalePricefails only in full suite due to test ordering — passes in isolation, unrelated to this PR)