diff --git a/prism/Makefile b/prism/Makefile
index 780549e54..b089a90a9 100644
--- a/prism/Makefile
+++ b/prism/Makefile
@@ -718,4 +718,12 @@ clean_param: checks
clean_strat: checks
@(cd $(PRISM_SRC_DIR)/strat && $(MAKE) -s EXE="$(EXE)" clean)
+###############
+# IDE support #
+###############
+
+# Set up for IntelliJ IDEA
+intellij:
+ etc/intellij/install.sh
+
#################################################
diff --git a/prism/etc/intellij/PrismCL.xml b/prism/etc/intellij/PrismCL.xml
new file mode 100644
index 000000000..3ce16a5db
--- /dev/null
+++ b/prism/etc/intellij/PrismCL.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/prism/etc/intellij/install.sh b/prism/etc/intellij/install.sh
new file mode 100755
index 000000000..2840cdf01
--- /dev/null
+++ b/prism/etc/intellij/install.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+# Path logic
+SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
+PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
+
+# Check for force flag
+FORCE=false
+for arg in "$@"; do
+ if [ "$arg" == "--force" ] || [ "$arg" == "-f" ]; then
+ FORCE=true
+ fi
+done
+
+# Check for symlink flag
+SYMLINK=false
+for arg in "$@"; do
+ if [ "$arg" == "--symlink" ] || [ "$arg" == "-s" ]; then
+ SYMLINK=true
+ fi
+done
+
+copy_file() {
+ local src="$1"
+ local dest="$2"
+ local display_path=${dest#"$PROJECT_ROOT/"}
+ if [ -f "$dest" ] && [ "$FORCE" = false ]; then
+ echo "⚠️ Skipping $display_path (already exists). Use -f to overwrite."
+ else
+ if [ "$SYMLINK" = false ]; then
+ cp "$src" "$dest" && echo "✅ Installed $display_path"
+ else
+ rm "$dest" && ln -s "$src" "$dest" && echo "✅ Installed $display_path (symlink)"
+ fi
+ fi
+}
+
+echo "🚀 Setting up IntelliJ configuration for PRISM..."
+
+# Ensure directories exist
+mkdir -p "$PROJECT_ROOT/.idea/libraries"
+mkdir -p "$PROJECT_ROOT/.idea/runConfigurations"
+
+# Execute copies
+echo "Project root: $PROJECT_ROOT"
+copy_file "$SCRIPT_DIR/prism.iml" "$PROJECT_ROOT/prism.iml"
+copy_file "$SCRIPT_DIR/modules.xml" "$PROJECT_ROOT/.idea/modules.xml"
+copy_file "$SCRIPT_DIR/lib.xml" "$PROJECT_ROOT/.idea/libraries/lib.xml"
+copy_file "$SCRIPT_DIR/PrismCL.xml" "$PROJECT_ROOT/.idea/runConfigurations/PrismCL.xml"
+
+echo -e "Done. Now open the project in IntelliJ IDEA."
diff --git a/prism/etc/intellij/lib.xml b/prism/etc/intellij/lib.xml
new file mode 100644
index 000000000..a518fb86f
--- /dev/null
+++ b/prism/etc/intellij/lib.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/prism/etc/intellij/modules.xml b/prism/etc/intellij/modules.xml
new file mode 100644
index 000000000..6f011765a
--- /dev/null
+++ b/prism/etc/intellij/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/prism/etc/intellij/prism.iml b/prism/etc/intellij/prism.iml
new file mode 100644
index 000000000..570679c5f
--- /dev/null
+++ b/prism/etc/intellij/prism.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file