From d5479a7888d82f12b48ac07363d787a6c6acab62 Mon Sep 17 00:00:00 2001 From: Eitan Yarmush Date: Sat, 7 Nov 2026 14:44:19 +0000 Subject: [PATCH 1/2] Add docs favicon and kagent.dev/install redirect - Replace the Hextra default favicon on the docs site with the kagent logo (svg, ico, 16/32 png, apple-touch and android icons, webmanifest). - Redirect /install (307) to scripts/get-kagent on main, so the CLI installs with `curl -sL https://kagent.dev/install | bash`. Follow-up to kagent-dev/kagent#3566. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Eitan Yarmush --- docs-site/static/android-chrome-192x192.png | Bin 0 -> 1584 bytes docs-site/static/android-chrome-512x512.png | Bin 0 -> 6175 bytes docs-site/static/apple-touch-icon.png | Bin 0 -> 1454 bytes docs-site/static/favicon-16x16.png | Bin 0 -> 222 bytes docs-site/static/favicon-32x32.png | Bin 0 -> 319 bytes docs-site/static/favicon.ico | Bin 0 -> 1035 bytes docs-site/static/favicon.svg | 1 + docs-site/static/site.webmanifest | 20 ++++++++++++++++++++ next.config.mjs | 10 ++++++++++ 9 files changed, 31 insertions(+) create mode 100644 docs-site/static/android-chrome-192x192.png create mode 100644 docs-site/static/android-chrome-512x512.png create mode 100644 docs-site/static/apple-touch-icon.png create mode 100644 docs-site/static/favicon-16x16.png create mode 100644 docs-site/static/favicon-32x32.png create mode 100644 docs-site/static/favicon.ico create mode 100644 docs-site/static/favicon.svg create mode 100644 docs-site/static/site.webmanifest diff --git a/docs-site/static/android-chrome-192x192.png b/docs-site/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..282ad55d6e885c06dfb08dbbb01b178b9f9ba8b3 GIT binary patch literal 1584 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 DJqbru literal 0 HcmV?d00001 diff --git a/docs-site/static/apple-touch-icon.png b/docs-site/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a19e2c615afff14cd914d75e97581e39c58c5ef1 GIT binary patch literal 1454 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD4M^IaWitX&oCO|{#S9EFZXnDkGR4`Efq^x_ z)5S5QV$R#Ur}KitMcNDFPK0=b-fv`Q2+7#F`~q84qswjf!tQTV0-c;!JXSm5BWd9N zs)KWSqwb6bk=1a@l)o=g*w97m@_i?=0YnFJw3Z;d9N9q_{T-h=v zaa~XmUErzZFgc__Z6$+m5aX;ROeUVJG?KWqpq=@ByxA?E$Dd6z-t+A#y0n1Z_WkOq zYQaBic&DAq`B~;IZo0smqs~(TNLihh%sTj$`2t%(G z<;`HOSaWW1_wADlfx0Z71-@U}EOmkHLd1M`PLPO!=9yPZO#+y2F-!|dGiAI|=E%Rd z{(HIk^_+b#+}szKZEelH|N4e&u9%7bIrE-h*1K0Q<}!G61sit(O(|GnwN=`BUp|lN z0^S22m08C?=5$?2KPv#Tf1yFPc`nGUJX)L67=TI~0%raCZoO~6JU@`55HP#S1?XS~ zhr(C(M;w9f^xyaDium(>pt$^Kl3tay<=JIXB++A z>b1s3-O~s{QSu%TuU&cxqbrbFOAifI?VW$|S zE_hiwFh^;!XEXt9v-ENAS@AJdz@ixfF+F7oL& zKY30-`*_6~84wf=tp-eeIm!BjE-Sl``vc-bb92 z;@eaI>-9R845{@~7Pzmd?<@~uw(?oZTHCSfW3kMY2EO2xj>lbiUl>f4`@->cPQD1E zteV6B@Nco_rR~oGqw_G!3y&2bG5N--zsF@A)Msh`_I((bI$vc=owZJu-wOjqE1@ih zcFqgI0sl+2dBDtx0YEz%`dXweBr<(547e`d?F_Vm@s~uZymhn)Sjq7<*Cl`5I%Kw> z_t_8YFaMqYKL0vrg})hpo#BkPPU{b@PM7`v>}TD&lX16|zshTGzLG88Fzcghd~?A6 z)9UAPAW8{5xgJX5Ww(=nRXG{9}cAnylHF&jpjeLV&Mf*IR+xH#La_Tbw z68QQ`)GsTHPw+zIg0%K&Otwz7GbhiQ?F8iimT&*p&mDa+f66J7*nfPs>{p&U#0eXz(y3FO)dS2K*M>bme8B$6l5clJxL9AQEx4NXp6}0Tx7nE@)x2!A p`DQC;J1Nnr_(3Y-Dwo z#WAE}PI7`oNkZ4T&G&;#=Knw5s{Yz$_2Lr^nhI+^uMrDg{O+?ni|Hfd6t0zQ4Iej4 zwVm8`e!nvJwcG#G6-E5MMup!v@NnVpKh|$~W~}-BM!w_!{D=0*wukH0R!shX=>Wsq zbk!R?4Vf+0vme?Ed+;1)5SX#(_ns+l3=$fcQk**u*l(O=bP0l+XkKQ_@&{ literal 0 HcmV?d00001 diff --git a/docs-site/static/favicon-32x32.png b/docs-site/static/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..73cf41bdad8937fdcbc1878e8a4ac4d9a6881f5f GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg`m7HxOnNnd0mS6#VGv z;uumf=j~K)u0sX_ZO4y0eGrg4a74R;>-|IN`?d|%llNBZKRqQ`&MH`=tF%(YOE7wC zs=()i`)9TMJmI6+aCl@XM&MXgP5?{k~%k9COaECg@g`0#pnl_8@ew+|{SlwE& z@RZhq<~QnRm{O)JFkF2g*)WqOYQq0l7j|u1>)@s%9n#DB!;hgZkHzbOX_R>aSK?Xb z;GVno>3R!T?=335ZL%geYMIFH`a-4&CQPd3Z_C{h=HJYoRW#$rBG>G1Ig1)xz29u8 zWmWV_m>zmy5$m@IR-ILSfB)3kRkWC7cru4I-ch+HxM7V7ZzQWs{XyBInJ4Zt%={e= P^gM&7tDnm{r-UW|2F`vA literal 0 HcmV?d00001 diff --git a/docs-site/static/favicon.ico b/docs-site/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c275e45c9dce74007b54989db7f3668bd71323ab GIT binary patch literal 1035 zcmZQzU}Rus5D;Jh(h3as7#JALfLK8R!nbE+U=RUf0|N+u2ap}i#K6!Q;OEZECB+3) z%IoRj5(K1yCNKzaumMT=&;JvF6lZ})WHAFnj2j3uicE2K1PV^@ba4!+n3J3!QIgPg zZu9-%lKKCSx2nIkS-to~gQmio&uhej7r*-~&tm$>IE8B^Tf@iAQf()9o!_s_eeL%D zbVU)ruTkMQ4m@1=`;YZoo*8R?zmf0wKmVb9vhCq|wH1^9Upm0>HeK}wPeW#l_3VfC z!X7+_83bl5`n_k$8-s)frWEIn1NIwd*?4}hlyqg|;b366(c}7RrR@7kpxYQcUHx3v zIVCh<@tp!tS^@04;;O1IKn_;leT4Y#?No2BLk0qE$B#RG5Rf}?M7x6P{X^;dwhh*k z_g3paJtbMrDp;edv{J-NFnVjMz~_VeXSMu1;iK7bcw)n(l1r1$EDvN7U&D0E?ZKRI zhdRZDn}j%;HjD6noDh3h-CD8ml-7dgH|l4YQl>00Tzw$fFq0)}!v9wnc5Peh;HD!T z(#!e7kD)G)#p{7-lz9SI;#ub4p1bzxdJ9G~>r2*X(aOiyB$eD2omG8*|J2!4w3uXgGKV$ZQMo6$ zVT}rJB&$sQLD{33C+;%L{2dMq5q!Z1Og;<-;NS~q`q_>n_!zUG!8h}?*AWAew#63f zSkmK?&m@Y~GTe6yzxSc;tuoJyfEU#}^*0-&yR6_2EJ;>r&hxVJk-7Bk!OsWx=T50n zSR$a-9`@i|Ij9UI%xAOlKPF z1ucW?OIW|?TweX5)2k-0Zc)U3At8NF?hNrx@hz+h4vRK3J&=+<-^o2gU$=1nnudQ9 z1BAZc$rfy8Za|z*a%`LBNL!kEjI2&UM@tCNq>TG4)j+*gWg}-)<%y>0Xo8_vJP7rp!)~ zi< diff --git a/docs-site/static/site.webmanifest b/docs-site/static/site.webmanifest new file mode 100644 index 00000000..dfe00911 --- /dev/null +++ b/docs-site/static/site.webmanifest @@ -0,0 +1,20 @@ +{ + "name": "kagent docs", + "short_name": "kagent", + "start_url": "/docs/", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#942DE7", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/next.config.mjs b/next.config.mjs index 7cf5c7ed..2505a91f 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -11,6 +11,16 @@ const nextConfig = { pageExtensions: ['js', 'jsx', 'md', 'mdx', 'ts', 'tsx'], async redirects() { return [ + // Short install URL for the kagent CLI: + // curl -sL https://kagent.dev/install | bash + // Temporary (307) so clients never cache it and the target can move. + // `curl -L` follows it; the script itself picks the release to install. + { + source: '/install', + destination: + 'https://raw.githubusercontent.com/kagent-dev/kagent/refs/heads/main/scripts/get-kagent', + permanent: false, + }, // Order matters: Next applies the first matching redirect. These two name // a page that also moved section, so the catch-all below would send them // to a 0.x path that does not exist (there is no 0.x/getting-started/ From 6cc6c56b66ce1718e9b648a9ec24b9cdffec458e Mon Sep 17 00:00:00 2001 From: Eitan Yarmush Date: Sat, 7 Nov 2026 15:26:06 +0000 Subject: [PATCH 2/2] Use kagent.dev/install in the homepage one-liner The quick start one-liner now installs the CLI through the short /install redirect and runs kagent install, matching the docs. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Eitan Yarmush --- src/app/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 2c2aeacb..59f48531 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -184,7 +184,7 @@ const HowItWorks = () => { Quick Start — tabbed terminal install block ============================================================ */ const INSTALL_TABS = [ - { label: 'One-liner', cmd: 'curl https://raw.githubusercontent.com/kagent-dev/kagent/refs/heads/main/scripts/get-kagent | bash' }, + { label: 'One-liner', cmd: 'curl -sL https://kagent.dev/install | bash && kagent install' }, { label: 'Brew', cmd: 'brew install kagent' }, ];