From 898c5fb3709d5ca4fc75109be9d9eb9d553caaba Mon Sep 17 00:00:00 2001 From: Kiko Beats Date: Mon, 28 Sep 2026 16:27:27 +0200 Subject: [PATCH 1/2] test(mql): update snapshots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kikobeats.com now embeds a 500x500 microlink.io logo, which outranks the 400x400 favicon in logo detection. Also prunes orphaned `node »` and `lightweight »` snapshot entries no current test produces. Co-Authored-By: Claude Opus 5.5 --- .../mql/test/snapshots/get-api-url.mjs.md | 296 ------------------ .../mql/test/snapshots/get-api-url.mjs.snap | Bin 877 -> 699 bytes packages/mql/test/snapshots/opts.mjs.md | 92 +----- packages/mql/test/snapshots/opts.mjs.snap | Bin 698 -> 655 bytes 4 files changed, 5 insertions(+), 383 deletions(-) diff --git a/packages/mql/test/snapshots/get-api-url.mjs.md b/packages/mql/test/snapshots/get-api-url.mjs.md index 83f7435..dd19161 100644 --- a/packages/mql/test/snapshots/get-api-url.mjs.md +++ b/packages/mql/test/snapshots/get-api-url.mjs.md @@ -151,299 +151,3 @@ Generated by [AVA](https://avajs.dev). responseType: 'json', }, ] - -## node » url without query params - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -## node » apiKey - -> Snapshot 1 - - [ - 'https://pro.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: { - 'x-api-key': 'foobar', - }, - responseType: 'json', - }, - ] - -## node » flatten options - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&overlay.browser=dark', - { - headers: {}, - responseType: 'json', - }, - ] - -## node » don't pass null - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -## node » don't pass undefined - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -## node » timeout - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&timeout=15000', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&timeout=28000', - { - headers: {}, - responseType: 'json', - }, - ] - -## node » waitUntil - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&waitUntil=load', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&waitUntil.0=load&waitUntil.1=networkidle0', - { - headers: {}, - responseType: 'json', - }, - ] - -## node » undefined - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&screenshot.element=%23screenshot', - { - headers: {}, - responseType: 'json', - }, - ] - -## lightweight » url without query params - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -## lightweight » apiKey - -> Snapshot 1 - - [ - 'https://pro.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: { - 'x-api-key': 'foobar', - }, - responseType: 'json', - }, - ] - -## lightweight » flatten options - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&overlay.browser=dark', - { - headers: {}, - responseType: 'json', - }, - ] - -## lightweight » don't pass null - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -## lightweight » don't pass undefined - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -## lightweight » timeout - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&timeout=15000', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&timeout=28000', - { - headers: {}, - responseType: 'json', - }, - ] - -## lightweight » waitUntil - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&waitUntil=load', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&waitUntil.0=load&waitUntil.1=networkidle0', - { - headers: {}, - responseType: 'json', - }, - ] - -## lightweight » undefined - -> Snapshot 1 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com', - { - headers: {}, - responseType: 'json', - }, - ] - -> Snapshot 2 - - [ - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&screenshot.element=%23screenshot', - { - headers: {}, - responseType: 'json', - }, - ] diff --git a/packages/mql/test/snapshots/get-api-url.mjs.snap b/packages/mql/test/snapshots/get-api-url.mjs.snap index c9de761afa10f06ba71386a51475a47d477fb4f5..d2173ee63c3313b7a7a505cdc03f87f6351f2760 100644 GIT binary patch literal 699 zcmV;s0z~~mRzVsS0P-6sxKM+D&w)-2g>BJO}Usz`Je_ zqvtCtylN@4zMPtx0!>C;>>>INthX^%=gj5WfO75jy5$MYO`xRV7h3`E7I&-|B|+nV z?vmZOO9!;Z0&$kN67()?v0k9nf2K#70s*sxO&Fu?=&!f#T%BWqnDcn6TN$k>Rbje= zu4+EBmdm^ftWYv3y9-JB_j}eq*LQXgs_R_)tW~UN)ihi?F4JCgB#+`Fc>~}rfUjwf zWQGPEXyqz-$mRoPOkRe*AKTs1*h|ui zq_H}i#Cfl0&NKaUu6O77in)>J!`Sl`fc6i|=d_-agOA{HlG&4<&8k~qRxCwo8wv}K zbIdkGDiroqB zy*C5MEFX&q00000000B+n7?ZiQ5?X(FR?$=*0j{2L(v0?6-(1JMN#39E>#e8PzT*! zaxcwmF7I96y=#(9T?L&4b+V4)s*6sdi%t&WBnXOwe}JPua^{j6Pf21fjqvRdk{9TG z`MeMJE}zYO)|R=Vdwcpm(_GuEGVLkbD05wqo;KD!rmBWR6)m~k71VJHQoC0-EsJV; ziOj@d1Zsa|l*H2jaP-HAD*!M>h9}9;vQo54NboL^NC4RdBnD&*rbrC-k~ol|NpifP zwd0;xSfCD1m3U4`n~P$K%Y~DkvQ7Wnl(td?Izo6cwcA(BSLE5HNC|(PgpF^1+!2% z6fP>^Ry8j%>FE&14u|2p(J{VL-5(hB+04Zw>2%tMd8Y~UIRLx_fDi4$9E&BTT;vCdAG^)1pw3@SU$GPb3A$lSHhS* z=$Kiq2h37wpW2p%MN=?cma51toBh=DQ4{BT0Qdv|-`d4_D0)5d5dKFW%`ixt9Yea@ zy^n5AF(ztTmtr<6F`><5W~sUAQ+(K@_!a=(0l=4bDejM4!-^rK#f)c942%^$1uFus z7%loAEy@9Wj2Dp!-e8Oo1AkNY>84tl36TyTq|m&`&69z6ST(R}Y-80}4?M)WfpueW z>qbLUJe;v|3_#_WwfSm6ms#xVdM$XddGx<|RQ9!O0=AFn?kBCRv4P+((S9|M z1Alf8pSDoI$OYVJ@ehj#7Ljc%B9-YDAF+&J85!I%@|&)BW@91Q#zOKP7s*!rw=w_# D>(`*R diff --git a/packages/mql/test/snapshots/opts.mjs.md b/packages/mql/test/snapshots/opts.mjs.md index ca2b184..38d68e8 100644 --- a/packages/mql/test/snapshots/opts.mjs.md +++ b/packages/mql/test/snapshots/opts.mjs.md @@ -25,94 +25,12 @@ Generated by [AVA](https://avajs.dev). }, lang: 'en', logo: { - height: 400, - size: 3051, - size_pretty: '3.05 kB', + height: 500, + size: 5304, + size_pretty: '5.3 kB', type: 'png', - url: 'https://kikobeats.com/favicon.png', - width: 400, - }, - publisher: 'kikobeats', - title: 'Building web infra & open source', - url: 'https://kikobeats.com/', - } - -> Snapshot 3 - - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com%3Fref%3Dmql' - -> Snapshot 4 - - 200 - -## node » url - -> Snapshot 1 - - 'success' - -> Snapshot 2 - - { - author: 'kikobeats', - description: 'A millennial doing stuff on internet that ships software every day and builds digital products.', - image: { - height: 630, - size: 1173526, - size_pretty: '1.17 MB', - type: 'png', - url: 'https://kikobeats.com/images/og/pages/index.png', - width: 1200, - }, - lang: 'en', - logo: { - height: 400, - size: 3051, - size_pretty: '3.05 kB', - type: 'png', - url: 'https://kikobeats.com/favicon.png', - width: 400, - }, - publisher: 'kikobeats', - title: 'Building web infra & open source', - url: 'https://kikobeats.com/', - } - -> Snapshot 3 - - 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com%3Fref%3Dmql' - -> Snapshot 4 - - 200 - -## lightweight » url - -> Snapshot 1 - - 'success' - -> Snapshot 2 - - { - author: 'kikobeats', - description: 'A millennial doing stuff on internet that ships software every day and builds digital products.', - image: { - height: 630, - size: 1173526, - size_pretty: '1.17 MB', - type: 'png', - url: 'https://kikobeats.com/images/og/pages/index.png', - width: 1200, - }, - lang: 'en', - logo: { - height: 400, - size: 3051, - size_pretty: '3.05 kB', - type: 'png', - url: 'https://kikobeats.com/favicon.png', - width: 400, + url: 'https://cdn.microlink.io/logo/logo.png', + width: 500, }, publisher: 'kikobeats', title: 'Building web infra & open source', diff --git a/packages/mql/test/snapshots/opts.mjs.snap b/packages/mql/test/snapshots/opts.mjs.snap index 28cf9bd989b4ce6cad7541736cddd411706aada8..2725d0350fd08f160dc7499326a3b88f090da765 100644 GIT binary patch literal 655 zcmV;A0&x97RzV-&y}N z-8e|j#UG0Z00000000A}R6%PLF%+An+Nd+^yWo&)>+x9+JZTR_ww?-yzhID91r?Z z$3y%2J$J%M9v4Omt5|L`?d+T5Bw>#2`e1PBGHoh% zaVUnm&zZBedzTV!VrpgmZEMd1o_WA44|wMRpFH532Xy^fOTGD)E|Aua5A6DY^MSWM z@X-gp_`q6FOZCr8L$f{&85e2hN;mKhyt>p@yqqc#_^aRB^%0pw_jALY8&_woZrHs+ zA8yrw+&G^}>gOu`hicKERVzoqMmml1(hw@)N8wqh#-T`D_KVR;Z~@w<;}8!d$zhC)Y^VJ^4xxSo>fAF}sk?t{5kA+ub}Bi|{Eyj?~+ pz0J4t literal 698 zcmV;r0!95nRzVcukI zo$QX8%&arBO(S^HKcJpH)xV&3J$VrS2u~hF@K5j}NxG44t1WmdyQlZ&?fdb4@A2(* zJ5q-|`}#e1!bu)xMhdG~Y7_13o4qJvj&1m;Vf2v->ZE3~Fyz)wVo!tRX>^9nJ^=6- zzz%?404@?>i2(NrUHqqw6kVUF5F zq?TIUbpvKN<=fm0X~c$@PgWpxtP4rAY1Wa#Cj4aNmGSCwkFJh}9U&d?4i&0v7`;Yy$`!RbGhuN$ zKQl777Zc}Fd#lx&wrYmD-x{s9w&?-SJm8fFyz_w19`M}*mi)p>y~8V=A+>cM*zf`8 z18;rcqYr%bfy+T5)jx6#)#5cIT*QeRyMedu6{)u3<%EgAU;I%op2#S=l^X8cFn_Bp zHJ6s@!_{ITH%zCL`l*Wl!CLEh*2bq`TRLu~V?(Hj?=+8=stiQrk^@Bh!6{(xlE1_D ze$Jf+b-Q`}Chh$X>Z`}2?y_wWYIPFMT{6*+%_oP%8M+kYV^r5{Zz2k^e&K;e2yN1T58Kue`7m9A8}Qt8gD g(iu4-axkW|6ueUKO2I1y?`#U*Z`TY+)y57005ecls{jB1 From df69f76ab3170ca89d168a9d95c713b8874c1646 Mon Sep 17 00:00:00 2001 From: Kiko Beats Date: Mon, 28 Sep 2026 16:42:34 +0200 Subject: [PATCH 2/2] fix(core): restore space in setup finish message Without color, gray() returns the plain string, so the message printed as "Prompt with/microlink to use it.". Tests now assert the new copy. Co-Authored-By: Claude Opus 5.5 --- packages/core/bin/setup.js | 2 +- packages/core/test/cli.mjs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/bin/setup.js b/packages/core/bin/setup.js index 282ddd0..399b104 100644 --- a/packages/core/bin/setup.js +++ b/packages/core/bin/setup.js @@ -201,7 +201,7 @@ const fetchSkill = async fetchFn => { const finish = stderr => { writeLine(stderr, '') - writeLine(stderr, gray('Prompt with') + '/microlink' + gray(' to use it.')) + writeLine(stderr, gray('Prompt with ') + '/microlink' + gray(' to use it.')) } const setup = async ({ diff --git a/packages/core/test/cli.mjs b/packages/core/test/cli.mjs index 5c23e97..7ae75be 100644 --- a/packages/core/test/cli.mjs +++ b/packages/core/test/cli.mjs @@ -785,7 +785,7 @@ test('setup installs the skill and connects detected agents', async t => { t.true(stderr.includes('Cursor connected')) t.true(stderr.includes('OpenCode connected')) t.false(stderr.includes('GitHub Copilot')) - t.true(stderr.includes('Start by typing /microlink to use it.')) + t.true(stderr.includes('Prompt with /microlink to use it.')) t.false(stderr.includes('Step 1')) const again = setupHost(home, { @@ -831,7 +831,7 @@ test('setup installs the shared skill when no agent is installed', async t => { t.is(await run(['setup'], host), 0) t.true(existsSync(path.join(home, '.agents', 'skills', 'microlink', 'SKILL.md'))) t.true(host.stderrText().includes('No coding agents detected.')) - t.true(host.stderrText().includes('Start by typing /microlink to use it.')) + t.true(host.stderrText().includes('Prompt with /microlink to use it.')) }) test('setup refuses to overwrite a skill it did not write', async t => {