diff --git a/.idea/modules.xml b/.idea/modules.xml
index 2d709c2ea318..90677a110f04 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -533,6 +533,7 @@
+
diff --git a/BUILD.bazel b/BUILD.bazel
index 892259d1dd80..2e73f56e402a 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -286,6 +286,7 @@ jvm_library(
"//plugins/maven/maven36-server-impl:server-m36-impl",
"//plugins/maven/maven40-server-impl:server-m40",
"//plugins/mcp-server:mcpserver",
+ "//plugins/jshell",
]
)
@@ -564,6 +565,7 @@ jvm_library(
"//plugins/maven/maven36-server-impl:server-m36-impl",
"//plugins/maven/maven40-server-impl:server-m40",
"//plugins/mcp-server:mcpserver",
+ "//plugins/jshell",
]
)
### auto-generated section `build intellij.idea.community.main` end
diff --git a/build/bazel-generated-file-list.txt b/build/bazel-generated-file-list.txt
index 8d7a31b078a9..58a269536da5 100644
--- a/build/bazel-generated-file-list.txt
+++ b/build/bazel-generated-file-list.txt
@@ -873,6 +873,7 @@ plugins/javaFX/common
plugins/javaFX/community
plugins/javaFX/jps
plugins/javaFX/sceneBuilder
+plugins/jshell
plugins/jsonpath
plugins/junit
plugins/junit/groovy-tests
diff --git a/intellij.idea.community.main.iml b/intellij.idea.community.main.iml
index 27213f321a6a..26d58f88a946 100644
--- a/intellij.idea.community.main.iml
+++ b/intellij.idea.community.main.iml
@@ -257,5 +257,6 @@
+
\ No newline at end of file
diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt
index 823a5bdffcd8..29f6d9d0ad90 100644
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/BaseIdeaProperties.kt
@@ -62,6 +62,7 @@ val IDEA_BUNDLED_PLUGINS: PersistentList = DEFAULT_BUNDLED_PLUGINS + seq
"intellij.performanceTesting",
"intellij.compose.ide.plugin",
"intellij.findUsagesMl",
+ "intellij.java.jshell"
)
val CE_CLASS_VERSIONS: Map = mapOf(
diff --git a/plugins/jshell/BUILD.bazel b/plugins/jshell/BUILD.bazel
new file mode 100644
index 000000000000..7007aecc0fc3
--- /dev/null
+++ b/plugins/jshell/BUILD.bazel
@@ -0,0 +1,18 @@
+### auto-generated section `build intellij.java.jshell` start
+load("@rules_jvm//:jvm.bzl", "jvm_library", "jvm_resources")
+
+jvm_resources(
+ name = "jshell_resources",
+ files = glob(["resources/**/*"]),
+ strip_prefix = "resources"
+)
+
+jvm_library(
+ name = "jshell",
+ module_name = "intellij.java.jshell",
+ visibility = ["//visibility:public"],
+ srcs = glob(["src/**/*.kt", "src/**/*.java", "src/**/*.form"], allow_empty = True),
+ deps = ["@lib//:kotlin-stdlib"],
+ runtime_deps = [":jshell_resources"]
+)
+### auto-generated section `build intellij.java.jshell` end
\ No newline at end of file
diff --git a/plugins/jshell/intellij.java.jshell.iml b/plugins/jshell/intellij.java.jshell.iml
new file mode 100644
index 000000000000..40c7649cf931
--- /dev/null
+++ b/plugins/jshell/intellij.java.jshell.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/jshell/plugin-content.yaml b/plugins/jshell/plugin-content.yaml
new file mode 100644
index 000000000000..437a6d181825
--- /dev/null
+++ b/plugins/jshell/plugin-content.yaml
@@ -0,0 +1,3 @@
+- name: lib/java-jshell.jar
+ modules:
+ - name: intellij.java.jshell
\ No newline at end of file
diff --git a/plugins/jshell/resources/META-INF/plugin.xml b/plugins/jshell/resources/META-INF/plugin.xml
new file mode 100644
index 000000000000..48c876a80b57
--- /dev/null
+++ b/plugins/jshell/resources/META-INF/plugin.xml
@@ -0,0 +1,18 @@
+
+ intellij.java.jshell
+ JShell
+ JVM Tools
+ JetBrains
+
+
+
+
+
+
+
+ Provides an interactive Java Shell (JShell) console for quick prototyping and testing of Java code directly within the IDE.
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/jshell/resources/META-INF/pluginIcon.svg b/plugins/jshell/resources/META-INF/pluginIcon.svg
new file mode 100644
index 000000000000..6484d424b653
--- /dev/null
+++ b/plugins/jshell/resources/META-INF/pluginIcon.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/plugins/jshell/src/com/intellij/java/jshell/EmptyClass.java b/plugins/jshell/src/com/intellij/java/jshell/EmptyClass.java
new file mode 100644
index 000000000000..05169a9fbc3f
--- /dev/null
+++ b/plugins/jshell/src/com/intellij/java/jshell/EmptyClass.java
@@ -0,0 +1,6 @@
+// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.java.jshell;
+
+// TODO Delete after full migration of modules
+public class EmptyClass {
+}