This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git
The following commit(s) were added to refs/heads/main by this push:
new 4bfcc51e chore: register Camel Kit documentation and update blog links
(#1846)
4bfcc51e is described below
commit 4bfcc51ec7a049ece4193cd464f499392f3d26bf
Author: Luigi De Masi <[email protected]>
AuthorDate: Mon Nov 2 07:18:55 2026 +0100
chore: register Camel Kit documentation and update blog links (#1846)
* chore: register the Camel Kit documentation as a sub-project
Camel Kit was donated to Apache Camel on 2026-10-21 and lives at
apache/camel-kit; its documentation is an Antora component in that
repository (docs/antora.yml, docs/modules/ROOT, version next with
prerelease: true, like Camel Quarkus main). Register it the way Camel Karaf
is registered: the playbook snippet sources apache/camel-kit main with start
path docs; projects.yaml, docs-projects.yaml, the footer Documentation
column, the AI tools entry on the tooling page, the sitemap, the
contributing
and building lists and the llms.txt template get a Camel Kit entry; and
/camel-kit/ joins the sub-projects excluded from the main search, with its
test. Every link uses /camel-kit/next/: the component has only the
prerelease version next, which Antora also treats as the latest one and
serves through a redirect from /camel-kit/latest, so the explicit segment
is the one linked. The home page
gets a Camel Kit tile in the projects section, after Camel Karavan.
The UI bundle is regenerated for the search exclusion and the new project
icon img/camel-kit.svg, a 128 px raster of the logo wrapped in SVG because
the card layouts load img/<icon>.svg (site.js hash, the icon and the
manifests that carry them).
Checked locally: the data files and the snippet parse; the docsearch test
passes; an Antora build with this exact source entry, fetching
apache/camel-kit main, renders the 27 pages with no warnings at failure
level
warn; the Hugo build test passes and the projects, docs, tooling, sitemap,
contributing and building pages show the new entries.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
* chore: show the project icons next to the titles on the home page
The "What else Camel gives you" tiles rendered a 34 px icon above the
title, too small for detailed marks such as the Camel Kit logo. Put the
icon on the same line as the title at 48 px; the tile text is unchanged.
The UI bundle is regenerated for the stylesheet change.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
* chore: point the Camel TUI blog post at the Camel Kit pages on this site
Camel Kit is an Apache Camel subproject now, documented at /camel-kit/next/
and developed at apache/camel-kit (which also hosts Camel Kit Knowledge).
Replace the links to the former standalone site and personal repositories
accordingly; the text and the released Maven coordinate are unchanged.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
---------
Co-authored-by: Claude Fable 5.1 <[email protected]>
---
antora-playbook-snippets/antora-playbook.yml | 5 +++++
.../_/css/{site-fcc1ff1ab1.css => site-30351b85a4.css} | 2 +-
antora-ui-camel/public/_/data/rev-manifest.json | 5 +++--
antora-ui-camel/public/_/helpers/asset.js | 5 +++--
antora-ui-camel/public/_/img/camel-kit-9c8f16c70f.svg | 1 +
.../public/_/js/{site-2aad2f7ea4.js => site-1fe1b00373.js} | 2 +-
antora-ui-camel/public/_/partials/footer-scripts.hbs | 2 +-
antora-ui-camel/public/_/partials/head-styles.hbs | 2 +-
antora-ui-camel/public/_/rev-manifest | 5 +++--
antora-ui-camel/src/css/frontpage.css | 13 ++++++++++---
antora-ui-camel/src/img/camel-kit.svg | 1 +
antora-ui-camel/src/js/08-docsearch.js | 1 +
antora-ui-camel/test/docsearch-config-test.js | 1 +
content/blog/2026/09/camel-tui-byoa/index.md | 12 ++++++------
content/community/contributing.md | 1 +
content/docs/building.md | 1 +
data/chrome.yaml | 1 +
data/docs-projects.yaml | 8 ++++++++
data/home.yaml | 7 +++++++
data/projects.yaml | 6 ++++++
data/tooling.yaml | 10 ++++++----
layouts/index.html | 8 +++++---
layouts/sitemap/sitemap.html | 1 +
llms-txt-template.md | 1 +
24 files changed, 75 insertions(+), 26 deletions(-)
diff --git a/antora-playbook-snippets/antora-playbook.yml
b/antora-playbook-snippets/antora-playbook.yml
index f2b3f4ad..8018916f 100644
--- a/antora-playbook-snippets/antora-playbook.yml
+++ b/antora-playbook-snippets/antora-playbook.yml
@@ -75,6 +75,11 @@ content:
- main
start_path: docs
+ - url: https://github.com/apache/camel-kit.git
+ branches:
+ - main
+ start_path: docs
+
ui:
bundle:
url: ./antora-ui-camel/public/_
diff --git a/antora-ui-camel/public/_/css/site-fcc1ff1ab1.css
b/antora-ui-camel/public/_/css/site-30351b85a4.css
similarity index 62%
rename from antora-ui-camel/public/_/css/site-fcc1ff1ab1.css
rename to antora-ui-camel/public/_/css/site-30351b85a4.css
index e239e33e..21fa2d89 100644
--- a/antora-ui-camel/public/_/css/site-fcc1ff1ab1.css
+++ b/antora-ui-camel/public/_/css/site-30351b85a4.css
@@ -20,4 +20,4 @@
.line and .cl (line wrappers), and .err (a lexer hiccup is not worth a
color). .go, generic command output, is content the reader needs rather
than chrome, so it stays at the base color too. */}@layer content{@media
screen and (width >= 1025px){.doc{font-size:.88889rem;margin:0
2rem;max-width:none;min-width:0}}.doc h1,.doc h2,.doc h3,.doc h4,.doc h5,.doc
h6{color:#211c17;font-weight:700;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.3;margin:1rem
0
0}.doc>h1.page,.static>h1:first-child{font-size:2.33333rem;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:.55556rem
0 0}.doc>h1.page img{width:2r [...]
-/*! Asciidoctor Tabs | Copyright (c) 2018-present Dan Allen | MIT License
*/.tablist>ul li:focus-visible{outline:none}.tablist.ulist,.tablist.ulist>ul
li{margin:0}.tablist.ulist>ul li+li{margin-left:.25em}.tabs.is-loading .tablist
li:not(:first-child),.tabs:not(.is-loading) .tablist
li:not(.is-selected){background-color:#f5f5f5}.tabs.is-loading .tablist
li:first-child::after,.tabs:not(.is-loading) .tablist
li.is-selected::after{background-color:inherit;content:"";display:block;height:3px
[...]
\ No newline at end of file
+/*! Asciidoctor Tabs | Copyright (c) 2018-present Dan Allen | MIT License
*/.tablist>ul li:focus-visible{outline:none}.tablist.ulist,.tablist.ulist>ul
li{margin:0}.tablist.ulist>ul li+li{margin-left:.25em}.tabs.is-loading .tablist
li:not(:first-child),.tabs:not(.is-loading) .tablist
li:not(.is-selected){background-color:#f5f5f5}.tabs.is-loading .tablist
li:first-child::after,.tabs:not(.is-loading) .tablist
li.is-selected::after{background-color:inherit;content:"";display:block;height:3px
[...]
\ No newline at end of file
diff --git a/antora-ui-camel/public/_/data/rev-manifest.json
b/antora-ui-camel/public/_/data/rev-manifest.json
index 300f1b54..a39150fe 100644
--- a/antora-ui-camel/public/_/data/rev-manifest.json
+++ b/antora-ui-camel/public/_/data/rev-manifest.json
@@ -1,5 +1,5 @@
{
- "css/site.css": "css/site-fcc1ff1ab1.css",
+ "css/site.css": "css/site-30351b85a4.css",
"css/vendor/docsearch.css": "css/vendor/docsearch-5db8a73adb.css",
"img/algolia.svg": "img/algolia-f4ab98e0de.svg",
"img/apache-kafka.svg": "img/apache-kafka-88809b7472.svg",
@@ -9,6 +9,7 @@
"img/brand-logos.svg": "img/brand-logos-a2b35bbdec.svg",
"img/bugfix.svg": "img/bugfix-4280bf9490.svg",
"img/calendar.svg": "img/calendar-b4b3ab1bf7.svg",
+ "img/camel-kit.svg": "img/camel-kit-9c8f16c70f.svg",
"img/caret.svg": "img/caret-8823676a4b.svg",
"img/chevron.svg": "img/chevron-63cb534773.svg",
"img/cli.svg": "img/cli-9cede0128a.svg",
@@ -33,7 +34,7 @@
"img/spring-boot.svg": "img/spring-boot-0a7cb95564.svg",
"img/tooling.svg": "img/tooling-e94e534b2d.svg",
"img/user-stories.svg": "img/user-stories-cccc5f7c8f.svg",
- "js/site.js": "js/site-2aad2f7ea4.js",
+ "js/site.js": "js/site-1fe1b00373.js",
"js/vendor/docsearch.js": "js/vendor/docsearch-5c0cf4ef3a.js",
"js/vendor/highlight.js": "js/vendor/highlight-34ee5f32ef.js",
"js/vendor/svg4everybody.js": "js/vendor/svg4everybody-8ce71b89ac.js",
diff --git a/antora-ui-camel/public/_/helpers/asset.js
b/antora-ui-camel/public/_/helpers/asset.js
index 8d892cb3..2dca7242 100644
--- a/antora-ui-camel/public/_/helpers/asset.js
+++ b/antora-ui-camel/public/_/helpers/asset.js
@@ -1,7 +1,7 @@
'use strict'
const manifest = {
- "css/site.css": "css/site-fcc1ff1ab1.css",
+ "css/site.css": "css/site-30351b85a4.css",
"css/vendor/docsearch.css": "css/vendor/docsearch-5db8a73adb.css",
"img/algolia.svg": "img/algolia-f4ab98e0de.svg",
"img/apache-kafka.svg": "img/apache-kafka-88809b7472.svg",
@@ -11,6 +11,7 @@ const manifest = {
"img/brand-logos.svg": "img/brand-logos-a2b35bbdec.svg",
"img/bugfix.svg": "img/bugfix-4280bf9490.svg",
"img/calendar.svg": "img/calendar-b4b3ab1bf7.svg",
+ "img/camel-kit.svg": "img/camel-kit-9c8f16c70f.svg",
"img/caret.svg": "img/caret-8823676a4b.svg",
"img/chevron.svg": "img/chevron-63cb534773.svg",
"img/cli.svg": "img/cli-9cede0128a.svg",
@@ -35,7 +36,7 @@ const manifest = {
"img/spring-boot.svg": "img/spring-boot-0a7cb95564.svg",
"img/tooling.svg": "img/tooling-e94e534b2d.svg",
"img/user-stories.svg": "img/user-stories-cccc5f7c8f.svg",
- "js/site.js": "js/site-2aad2f7ea4.js",
+ "js/site.js": "js/site-1fe1b00373.js",
"js/vendor/docsearch.js": "js/vendor/docsearch-5c0cf4ef3a.js",
"js/vendor/highlight.js": "js/vendor/highlight-34ee5f32ef.js",
"js/vendor/svg4everybody.js": "js/vendor/svg4everybody-8ce71b89ac.js",
diff --git a/antora-ui-camel/public/_/img/camel-kit-9c8f16c70f.svg
b/antora-ui-camel/public/_/img/camel-kit-9c8f16c70f.svg
new file mode 100644
index 00000000..55b483f9
--- /dev/null
+++ b/antora-ui-camel/public/_/img/camel-kit-9c8f16c70f.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128"
height="128"><title>Camel Kit</title><image width="128" height="128"
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAADAFBMVEXjnl/qpZcXZ9uYsNv1XTEqZZ5dm+JSZ461agCpm2Tj39xnlq2iKgCinKjvLij/YAABMpZfHAAwKABkGy+fIx6jcl25nC+rw9z/qwDPx5ZCPkRtSgBKfMnpLgD+aknTucYaNDwAHmQ+gshdUAhddH2FTSG2kQD/zAD/8SD/8XEAAAAFAgUrCAWmAyYzFQf4Nwj6FAn5CwtKGQhrKAf7RgYNFy371RePOAb4hwatRwb2dgRTJQf5qAP4yA/RZw4VFA/JWAf7xlD71
[...]
\ No newline at end of file
diff --git a/antora-ui-camel/public/_/js/site-2aad2f7ea4.js
b/antora-ui-camel/public/_/js/site-1fe1b00373.js
similarity index 91%
rename from antora-ui-camel/public/_/js/site-2aad2f7ea4.js
rename to antora-ui-camel/public/_/js/site-1fe1b00373.js
index 0358312b..23cd94b3 100644
--- a/antora-ui-camel/public/_/js/site-2aad2f7ea4.js
+++ b/antora-ui-camel/public/_/js/site-1fe1b00373.js
@@ -5,7 +5,7 @@
document.addEventListener("DOMContentLoaded",function(){var
t=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);0!==t.length&&(t.forEach(function(t){var
e=document.getElementById(t.dataset.target);if(e){t.setAttribute("aria-controls",t.dataset.target),t.setAttribute("aria-expanded","false");var
a=function(a){t.classList.toggle("is-active",a),e.classList.toggle("is-active",a),document.documentElement.classList.toggle("is-clipped--navbar",a),t.setAttribute("aria-exp
[...]
!function(){"use strict";var e=/^\$ (\S[^\\\n]*(\\\n(?!\$
)[^\\\n]*)*)(?=\n|$)/gm,t=/( ) *\\\n *|\\\n( ?) */g,a=/
+$/gm,n=window.navigator.clipboard;function i(n){var
i=n.innerText.replace(a,"");"console"===n.dataset.lang&&i.startsWith("$
")&&(i=function(a){for(var
n,i=[];n=e.exec(a);)i.push(n[1].replace(t,"$1$2"));return i.join(" &&
")}(i)),window.navigator.clipboard.writeText(i).then(function(){this.classList.add("clicked"),setTimeout(function(){this.classList.remove("clicked")}.bind(t
[...]
!function(){"use strict";var e=document.querySelectorAll(".blog .post-content
img:not(.featured)");if(e.length){var
t=document.createElement("div");t.className="image-zoom-overlay",document.body.appendChild(t),[].slice.call(e).forEach(function(e){e.addEventListener("click",function(e){e.stopPropagation();var
o=this.cloneNode(!0);o.classList.remove("zoomed"),t.innerHTML="",t.appendChild(o),t.classList.add("active"),o.addEventListener("click",function(e){e.stopPropagation(),n()})})}),t.add
[...]
-!function(){"use strict";var
n=["/camel-k/","/camel-quarkus/","/camel-spring-boot/","/camel-kafka-connector/","/camel-kamelets/","/camel-karaf/"],e=["/manual/","/user-guide/","/architecture/","/getting-started/","/faq/"];function
r(n,e){return!!n&&e.some(function(e){return-1!==n.indexOf(e)})}function
t(n){return r(n,e)}function c(n){return!!n&&-1!==n.indexOf("/components/")}var
a=["lvl6","lvl5","lvl4","lvl3","lvl2","lvl1","lvl0"];document.addEventListener("DOMContentLoaded",function(){wi
[...]
+!function(){"use strict";var
n=["/camel-k/","/camel-quarkus/","/camel-spring-boot/","/camel-kafka-connector/","/camel-kamelets/","/camel-karaf/","/camel-kit/"],e=["/manual/","/user-guide/","/architecture/","/getting-started/","/faq/"];function
r(n,e){return!!n&&e.some(function(e){return-1!==n.indexOf(e)})}function
t(n){return r(n,e)}function c(n){return!!n&&-1!==n.indexOf("/components/")}var
a=["lvl6","lvl5","lvl4","lvl3","lvl2","lvl1","lvl0"];document.addEventListener("DOMContentLoaded"
[...]
!function(){"use strict";[].slice.call(document.querySelectorAll('.home
[role="tablist"]')).forEach(function(e){var
t=[].slice.call(e.querySelectorAll('[role="tab"]')),n=function(e,n){t.forEach(function(t){var
n=t===e;t.setAttribute("aria-selected",n?"true":"false"),t.setAttribute("tabindex",n?"0":"-1");var
o=document.getElementById(t.getAttribute("aria-controls"));o&&(o.hidden=!n)}),n&&e.focus()};t.forEach(function(e,o){e.addEventListener("click",function(){n(e,!1)}),e.addEventListener(
[...]
!function(){"use strict";var e=[].slice.call(document.querySelectorAll("body >
footer .footer-column > dt"));if(0!==e.length){var
t=function(e){if(!e.querySelector(".footer-column-toggle")){var
t=document.createElement("button");for(t.type="button",t.className="footer-column-toggle",t.setAttribute("aria-expanded","false");e.firstChild;)t.appendChild(e.firstChild);t.addEventListener("click",function(){!function(e){e.setAttribute("aria-expanded","true"===e.getAttribute("aria-expanded")?"fa
[...]
!function(){"use strict";var
e=/([.,/:_])/,t=/([a-z0-9])(?=[A-Z])/g,n=/[a-z0-9][A-Z]|\S[.,/:_]\S/,c=function(c){var
o=c.nodeValue;if(new RegExp("[^\\s]{5,}").test(o)){var
r=document.createDocumentFragment(),a=!1;o.split(/(\s+)/).forEach(function(c){if(c.length>=5&&n.test(c)){var
o=document.createElement("span");o.className="identifier",c.length>=12?function(n,c){n.split(e).forEach(function(n){if(n)return
e.test(n)&&1===n.length?(c.appendChild(document.createTextNode(n)),void
c.appendChil [...]
\ No newline at end of file
diff --git a/antora-ui-camel/public/_/partials/footer-scripts.hbs
b/antora-ui-camel/public/_/partials/footer-scripts.hbs
index 57237f04..c371a608 100644
--- a/antora-ui-camel/public/_/partials/footer-scripts.hbs
+++ b/antora-ui-camel/public/_/partials/footer-scripts.hbs
@@ -1,5 +1,5 @@
<script src="{{uiRootPath}}/js/vendor/docsearch-5c0cf4ef3a.js"></script>
-<script src="{{uiRootPath}}/js/site-2aad2f7ea4.js"></script>
+<script src="{{uiRootPath}}/js/site-1fe1b00373.js"></script>
<script async src="{{uiRootPath}}/js/vendor/highlight-34ee5f32ef.js"></script>
<script async
src="{{uiRootPath}}/js/vendor/svg4everybody-8ce71b89ac.js"></script>
<script async src="{{{uiRootPath}}}/js/vendor/tabs-3496628f2d.js"
data-sync-storage-key="preferred-tab"></script>
diff --git a/antora-ui-camel/public/_/partials/head-styles.hbs
b/antora-ui-camel/public/_/partials/head-styles.hbs
index 5350adc7..59ae8315 100644
--- a/antora-ui-camel/public/_/partials/head-styles.hbs
+++ b/antora-ui-camel/public/_/partials/head-styles.hbs
@@ -1,5 +1,5 @@
<link rel="stylesheet"
href="{{uiRootPath}}/css/vendor/docsearch-5db8a73adb.css">
- <link rel="stylesheet" href="{{uiRootPath}}/css/site-fcc1ff1ab1.css">
+ <link rel="stylesheet" href="{{uiRootPath}}/css/site-30351b85a4.css">
{{!-- NOTE the asciinema partials are injected into the UI catalog by
@springio/antora-extensions at Antora build time, so they only exist
during a site build.
Guarding on the page attribute the extension sets keeps the assets off
pages with no cast,
diff --git a/antora-ui-camel/public/_/rev-manifest
b/antora-ui-camel/public/_/rev-manifest
index 300f1b54..a39150fe 100644
--- a/antora-ui-camel/public/_/rev-manifest
+++ b/antora-ui-camel/public/_/rev-manifest
@@ -1,5 +1,5 @@
{
- "css/site.css": "css/site-fcc1ff1ab1.css",
+ "css/site.css": "css/site-30351b85a4.css",
"css/vendor/docsearch.css": "css/vendor/docsearch-5db8a73adb.css",
"img/algolia.svg": "img/algolia-f4ab98e0de.svg",
"img/apache-kafka.svg": "img/apache-kafka-88809b7472.svg",
@@ -9,6 +9,7 @@
"img/brand-logos.svg": "img/brand-logos-a2b35bbdec.svg",
"img/bugfix.svg": "img/bugfix-4280bf9490.svg",
"img/calendar.svg": "img/calendar-b4b3ab1bf7.svg",
+ "img/camel-kit.svg": "img/camel-kit-9c8f16c70f.svg",
"img/caret.svg": "img/caret-8823676a4b.svg",
"img/chevron.svg": "img/chevron-63cb534773.svg",
"img/cli.svg": "img/cli-9cede0128a.svg",
@@ -33,7 +34,7 @@
"img/spring-boot.svg": "img/spring-boot-0a7cb95564.svg",
"img/tooling.svg": "img/tooling-e94e534b2d.svg",
"img/user-stories.svg": "img/user-stories-cccc5f7c8f.svg",
- "js/site.js": "js/site-2aad2f7ea4.js",
+ "js/site.js": "js/site-1fe1b00373.js",
"js/vendor/docsearch.js": "js/vendor/docsearch-5c0cf4ef3a.js",
"js/vendor/highlight.js": "js/vendor/highlight-34ee5f32ef.js",
"js/vendor/svg4everybody.js": "js/vendor/svg4everybody-8ce71b89ac.js",
diff --git a/antora-ui-camel/src/css/frontpage.css
b/antora-ui-camel/src/css/frontpage.css
index 9d6f2fd7..7830d912 100644
--- a/antora-ui-camel/src/css/frontpage.css
+++ b/antora-ui-camel/src/css/frontpage.css
@@ -664,11 +664,18 @@ a.button.ink:hover {
padding: calc(24 / var(--rem-base) * 1rem);
}
+.home-tile-head {
+ align-items: center;
+ display: flex;
+ gap: calc(14 / var(--rem-base) * 1rem);
+}
+
.home-tile-icon {
display: block;
- height: calc(34 / var(--rem-base) * 1rem);
+ flex: none;
+ height: calc(48 / var(--rem-base) * 1rem);
object-fit: contain;
- width: calc(34 / var(--rem-base) * 1rem);
+ width: calc(48 / var(--rem-base) * 1rem);
}
.home-tile h3 {
@@ -676,7 +683,7 @@ a.button.ink:hover {
font-family: var(--display-font-family);
font-size: calc(17 / var(--rem-base) * 1rem);
font-weight: 700;
- margin: calc(16 / var(--rem-base) * 1rem) 0 0;
+ margin: 0;
}
.home-tile p {
diff --git a/antora-ui-camel/src/img/camel-kit.svg
b/antora-ui-camel/src/img/camel-kit.svg
new file mode 100644
index 00000000..545fce8c
--- /dev/null
+++ b/antora-ui-camel/src/img/camel-kit.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128"
height="128"><title>Camel Kit</title><image width="128" height="128"
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAADAFBMVEXjnl/qpZcXZ9uYsNv1XTEqZZ5dm+JSZ461agCpm2Tj39xnlq2iKgCinKjvLij/YAABMpZfHAAwKABkGy+fIx6jcl25nC+rw9z/qwDPx5ZCPkRtSgBKfMnpLgD+aknTucYaNDwAHmQ+gshdUAhddH2FTSG2kQD/zAD/8SD/8XEAAAAFAgUrCAWmAyYzFQf4Nwj6FAn5CwtKGQhrKAf7RgYNFy371RePOAb4hwatRwb2dgRTJQf5qAP4yA/RZw4VFA/JWAf7xlD71
[...]
diff --git a/antora-ui-camel/src/js/08-docsearch.js
b/antora-ui-camel/src/js/08-docsearch.js
index 45515b64..ed85841e 100644
--- a/antora-ui-camel/src/js/08-docsearch.js
+++ b/antora-ui-camel/src/js/08-docsearch.js
@@ -22,6 +22,7 @@
'/camel-kafka-connector/',
'/camel-kamelets/',
'/camel-karaf/',
+ '/camel-kit/',
]
// Core docs patterns - these should rank higher than component pages
diff --git a/antora-ui-camel/test/docsearch-config-test.js
b/antora-ui-camel/test/docsearch-config-test.js
index 16cadcf8..18cb432a 100644
--- a/antora-ui-camel/test/docsearch-config-test.js
+++ b/antora-ui-camel/test/docsearch-config-test.js
@@ -61,6 +61,7 @@ const SUB_PROJECT_PATHS = [
'/camel-kafka-connector/',
'/camel-kamelets/',
'/camel-karaf/',
+ '/camel-kit/',
]
const FIXTURES = ['timer', 'kamelet', 'routing']
diff --git a/content/blog/2026/09/camel-tui-byoa/index.md
b/content/blog/2026/09/camel-tui-byoa/index.md
index 5bf9c32e..879dc5c8 100644
--- a/content/blog/2026/09/camel-tui-byoa/index.md
+++ b/content/blog/2026/09/camel-tui-byoa/index.md
@@ -12,7 +12,7 @@ The next Apache Camel release, 4.23, is shaping up to be a
great release, packed
It lets you use your coding agent directly in the TUI, with its existing setup
and tools. The same agent can build an integration, inspect its live behaviour,
fix a route, and verify the next message—all in one conversation.
-To show what this means in practice, I'll use [Camel
Kit](https://luigidemasi.github.io/camel-kit-web/), an open-source project I
maintain that provides coding agents with workflows for Apache Camel
development. We'll use those workflows to build a weather telemetry
integration, then inspect it as it runs in Camel TUI.
+To show what this means in practice, I'll use [Camel Kit](/camel-kit/next/),
an open-source project I maintain that provides coding agents with workflows
for Apache Camel development. We'll use those workflows to build a weather
telemetry integration, then inspect it as it runs in Camel TUI.
## Bring your agent's setup with you
@@ -36,9 +36,9 @@ Other compatible agents can be configured through
`acp:custom`. The [TUI manual]
## What Camel Kit adds
-[Camel Kit](https://luigidemasi.github.io/camel-kit-web/) is an open-source
toolkit, hosted on [GitHub](https://github.com/luigidemasi/camel-kit), that
equips coding agents with skills and workflows for Apache Camel development. It
guides you from requirements and design through implementation and testing,
using MCP tools to consult documentation, check component options, and validate
routes. This helps reduce repeated prompting, avoid guessed configuration
options, and catch errors in g [...]
+[Camel Kit](/camel-kit/next/) is an open-source toolkit, hosted on
[GitHub](https://github.com/apache/camel-kit), that equips coding agents with
skills and workflows for Apache Camel development. It guides you from
requirements and design through implementation and testing, using MCP tools to
consult documentation, check component options, and validate routes. This helps
reduce repeated prompting, avoid guessed configuration options, and catch
errors in generated routes. Because those sk [...]
-[Camel Kit Knowledge
MCP](https://luigidemasi.github.io/camel-kit-web/architecture/knowledge/) gives
the agent access to searchable Camel documentation, component metadata, release
notes, and security advisories. It also validates endpoint URIs against the
Camel catalog, helping the agent check its configuration choices. Its source is
available in the [Camel Kit Knowledge
repository](https://github.com/luigidemasi/camel-kit-knowledge).
+[Camel Kit Knowledge MCP](/camel-kit/next/knowledge.html) gives the agent
access to searchable Camel documentation, component metadata, release notes,
and security advisories. It also validates endpoint URIs against the Camel
catalog, helping the agent check its configuration choices. Its source is
available in the [Camel Kit Knowledge
repository](https://github.com/apache/camel-kit/tree/main/knowledge).
## The walkthrough: weather telemetry ingestion
@@ -86,7 +86,7 @@ The last command marks this project directory as trusted in
Bob and starts an in
along with its MCP configuration in `.bob/mcp.json`. That configuration
includes the Camel, Camel Knowledge, and Citrus servers used by the workflows.
The test plugin installed above supports Camel Kit's runtime verification with
Citrus.
-The [Camel Kit
prerequisites](https://github.com/luigidemasi/camel-kit/blob/camel-kit-0.4.1/README.md#prerequisites)
describe that setup and the Docker requirement for container-based checks.
+The [Camel Kit
prerequisites](https://github.com/apache/camel-kit/blob/camel-kit-0.4.1/README.md#prerequisites)
describe that setup and the Docker requirement for container-based checks.
## Try the Camel 4.23 snapshot
@@ -142,7 +142,7 @@ The main development stages are:
```
These commands cover design, planning, and implementation with verification.
You can invoke a stage explicitly or follow the agent's handoff to the next
skill.
-Migration and troubleshooting have their own entry points, described in the
[Camel Kit command
reference](https://github.com/luigidemasi/camel-kit/blob/camel-kit-0.4.1/docs/commands.md).
+Migration and troubleshooting have their own entry points, described in the
[Camel Kit command
reference](https://github.com/apache/camel-kit/blob/camel-kit-0.4.1/docs/commands.md).
The command list belongs to the agent and may contain additional utilities or
internal stage skills. You do not need to invoke every `camel-*` entry: the
workflows call their supporting skills as needed.
@@ -275,7 +275,7 @@ Try it with your preferred compatible agent, and let us
know how it fits your wo
## References
-For the development tools, see [Camel
Kit](https://luigidemasi.github.io/camel-kit-web/), [Camel TUI and its ACP
support](/manual/camel-jbang-tui-ai-agents.html#_using_a_coding_agent_acp),
[Camel JBang](/manual/camel-jbang.html), and [IBM Bob
Shell](https://bob.ibm.com/docs/shell).
+For the development tools, see [Camel Kit](/camel-kit/next/), [Camel TUI and
its ACP
support](/manual/camel-jbang-tui-ai-agents.html#_using_a_coding_agent_acp),
[Camel JBang](/manual/camel-jbang.html), and [IBM Bob
Shell](https://bob.ibm.com/docs/shell).
<br/>
For the integration, refer to [Camel Main](/components/next/others/main.html),
[YAML DSL](/components/next/others/yaml-dsl.html), the [Paho MQTT 5
component](/components/next/paho-mqtt5-component.html), the [InfluxDB 2
component](/components/next/influxdb2-component.html), and the [Circuit Breaker
EIP](/components/next/eips/circuitBreaker-eip.html).
<br/>
diff --git a/content/community/contributing.md
b/content/community/contributing.md
index 3dd1a566..96c21730 100644
--- a/content/community/contributing.md
+++ b/content/community/contributing.md
@@ -12,6 +12,7 @@ Check the pages for each of the subprojects for details about
how to contribute:
* [Camel K](/camel-k/latest/)
* [Camel Kafka Connector](/camel-kafka-connector/latest/)
* [Camel Karaf](/camel-karaf/latest/)
+* [Camel Kit](/camel-kit/next/contributing.html)
* [Camel Quarkus](/camel-quarkus/latest)
* [Camel Spring Boot](/camel-spring-boot/latest)
diff --git a/content/docs/building.md b/content/docs/building.md
index 4642fbeb..bd407dcd 100644
--- a/content/docs/building.md
+++ b/content/docs/building.md
@@ -8,5 +8,6 @@ To learn how to build Camel, please check the documentation
specific to the proj
* [Camel K](/camel-k/latest/)
* [Camel Kafka Connector](/camel-kafka-connector/latest/)
* [Camel Karaf](/camel-karaf/latest/)
+* [Camel Kit](/camel-kit/next/contributing.html#build)
* [Camel Quarkus](/camel-quarkus/latest)
* [Camel Spring Boot](/camel-spring-boot/latest)
\ No newline at end of file
diff --git a/data/chrome.yaml b/data/chrome.yaml
index cd0ae7eb..69736dcd 100644
--- a/data/chrome.yaml
+++ b/data/chrome.yaml
@@ -25,6 +25,7 @@ columns:
- { name: Camel K, url: /camel-k/latest/ }
- { name: Camel Kafka Connector, url: /camel-kafka-connector/latest/ }
- { name: Camel Karaf, url: /camel-karaf/latest/ }
+ - { name: Camel Kit, url: /camel-kit/next/ }
- { name: FAQ, url: /manual/faq/index.html }
- title: Community
links:
diff --git a/data/docs-projects.yaml b/data/docs-projects.yaml
index 9a0b5306..6d3635c4 100644
--- a/data/docs-projects.yaml
+++ b/data/docs-projects.yaml
@@ -85,6 +85,14 @@ projects:
desc: Apache Karaf makes running Apache Camel in the Karaf OSGi container.
docs: /camel-karaf/latest/
source: https://github.com/apache/camel-karaf
+ - name: Camel Kit
+ icon: camel-kit
+ desc: >-
+ Structured workflows for AI coding agents that take an integration from
+ requirements to generated, verified Camel routes, with every component
+ checked against the Camel catalog.
+ docs: /camel-kit/next/
+ source: https://github.com/apache/camel-kit
- name: Camel Karavan
icon: karavan
desc: >-
diff --git a/data/home.yaml b/data/home.yaml
index 651cd95c..ea75da11 100644
--- a/data/home.yaml
+++ b/data/home.yaml
@@ -185,6 +185,13 @@ tiles:
A low-code, visual data-integration platform for designing and managing
Camel routes.
url: https://github.com/apache/camel-karavan
+ - name: Camel Kit
+ icon: camel-kit
+ description: >-
+ Guides AI coding agents through the Camel integration lifecycle, from
+ design to verified routes, with every component checked against the
+ catalog.
+ url: /camel-kit/next/
- name: Camel Kafka Connector
icon: apache-kafka
description: >-
diff --git a/data/projects.yaml b/data/projects.yaml
index 13b65337..0dd0a9a5 100644
--- a/data/projects.yaml
+++ b/data/projects.yaml
@@ -66,6 +66,12 @@ specialized:
stats: See GitHub for current activity
docs: /camel-karaf/latest/
source: https://github.com/apache/camel-karaf
+ - name: Camel Kit
+ icon: camel-kit
+ description: Guides AI coding agents through the Camel integration
lifecycle, from design to verified routes, with every component checked against
the catalog.
+ stats: See GitHub for current activity
+ docs: /camel-kit/next/
+ source: https://github.com/apache/camel-kit
footnote: >-
Nothing has been removed; these projects remain fully supported and
diff --git a/data/tooling.yaml b/data/tooling.yaml
index 7271117b..e67af42a 100644
--- a/data/tooling.yaml
+++ b/data/tooling.yaml
@@ -26,11 +26,13 @@ cliCommands:
aiTools:
- name: Camel Kit
- url: https://github.com/luigidemasi/camel-kit
+ url: /camel-kit/next/
desc: >-
- Structured slash commands for AI coding assistants that guide you
- through the complete integration lifecycle. Supports IBM Bob,
- Claude Code, Codex, GitHub Copilot CLI, and more.
+ An Apache Camel subproject: structured workflows for AI coding agents
+ that guide you through the complete integration lifecycle, with every
+ component verified against the Camel catalog. Supports IBM Bob 2,
+ Claude Code, Codex CLI, GitHub Copilot CLI, Antigravity, Pi, Qwen Code
+ and OpenCode.
- name: Wanaku
url: https://wanaku.ai
desc: >-
diff --git a/layouts/index.html b/layouts/index.html
index 630edd1d..ae7aeb5a 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -194,9 +194,11 @@
<ul class="home-grid home-grid--three">
{{- range .items }}
<li class="home-card home-tile">
- <img class="home-tile-icon" alt=""
- src="{{ path.Join "_" (index site.Data "rev-manifest" (printf
"img/%s.svg" .icon)) | relURL }}">
- <h3>{{ .name }}</h3>
+ <div class="home-tile-head">
+ <img class="home-tile-icon" alt=""
+ src="{{ path.Join "_" (index site.Data "rev-manifest" (printf
"img/%s.svg" .icon)) | relURL }}">
+ <h3>{{ .name }}</h3>
+ </div>
<p>{{ .description }}</p>
<a class="home-tile-link" href="{{ .url | relURL }}" aria-label="Read
more about {{ .name }}">Read more →</a>
</li>
diff --git a/layouts/sitemap/sitemap.html b/layouts/sitemap/sitemap.html
index f9a772e4..31dbae52 100644
--- a/layouts/sitemap/sitemap.html
+++ b/layouts/sitemap/sitemap.html
@@ -31,6 +31,7 @@
<li><a href="/camel-spring-boot/next/">Camel Spring
Boot</a></li>
<li><a href="/camel-kafka-connector/next/">Camel Kafka
Connector</a></li>
<li><a href="/camel-karaf/latest/">Camel Karaf</a></li>
+ <li><a href="/camel-kit/next/">Camel Kit</a></li>
</ul>
</article>
</div>
diff --git a/llms-txt-template.md b/llms-txt-template.md
index 4e976c4b..e782140e 100644
--- a/llms-txt-template.md
+++ b/llms-txt-template.md
@@ -566,6 +566,7 @@ See [semantic decisions with
Jev](https://camel.apache.org/blog/2026/09/semantic
- [Camel Kamelets](https://camel.apache.org/camel-kamelets/next/index.md):
Pre-built route snippets for common integration scenarios.
- [Camel Kafka
Connector](https://camel.apache.org/camel-kafka-connector/next/index.md): Kafka
Connect connectors based on Camel.
- [Camel Karaf](https://camel.apache.org/camel-karaf/latest/): Camel on the
Apache Karaf OSGi container.
+- [Camel Kit](https://camel.apache.org/camel-kit/next/index.md): Workflows for
AI coding agents that take a Camel integration from requirements to generated,
verified routes.
## Guidance for AI Models