diff --git a/README.md b/README.md
index f1372ea..f70c4a6 100644
--- a/README.md
+++ b/README.md
@@ -197,8 +197,8 @@
 ![Experimental](https://img.shields.io/badge/status-experimental-orange)
 
 The annotation helper hints can be configured at runtime via configuration
-file or environment variable. The default foundries are: `base`, `corenlp`,
-`dereko`, `malt`, `marmot`, `opennlp`, `spacy`, `treetagger`. Additionally available is `ud` (udpipe).
+file or environment variable. By default all available foundries are offered: `base`, `corenlp`,
+`dereko`, `malt`, `marmot`, `opennlp`, `spacy`, `tt`, `ud`.
 
 To **exclude** specific foundries from the defaults, prefix them with `-`:
 
diff --git a/dev/js/src/default.js b/dev/js/src/default.js
index 39d211e..a453ed7 100644
--- a/dev/js/src/default.js
+++ b/dev/js/src/default.js
@@ -11,5 +11,6 @@
   "hint/foundries/marmot",
   "hint/foundries/opennlp",
   "hint/foundries/spacy",
-  "hint/foundries/treetagger"
+  "hint/foundries/treetagger",
+  "hint/foundries/ud"
 ]);
diff --git a/dev/js/src/hint/foundries.js b/dev/js/src/hint/foundries.js
index 053954e..d1aabe7 100644
--- a/dev/js/src/hint/foundries.js
+++ b/dev/js/src/hint/foundries.js
@@ -84,7 +84,8 @@
    * Filter available foundries based on configuration.
    * Reads from data-hint-foundries attribute on body element.
    * Each foundry module pushes entries like ["Name", "prefix/", "Description"]
-   * to ah["-"]. The prefix (e.g., "corenlp/") is matched against enabled list.
+   * to ah["-"]. The prefix (e.g., "corenlp/", "base/s=", "tt/") is matched
+   * against the enabled list by extracting the foundry name (part before /).
    */
   ah.filterByConfig = function () {
     const body = document.body;
@@ -97,12 +98,12 @@
     if (enabledFoundries.length === 0) return;
 
     // Filter the root foundry list ah["-"]
-    // Each entry is ["Name", "prefix/", "Description"]
-    // Match prefix (without trailing /) against enabled list
+    // Each entry is ["Name", "prefix/...", "Description"]
+    // Extract foundry name from prefix: "corenlp/" -> "corenlp", "base/s=" -> "base", "tt/" -> "tt"
     this["-"] = this["-"].filter(entry => {
       if (!entry || !entry[1]) return false;
-      // Extract foundry name from prefix like "corenlp/" -> "corenlp"
-      const foundryName = entry[1].replace(/\/$/, '').toLowerCase();
+      // Extract foundry name as the part before the first '/'
+      const foundryName = entry[1].split('/')[0].toLowerCase();
       return enabledFoundries.includes(foundryName);
     });
   };
diff --git a/kalamar.conf b/kalamar.conf
index 4cffecb..4682c0a 100644
--- a/kalamar.conf
+++ b/kalamar.conf
@@ -84,6 +84,6 @@
     ## Can also be set via KALAMAR_HINT_FOUNDRIES environment variable.
     ## Use '-foundry' to exclude from defaults, e.g. ['-spacy', '-corenlp']
     # hint_foundries => ['base', 'corenlp', 'dereko', 'malt',
-    #                    'marmot', 'opennlp', 'spacy', 'treetagger']
+    #                    'marmot', 'opennlp', 'spacy', 'tt']
   }
 }
diff --git a/lib/Kalamar.pm b/lib/Kalamar.pm
index 89c8a16..b4186b2 100644
--- a/lib/Kalamar.pm
+++ b/lib/Kalamar.pm
@@ -344,7 +344,7 @@
   # Items starting with '-' exclude that foundry from defaults (e.g., '-spacy')
   # If only exclusions are specified, they're removed from defaults
   # If any positive items exist, they replace the defaults entirely
-  my @default_foundries = qw(base corenlp dereko malt marmot opennlp spacy treetagger);
+  my @default_foundries = qw(base corenlp dereko malt marmot opennlp spacy tt);
   my $hint_foundries;
   my $config_foundries;
   
