diff --git a/README.md b/README.md
index c400ed19e7b..c94a7f3fd23 100644
--- a/README.md
+++ b/README.md
@@ -47,6 +47,13 @@ in `debug/org.eclipse.cdt.debug.application.product`
Using any of the above profiles can skip large sets of tests. The CI build uses this to parallelize tests. See https://ci.eclipse.org/cdt/view/Gerrit/
+#### terminal-only
+
+The terminal directory has a special profile that enables only the terminal and its dependencies when used. The allows
+running maven like this `mvn -f terminal/pom.xml verify -P only-terminal` to build and test only the terminal
+and its dependencies. A special terminal only p2 site is created in `terminal/repo/target/repository`. The CI build
+uses this to speedup turnaround on changes only affecting the terminal. See https://ci.eclipse.org/cdt/view/Gerrit/
+
#### baseline-compare-and-replace
`baseline-compare-and-replace` profile controls whether baseline replace and compare
diff --git a/terminal/pom.xml b/terminal/pom.xml
index 79e5b6599b5..c0fe4cf64a9 100644
--- a/terminal/pom.xml
+++ b/terminal/pom.xml
@@ -28,4 +28,24 @@
plugins
features
+
+
+
+ only-terminal
+
+ repo
+ ../releng/org.eclipse.cdt.target
+ ../core/org.eclipse.cdt.core.linux
+ ../core/org.eclipse.cdt.core.linux.aarch64
+ ../core/org.eclipse.cdt.core.linux.ppc64le
+ ../core/org.eclipse.cdt.core.linux.x86_64
+ ../core/org.eclipse.cdt.core.macosx
+ ../core/org.eclipse.cdt.core.native
+ ../core/org.eclipse.cdt.core.win32
+ ../core/org.eclipse.cdt.core.win32.x86_64
+ ../native/org.eclipse.cdt.native.serial
+ ../releng/org.eclipse.cdt.native-feature
+
+
+
\ No newline at end of file
diff --git a/terminal/repo/.project b/terminal/repo/.project
new file mode 100644
index 00000000000..6196b7e80b2
--- /dev/null
+++ b/terminal/repo/.project
@@ -0,0 +1,11 @@
+
+
+ org.eclipse.cdt.terminal.repo
+
+
+
+
+
+
+
+
diff --git a/terminal/repo/.settings/org.eclipse.core.resources.prefs b/terminal/repo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/terminal/repo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/terminal/repo/README.md b/terminal/repo/README.md
new file mode 100644
index 00000000000..d3d6e393f77
--- /dev/null
+++ b/terminal/repo/README.md
@@ -0,0 +1 @@
+The repo is only used when the "only-terminal" profile is activated. See root [README.md](../README.md) for more details.
\ No newline at end of file
diff --git a/terminal/repo/category.xml b/terminal/repo/category.xml
new file mode 100644
index 00000000000..4cfc77e9f40
--- /dev/null
+++ b/terminal/repo/category.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TM Terminal Features
+
+
+
+
+ TM Terminal SDK Features
+
+
+
diff --git a/terminal/repo/pom.xml b/terminal/repo/pom.xml
new file mode 100644
index 00000000000..cd38a6c19f5
--- /dev/null
+++ b/terminal/repo/pom.xml
@@ -0,0 +1,31 @@
+
+
+
+ 4.0.0
+
+
+ org.eclipse.cdt
+ cdt-parent
+ 10.3.0-SNAPSHOT
+ ../../pom.xml
+
+
+ 8.2.0-SNAPSHOT
+ org.eclipse.cdt.terminal.repo
+ eclipse-repository
+
+
+ ${project.artifactId}
+
+