feat(plugin): Add JetBrains IDE plugin#117
Merged
Merged
Conversation
Owner
tab
commented
Apr 26, 2026
- Support service dashboard with tier grouping, timeline visualization, status indicators and real-time metrics
- Add plugin build and upload steps
- Add IDE plugins pages
There was a problem hiding this comment.
Pull request overview
Adds a JetBrains IDE plugin for fuku (tool window + status bar widget + run configuration), along with build/release automation and documentation pages for plugin installation and usage.
Changes:
- Introduce a JetBrains plugin implementation (services dashboard UI, log streaming, settings, status bar widget, run configuration).
- Add Gradle-based plugin build/lint automation via Make targets and GitHub Actions (CI checks + release asset upload).
- Add docs site “Plugins” section and JetBrains plugin documentation page.
Reviewed changes
Copilot reviewed 31 out of 33 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/jetbrains/src/main/resources/icons/fuku_dark.svg | Adds dark theme plugin icon asset. |
| plugins/jetbrains/src/main/resources/icons/fuku.svg | Adds light theme plugin icon asset. |
| plugins/jetbrains/src/main/resources/META-INF/plugin.xml | Declares plugin metadata, services, tool window, widget, run config, notifications. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/toolwindow/ToolWindowFactory.kt | Creates tool window tabs (services + logs) and binds log search shortcut. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/toolwindow/ServiceToolWindow.kt | Implements services dashboard UI, actions, keyboard shortcuts, filtering, notifications. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/toolwindow/ServiceTableModel.kt | Provides table model with tier grouping, filtering, and timeline sampling. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/toolwindow/ServiceTable.kt | Custom table renderers (status dot, timeline blocks, metrics formatting). |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/toolwindow/LogStreamClient.kt | Streams logs from Unix domain socket and prints into IDE console view. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/statusbar/StatusBarWidget.kt | Adds status bar widget reflecting fuku phase and service readiness. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/settings/SettingsConfigurable.kt | Adds IDE settings UI for API connection, polling, and binary path + test connection. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/settings/Settings.kt | Persists plugin settings via IntelliJ PersistentStateComponent. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/run/RunConfiguration.kt | Adds “fuku” run configuration type to run fuku with selected profile. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/run/ProcessHandler.kt | Manages a project-scoped fuku process + reads profiles from fuku YAML. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/api/Models.kt | Defines API models and enums for fuku REST responses. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/api/ApiClient.kt | Implements REST API client for status/services/actions with token support. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/PluginService.kt | Central app service polling fuku API and notifying listeners with PluginState. |
| plugins/jetbrains/src/main/kotlin/com/fuku/plugin/Icons.kt | Centralizes icon loading for tool window and actions. |
| plugins/jetbrains/settings.gradle.kts | Sets up Gradle plugin management and project name for the plugin build. |
| plugins/jetbrains/gradlew.bat | Adds Gradle wrapper script for Windows builds. |
| plugins/jetbrains/gradlew | Adds Gradle wrapper script for POSIX builds. |
| plugins/jetbrains/gradle/wrapper/gradle-wrapper.properties | Pins Gradle distribution for wrapper. |
| plugins/jetbrains/gradle.properties | Defines plugin/platform version properties. |
| plugins/jetbrains/build.gradle.kts | Configures Kotlin/IntelliJ platform plugin build + serialization + ktlint. |
| plugins/jetbrains/.gitignore | Ignores Gradle/IntelliJ build outputs for the plugin subproject. |
| docs/src/pages/plugins/jetbrains.astro | Adds JetBrains plugin documentation page (install, config, features). |
| docs/src/pages/plugins/index.astro | Adds Plugins landing page linking to JetBrains plugin. |
| docs/src/layouts/DocsLayout.astro | Extends section union type to include “plugins”. |
| docs/src/data/nav.ts | Adds plugins nav data generator. |
| docs/src/components/Header.astro | Adds “Plugins” to the main site header nav and updates section type. |
| README.md | Adds README link to JetBrains plugin docs page. |
| Makefile | Adds plugin build/lint/clean targets for local development. |
| .github/workflows/release.yaml | Adds plugin build + upload to GitHub release assets. |
| .github/workflows/checks.yaml | Adds plugin lint/build job to CI checks workflow. |
6bc232f to
f5b8b14
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #117 +/- ##
=======================================
Coverage 89.23% 89.23%
=======================================
Files 60 60
Lines 5650 5650
=======================================
Hits 5042 5042
+ Misses 481 480 -1
- Partials 127 128 +1 🚀 New features to boost your workflow:
|
Support service dashboard with tier grouping, timeline visualization, status indicators and real-time metrics
d2c751a to
42cabfb
Compare
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.