Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-27 08:53 UTC

xano-inc / xano-developer-mcp

TypeScriptMIT★ 9 зірок⑂ 1 форкз лют. 2026 р.Переглянути на GitHub ↗

xano-inc/xano-developer-mcp має індекс здоров’я 56 зі 100, що відповідає смузі «Помірний». Найвищий показник — Vitality (87/100), найнижчий — Community & Adoption (38/100). Останнє оновлення було 5 днів тому. Більшість нещодавньої роботи виконує один учасник.

56
загалом / 100
Помірний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

56
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

Xano, Inc.Організація
4 підписники9 публічних репозиторіївз серп. 2025 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
npm@xano/developer-mcp2.2.43 462956 днів томуxanomcpmodel-context-protocolxanoscriptdocumentationapiclaudeai

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

87Відмінний · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 5 дн. тому
13.8/36Ритм комітів — 20/52 тижнів із комітами
18/18Обсяг комітів — 208 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year208
human_commit_share1
days_since_last_push5
active_weeks_last_year20
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 8 релізів
36/36Свіжість релізів — останній реліз 10 дн. тому
27/27Ритм релізів — реліз кожні ~9,4 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count8
latest_release_tagv2.2.3
releases_from_tagsні
days_since_latest_release10
mean_days_between_releases9,4
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

38У зоні ризику · 18% загального індексу
Як обчислюється оцінка
14.6/60Зірки — 9 зірок
0/25Форки — 1 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks1
stars9
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
0/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingні
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні
Як обчислюється оцінка
47.2/80Щомісячні завантаження — 3 462 завантажень/місяць у npm
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packages@xano/developer-mcp
dependents
ecosystemsnpm
total_downloads
monthly_downloads3 462
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

58Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
1.5/22.5Розподіл комітів — головний контриб’ютор — автор 93% комітів
8.1/13.5Широта контриб’юторів — 6 контриб’юторів
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Використані вхідні дані
bus_factor1
contributors_sampled6
top_contributor_share0,934
Як обчислюється оцінка
46.8/46.8Вирішення issue — закрито 100% issue
37.7/38.3Прийняття PR — злито 64/65 вирішених PR
1.5/15OpenSSF Scorecard: Code-Review — Found 3/28 approved changesets -- score normalized to 1
Використані вхідні дані
merged_prs64
open_issues0
closed_issues1
issue_closed_ratio1
closed_unmerged_prs1

Власність та опіка

44У зоні ризику
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
5/25Охоплення власника — 4 підписників у xano-inc
9.2/25Послужний список — 9 публічних репозиторіїв, вік облікового запису ~0 р.
Використані вхідні дані
followers4
owner_typeOrganization
is_verified
owner_loginxano-inc
public_repos9
account_age_days345

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у npm
35/35Свіжість публікацій — остання публікація 6 дн. тому
20/20Історія версій — 95 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packages@xano/developer-mcp
ecosystemsnpm
any_deprecatedні
min_days_since_publish6

Інженерна якість

Чи наявні базові інженерні практики та документація?

42У зоні ризику · 20% загального індексу

Інженерні практики

44У зоні ризику
Як обчислюється оцінка
0/24Процеси CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 22 out of 22 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
has_ciні
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

40У зоні ризику
Як обчислюється оцінка
30/30README
0/25Каталог документації
0/15Сайт документації / домашня сторінка
0/10Опис репозиторію
0/10Теми
10/10Wiki
Використані вхідні дані
topics
has_wikiтак
homepage
has_readmeтак
has_docs_dirні
has_descriptionні

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

45У зоні ризику · 16% загального індексу

Стан безпеки

37У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 22 out of 22 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0.8/7.5Code-Review — Found 3/28 approved changesets -- score normalized to 1
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
0/10Dangerous-Workflow — немає даних
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — немає даних
0/5Pinned-Dependencies — немає даних
5/5SAST — SAST tool is run on all commits
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — немає даних
0/7.5Vulnerabilities — 13 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3,7
Виключено з оцінювання (немає даних або не застосовно): dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
7.7/25Непрямі залежності без відомих сповіщень — уражено 2: lodash-es 4.17.23 (high 8.1), @hono/node-server 1.19.15 (moderate 5.9)
33.3/40Немає задавнених сповіщень — 1 пакет(ів) зі сповіщеннями без реакції понад 90 дн.; найдавніше опубліковано 116 дн. тому
Використані вхідні дані
sourceosv
advisories3
affected_packages2
assessed_packages112
unassessed_packages0
affected_by_severityhigh 1, moderate 1
direct_affected_packages0
Звірено з runtime-замиканням залежностей npm:@xano/developer-mcp@2.2.4 — тим, що тягне за собою встановлення опублікованого пакета, — 112 пакетів. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

67Помірний · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — src/xanoscript_docs/agents.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 84 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,84
agent_instruction_filessrc/xanoscript_docs/agents.md
agent_instruction_max_bytes8 227
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — tsconfig.json
10/10Відтворюване середовище — lockfile
10/10Підтверджена практика роботи з агентами — 66 з останніх 100 комітів створено агентом або з його зазначенням
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — немає даних
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configstsconfig.json
agent_commit_share0,66
toolchain_manifests
dependency_bot_commit_share0
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Pinned-Dependencies. Залишкові ваги перенормовано.
Як обчислюється оцінка
45/45Типізований код — TypeScript (статично типізована)
55/55Керовані розміри файлів — 0/63 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes41 837
source_files_sampled63
oversized_source_files0
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
20/20Сервер MCP
0/40Придатні до запуску приклади
Використані вхідні дані
example_dirs
has_mcp_signalтак
api_schema_files

Ключові факти

9зірок GitHub
6контриб'юторів
208комітів за останні 12 місяців
5днів від останнього пушу
8релізів
1бас-фактор
0відкритих issue
npmпакетних екосистем

Попередження щодо збору даних

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Докладніше

OpenSSF Scorecard 3.7 / 10
3.7сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-27 08:53 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests22 out of 22 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 3/28 approved changesets -- score normalized to 1
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
н/дDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
н/дPackagingpackaging workflow not detected
н/дPinned-Dependenciesno dependencies found
10SASTSAST tool is run on all commits
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
н/дToken-PermissionsNo tokens found
0Vulnerabilities13 existing vulnerabilities detected
Прямі залежності 4
РеєстрПакетОбмеження версіїМаніфест
npm@modelcontextprotocol/sdk^1.26.0package.json
npm@xano/xanoscript-language-server^12.8.0package.json
npmminimatch^10.1.2package.json
npmzod^4.0.0package.json
Усі залежності 209

Повний розв'язаний набір залежностей із графа залежностей GitHub: 4 прямих і 205 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
npm@modelcontextprotocol/sdk1.26.0пряма
npm@xano/xanoscript-language-server12.8.0пряма
npmminimatch10.2.5пряма
npmzod4.3.6пряма
npm@chevrotain/cst-dts-gen11.2.0непряма
npm@chevrotain/gast11.2.0непряма
npm@chevrotain/regexp-to-ast11.2.0непряма
npm@chevrotain/types11.2.0непряма
npm@chevrotain/utils11.2.0непряма
npm@esbuild/aix-ppc640.27.3непряма
npm@esbuild/android-arm0.27.3непряма
npm@esbuild/android-arm640.27.3непряма
npm@esbuild/android-x640.27.3непряма
npm@esbuild/darwin-arm640.27.3непряма
npm@esbuild/darwin-x640.27.3непряма
npm@esbuild/freebsd-arm640.27.3непряма
npm@esbuild/freebsd-x640.27.3непряма
npm@esbuild/linux-arm0.27.3непряма
npm@esbuild/linux-arm640.27.3непряма
npm@esbuild/linux-ia320.27.3непряма
npm@esbuild/linux-loong640.27.3непряма
npm@esbuild/linux-mips64el0.27.3непряма
npm@esbuild/linux-ppc640.27.3непряма
npm@esbuild/linux-riscv640.27.3непряма
npm@esbuild/linux-s390x0.27.3непряма
npm@esbuild/linux-x640.27.3непряма
npm@esbuild/netbsd-arm640.27.3непряма
npm@esbuild/netbsd-x640.27.3непряма
npm@esbuild/openbsd-arm640.27.3непряма
npm@esbuild/openbsd-x640.27.3непряма
npm@esbuild/openharmony-arm640.27.3непряма
npm@esbuild/sunos-x640.27.3непряма
npm@esbuild/win32-arm640.27.3непряма
npm@esbuild/win32-ia320.27.3непряма
npm@esbuild/win32-x640.27.3непряма
npm@hono/node-server1.19.14непряма
npm@jridgewell/sourcemap-codec1.5.5непряма
npm@rollup/rollup-android-arm-eabi4.60.3непряма
npm@rollup/rollup-android-arm644.60.3непряма
npm@rollup/rollup-darwin-arm644.60.3непряма
npm@rollup/rollup-darwin-x644.60.3непряма
npm@rollup/rollup-freebsd-arm644.60.3непряма
npm@rollup/rollup-freebsd-x644.60.3непряма
npm@rollup/rollup-linux-arm-gnueabihf4.60.3непряма
npm@rollup/rollup-linux-arm-musleabihf4.60.3непряма
npm@rollup/rollup-linux-arm64-gnu4.60.3непряма
npm@rollup/rollup-linux-arm64-musl4.60.3непряма
npm@rollup/rollup-linux-loong64-gnu4.60.3непряма
npm@rollup/rollup-linux-loong64-musl4.60.3непряма
npm@rollup/rollup-linux-ppc64-gnu4.60.3непряма
npm@rollup/rollup-linux-ppc64-musl4.60.3непряма
npm@rollup/rollup-linux-riscv64-gnu4.60.3непряма
npm@rollup/rollup-linux-riscv64-musl4.60.3непряма
npm@rollup/rollup-linux-s390x-gnu4.60.3непряма
npm@rollup/rollup-linux-x64-gnu4.60.3непряма
npm@rollup/rollup-linux-x64-musl4.60.3непряма
npm@rollup/rollup-openbsd-x644.60.3непряма
npm@rollup/rollup-openharmony-arm644.60.3непряма
npm@rollup/rollup-win32-arm64-msvc4.60.3непряма
npm@rollup/rollup-win32-ia32-msvc4.60.3непряма
npm@rollup/rollup-win32-x64-gnu4.60.3непряма
npm@rollup/rollup-win32-x64-msvc4.60.3непряма
npm@types/chai5.2.3непряма
npm@types/deep-eql4.0.2непряма
npm@types/estree1.0.8непряма
npm@types/minimatch5.1.2непряма
npm@types/node22.19.9непряма
npm@vitest/expect3.2.6непряма
npm@vitest/mocker3.2.6непряма
npm@vitest/pretty-format3.2.6непряма
npm@vitest/runner3.2.6непряма
npm@vitest/snapshot3.2.6непряма
npm@vitest/spy3.2.6непряма
npm@vitest/utils3.2.6непряма
npmaccepts2.0.0непряма
npmajv8.20.0непряма
npmajv-formats3.0.1непряма
npmassertion-error2.0.1непряма
npmbalanced-match4.0.4непряма
npmbody-parser2.2.2непряма
npmbrace-expansion5.0.6непряма
npmbytes3.1.2непряма
npmcac6.7.14непряма
npmcall-bind-apply-helpers1.0.2непряма
npmcall-bound1.0.4непряма
npmchai5.3.3непряма
npmcheck-error2.1.3непряма
npmchevrotain11.2.0непряма
npmcontent-disposition1.0.1непряма
npmcontent-type1.0.5непряма
npmcookie0.7.2непряма
npmcookie-signature1.2.2непряма
npmcors2.8.6непряма
npmcross-spawn7.0.6непряма
npmdebug4.4.3непряма
npmdeep-eql5.0.2непряма
npmdepd2.0.0непряма
npmdunder-proto1.0.1непряма
npmee-first1.1.1непряма
npmencodeurl2.0.0непряма
npmes-define-property1.0.1непряма
npmes-errors1.3.0непряма
npmes-module-lexer1.7.0непряма
npmes-object-atoms1.1.1непряма
npmesbuild0.27.3непряма
npmescape-html1.0.3непряма
npmestree-walker3.0.3непряма
npmetag1.8.1непряма
npmeventsource3.0.7непряма
npmeventsource-parser3.0.6непряма
npmexpect-type1.3.0непряма
npmexpress5.2.1непряма
npmexpress-rate-limit8.5.1непряма
npmfast-deep-equal3.1.3непряма
npmfast-uri3.1.2непряма
npmfdir6.5.0непряма
npmfinalhandler2.1.1непряма
npmforwarded0.2.0непряма
npmfresh2.0.0непряма
npmfsevents2.3.3непряма
npmfunction-bind1.1.2непряма
npmget-intrinsic1.3.0непряма
npmget-proto1.0.1непряма
npmgopd1.2.0непряма
npmhas-symbols1.1.0непряма
npmhasown2.0.2непряма
npmhono4.12.25непряма
npmhttp-errors2.0.1непряма
npmiconv-lite0.7.2непряма
npminherits2.0.4непряма
npmip-address10.2.0непряма
npmipaddr.js1.9.1непряма
npmis-promise4.0.0непряма
npmisexe2.0.0непряма
npmjose6.1.3непряма
npmjs-tokens9.0.1непряма
npmjson-schema-traverse1.0.0непряма
npmjson-schema-typed8.0.2непряма
npmlodash-es4.18.1непряма
npmloupe3.2.1непряма
npmmagic-string0.30.21непряма
npmmath-intrinsics1.1.0непряма
npmmedia-typer1.1.0непряма
npmmerge-descriptors2.0.0непряма
npmmime-db1.54.0непряма
npmmime-types3.0.2непряма
npmms2.1.3непряма
npmnanoid3.3.11непряма
npmnegotiator1.0.0непряма
npmobject-assign4.1.1непряма
npmobject-inspect1.13.4непряма
npmon-finished2.4.1непряма
npmonce1.4.0непряма
npmparseurl1.3.3непряма
npmpath-key3.1.1непряма
npmpath-to-regexp8.4.2непряма
npmpathe2.0.3непряма
npmpathval2.0.1непряма
npmpicocolors1.1.1непряма
npmpicomatch4.0.4непряма
npmpkce-challenge5.0.1непряма
npmpostcss8.5.14непряма
npmproxy-addr2.0.7непряма
npmqs6.15.2непряма
npmrange-parser1.2.1непряма
npmraw-body3.0.2непряма
npmrequire-from-string2.0.2непряма
npmrollup4.60.3непряма
npmrouter2.2.0непряма
npmsafer-buffer2.1.2непряма
npmsend1.2.1непряма
npmserve-static2.2.1непряма
npmsetprototypeof1.2.0непряма
npmshebang-command2.0.0непряма
npmshebang-regex3.0.0непряма
npmside-channel1.1.0непряма
npmside-channel-list1.0.0непряма
npmside-channel-map1.0.1непряма
npmside-channel-weakmap1.0.2непряма
npmsiginfo2.0.0непряма
npmsource-map-js1.2.1непряма
npmstackback0.0.2непряма
npmstatuses2.0.2непряма
npmstd-env3.10.0непряма
npmstrip-literal3.1.0непряма
npmtinybench2.9.0непряма
npmtinyexec0.3.2непряма
npmtinyglobby0.2.15непряма
npmtinypool1.1.1непряма
npmtinyrainbow2.0.0непряма
npmtinyspy4.0.4непряма
npmtoidentifier1.0.1непряма
npmtype-is2.0.1непряма
npmtypescript5.9.3непряма
npmundici-types6.21.0непряма
npmunpipe1.0.0непряма
npmvary1.1.2непряма
npmvite7.3.3непряма
npmvite-node3.2.4непряма
npmvitest3.2.6непряма
npmvscode-jsonrpc8.2.0непряма
npmvscode-languageserver9.0.1непряма
npmvscode-languageserver-protocol3.17.5непряма
npmvscode-languageserver-textdocument1.0.12непряма
npmvscode-languageserver-types3.17.5непряма
npmwhich2.0.2непряма
npmwhy-is-node-running2.3.0непряма
npmwrappy1.0.2непряма
npmzod-to-json-schema3.25.1непряма
Сповіщення про залежності 2

Встановлення npm:@xano/developer-mcp@2.2.4 тягне 112 пакетів, прямих і транзитивних: 2 мають відомі сповіщення, з них 0 — прямі залежності.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
lodash-es4.17.23непрямависока24.18.0
@hono/node-server1.19.15непрямапомірна12.0.5

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 987,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Shell": 2333,
        "JavaScript": 4398,
        "TypeScript": 485821
      },
      "pushed_at": "2026-07-21T23:15:00Z",
      "created_at": "2026-02-05T18:12:40Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T23:15:05Z",
      "description": null,
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://www.xano.com/",
      "name": "Xano, Inc.",
      "type": "Organization",
      "login": "xano-inc",
      "company": null,
      "location": null,
      "followers": 4,
      "avatar_url": "https://avatars.githubusercontent.com/u/226722434?v=4",
      "created_at": "2025-08-15T14:13:01Z",
      "is_verified": null,
      "public_repos": 9,
      "account_age_days": 345
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.2.3",
          "kind": "patch",
          "published_at": "2026-07-16T18:02:14Z"
        },
        {
          "tag": "v2.2.2",
          "kind": "patch",
          "published_at": "2026-07-09T18:54:56Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2026-06-01T23:14:35Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2026-06-01T22:12:21Z"
        },
        {
          "tag": "v2.0.5",
          "kind": "patch",
          "published_at": "2026-06-01T20:56:46Z"
        },
        {
          "tag": "v2.0.4",
          "kind": "patch",
          "published_at": "2026-05-20T18:11:11Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2026-05-14T20:34:04Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2026-05-11T16:45:03Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "0cbfc16c6c937dc9a7a555118858bc5ca7d81aa4",
          "body": "… lookup (DEV-6594) (#67)\n\n* feat: add Xano expression language docs with filter reference and per-filter lookup (DEV-6594)\n\n- New `expressions` topic documenting the Xano expression language:\n  context variables, operators (incl. strict ===/!==), auto-flattening\n  paths, [condition] array filtering\n[…]\ncomes a real problem, syncing\nbelongs in an automated pipeline at the source.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: Xano expression language docs, filter reference, and per-filter…",
          "author_name": "Brice",
          "author_login": "bearded-xano",
          "committed_at": "2026-07-21T23:15:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8096b71d149051e1f4a463618c0e3d1997c9ee74",
          "body": "Adds server.json so the package can be listed in the official MCP\nregistry, plus the mcpName field in package.json that the registry uses\nto verify npm package ownership.\n\n- server.json: io.github.xano-inc/xano-developer-mcp, npm stdio package\n  entry, and the OAuth-protected remote at https://mcp.x\n[…]\n\n- package.json: add mcpName, bump 2.2.3 -> 2.2.4 so a build containing\n  mcpName exists on npm for the registry to verify against\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add MCP registry server.json and bump to 2.2.4 (#66)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-07-20T18:15:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8c844d9977029a39647633689512fb2f09442548",
          "body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): bump version to 2.2.3",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-07-16T18:01:15Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fcbc868f8f7c98b4fc37b62ea36412f74e529722",
          "body": "… (#65)\n\nXanoScript has no `db.delete`, `db.delete_all`, or fluent\n`db.<table>.query()...delete()` — all fail to parse. The valid delete\noperations are `db.del` (single record), `db.bulk.delete` (many by\n`where`), and `db.truncate` (whole table).\n\n- Fix two invalid `cleanup_old_sessions` task exampl\n[…]\nelete-syntax.test.ts, 10\n  tests) covering valid/invalid forms and guarding every shipped doc\n  example against bad delete syntax.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: correct XanoScript delete syntax in docs and examples (DEV-7447)…",
          "author_name": "kristakrebsxano",
          "author_login": "kristakrebsxano",
          "committed_at": "2026-07-16T17:57:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5148ec7a52d06a4b90f4baf4ee415db54979bf3a",
          "body": "… (#63)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "DEV-7449: bump xanoscript-language-server to 12.8.0 (hash index type)…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-07-16T17:57:20Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0c29acde0e1129e624db73ff7e4a4855a2f10714",
          "body": "The sandbox environment requires a paid plan — the Free (build) plan\ncannot provision one. The CLI docs and README incorrectly described it\nas \"free-tier friendly / available without paid plan,\" which misled\nagents into routing Free users to the sandbox. Correct every sandbox\nreference across the cli_docs topics and README to state paid-only.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix CLI docs: sandbox is paid-only, not free-tier (#64)",
          "author_name": "kristakrebsxano",
          "author_login": "kristakrebsxano",
          "committed_at": "2026-07-16T17:57:02Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "17d7bf60ceac8f835856bd1660d42ddbc86dcce7",
          "body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): bump version to 2.2.2",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-07-09T18:28:21Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "75da92e0ac953e37c4aa14e8f0f05ee3868b1a2b",
          "body": "- Add new `knowledge` topic: knowledge list/get commands, frontmatter\n  format (inclusion field + mode aliases), on-disk layout, and sync via\n  workspace/sandbox push/pull\n- function: document new `function run` command (run by name, --data/\n  --json/--stdin input, schema check, exit codes)\n- worksp\n[…]\nflag to unit_test run (now sent to the API)\n- tenant: add snapshot create/list/swap/delete commands\n- start: add knowledge to command categories\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(cli): sync cli_docs with CLI v1.0.5",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-07-09T18:28:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8b93971ff626f7a050b4ea15562e27a87047b002",
          "body": "* feat: add xano_knowledge_list and xano_knowledge_get MCP tools\n\nExpose the new `xano knowledge list`/`knowledge get` CLI subcommands as MCP tools so agents can discover and read a workspace's skills, docs, and agents.md. Adds a shared execFile-based CLI-invocation helper (src/lib/run_xano_cli.ts),\n[…]\n the CLI itself. Drops the now-unused execFile-based CLI-invocation helper.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add xano_knowledge_list and xano_knowledge_get MCP tools (#61)",
          "author_name": "Izzy",
          "author_login": "xano-izzy",
          "committed_at": "2026-07-02T17:55:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c72a41005bda49e3b4a444e2c1c938e28c024d69",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of github.com:xano-inc/xano-developer-mcp",
          "author_name": "bearded-xano",
          "author_login": "bearded-xano",
          "committed_at": "2026-06-29T17:25:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16abceddd849824155a5f1349faa54fc97fa264f",
          "body": null,
          "is_bot": false,
          "headline": "2.2.2-beta.1",
          "author_name": "bearded-xano",
          "author_login": "bearded-xano",
          "committed_at": "2026-06-29T17:25:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed7cb7339f34a38cbfa3ecb543c21ef4fdc6f870",
          "body": "…#60)\n\n* docs(xanoscript): note validation is syntax-only and push is additive\n\nTwo generalized insights for first-time agents, written terse for AI:\n\n- essentials.md: validation is syntax-only — a `valid` result can still fail at\n  runtime, so always validate -> push -> run.\n- tables.md + cli_docs \n[…]\ng, static-host, deploy) for discoverability.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* update static template path\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: AI-facing doc improvements (validation, push, static hosting) (…",
          "author_name": "Brice",
          "author_login": "bearded-xano",
          "committed_at": "2026-06-29T17:21:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9e5788cce551b9782746f995bef8ff54729ff04a",
          "body": "2.2.1 stable was rolled back; the version number is burned on npm,\nso the beta line continues as 2.2.2-beta.0.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: move version back to beta track (2.2.2-beta.0)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-10T20:27:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3ebd924b8670def0ac734d2e602fd0bcb68b6b6d",
          "body": "…-7190) (#59)\n\n* docs: distinguish expression vs lambda (JS) higher-order filters (DEV-7190)\n\nAudit of the pipe filters in cloud-client/x2 confirmed XanoScript has two\ndisjoint higher-order filter families that AI assistants were mixing up:\n\n- map/filter/some/every/find/findIndex/reduce take inline \n[…]\nnpm audit: 0 vulnerabilities. Build + 218/218 tests + parser smoke test pass.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: distinguish expression vs lambda (JS) higher-order filters (DEV…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-10T20:10:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "670b8606f2cb3edc574cacda53184517efe2445b",
          "body": "…(#58)\n\n* docs(cli): document one-shot --code auth flow for scripts and agents\n\nRewrite the auth topic around the new non-interactive login added in\nxano-inc/cli#21: --code/XANO_AUTH_CODE, -i matching by name/ID/URL,\nnon-interactive defaults, and --json output. Add an explicit AI-agent\nsetup workflo\n[…]\n-code flow instead of\n  bare `xano auth` (which blocks on a browser callback)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(cli): document one-shot --code auth flow for scripts and agents …",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-10T17:44:26Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b1cef4bc5098130eecb13228d1e82b51341dad03",
          "body": "…e) (#57)\n\n* docs(cli): document piped-stdin code in --no-browser auth flow, sync with CLI v1.0.3-beta.9\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* chore: bump version to 2.2.1-beta.2\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(cli): sync cli_docs with CLI v1.0.3-beta.9 (stdin-piped auth cod…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-09T21:48:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c598bf4ac7e5d31ce372aefe9a5733e0aedefa47",
          "body": "…a.0 (#56)\n\nSync the xano_cli_docs topics with CLI changes since v1.0.2-beta.3:\n\n- auth: --no-browser headless login flow; -i/-w/-b/-p pre-select flags\n  with \"\" empty-value semantics\n- profile: new `profile use` command and project-local profile.yaml\n  (no secrets, parent-dir discovery, active-targ\n[…]\ns auth mention, profile.yaml precedence, refreshed\n  static_host category description\n\nAlso sync package-lock.json version (was stale at 2.0.5).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(cli): sync cli_docs with CLI v1.0.3-beta.8 and bump to 2.2.1-bet…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-09T20:28:55Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d601640dc198cbba690d5ef8ee51f167fd0cf617",
          "body": "Add native Xano file-uploads documentation and wire up topic aliases at runtime; bump docs to 2.3.0 / npm to 2.2.0.",
          "is_bot": false,
          "headline": "docs: file uploads topic + runtime alias resolution (#55)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-01T23:14:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fca22bd19d5a3ea668e1ce5854f1b8e26efd466b",
          "body": "Clarify that api.call/task.call/tool.call (tools.md) and the workflow-test\ncall functions belong in tools and workflow tests respectively, steering AI\ncodegen away from emitting them in API endpoints, functions, and tasks.\nPoints to function.run for calling functions from a regular stack.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: scope call statements to their home primitive (#54)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-01T22:11:02Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a89e1124504e0cf8a08b9a95721678133d61bc35",
          "body": "…cts (#53)\n\n* perf(docs): stop auto-bundling tier digests and re-tune topic priorities\n\nThe xanoscript_docs file_path mode auto-included the survival and working\ntier digests (applyTo \"**/*.xs\") alongside the granular topics they\nduplicate, and several construct docs had no priority so they loaded l\n[…]\nize reference (actual ~8KB).\n\nAll 211 tests pass.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "perf(docs): compact no-arg index + single source of truth for tier fa…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-01T22:03:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fbb2364fd2c65e789a37df6177c8c83be018ba2e",
          "body": "Make the backend-managed `guid` field guidance lean and directive-first\nfor AI consumers (single bolded line in README and syntax, dropping the\nredundant construct enumeration and code block). Bump package version to\n2.0.5 and docs version to 2.1.1.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(release): tighten guid field docs and bump to 2.0.5 (#52)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-06-01T20:56:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c8efaa1ba9e5e154d1e5d4d4b9135e32715c7862",
          "body": "… 2.0.4 (#51)\n\n- syntax.md System Context table synced with cloud-frontend env vars page (added $release, $platform, $debugger; removed $webflow)\n- syntax.md Request Context table given a Type column to match; removed unverified $remote_port/$remote_host\n- syntax.md: noted that user-defined env vars\n[…]\nmd & apis.md: path-param examples now use a static prefix (e.g., `get_one/{id}`) to avoid collisions\n- package.json: 2.0.3 → 2.0.4\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(release): sync system env vars, document public API URL, bump to…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-20T18:10:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1bff856200750980aaf4b841579dba8c51ed4a6b",
          "body": "Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): bump version to 2.0.3 (#50)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-18T17:28:00Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3c728e234128d2e3de95aadab549c31d50650911",
          "body": "Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): update @xano/xanoscript-language-server to ^12.4.0 (#49)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-18T17:21:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "9c64b6549e0ef3bb09010e3ed53e5e6cc8bc00c3",
          "body": "…arkers (#48)\n\n* docs(cli): sync cli_docs with latest CLI and document safety markers\n\nVerified each topic against `xano --help` output from CLI v1.0.2-beta.3:\n- branch list: add missing --backups flag\n- release push: remove nonexistent -b/--branch flag\n- static_host build get: correct positional ar\n[…]\nse deploy` to [IMPORTANT] list.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\n* Update version\n\n---------\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(cli): sync cli_docs with CLI v1.0.2-beta.3 and document safety m…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-15T22:14:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "86f448b592afd2ba7484921d65c6ec73a28d8b0d",
          "body": "* chore(deps): update @xano/xanoscript-language-server to ^12.3.0\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\n* chore: bump version to 2.0.1 for release\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): update @xano/xanoscript-language-server to ^12.3.0 (#47)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-14T20:33:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d7caea0647dbf161449ad3ce7a62fa1716d04a3d",
          "body": "Resolves 13 of 18 audit findings via transitive dependency bumps in\npackage-lock.json (no package.json changes). Affected packages include\nhono, @hono/node-server, express-rate-limit, ajv, fast-uri, ip-address,\npath-to-regexp, picomatch, postcss, qs, rollup, and vite.\n\nThe remaining 5 high-severity \n[…]\nernally as a\nparser dependency and does not expose `_.template`/`_.unset`/`_.omit` to\nattacker-controlled input from this package.\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): npm audit fix to resolve 13 vulnerabilities (#46)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-11T18:54:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2e5d6d35dd3844a93bdad6c640f5e466363a8474",
          "body": "v2.0.0: McpServer migration, Zod source-of-truth, xano_ tool namespace",
          "is_bot": false,
          "headline": "Merge pull request #45 from xano-inc/justin/v2-mcp-server-refactor",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-11T16:43:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e00102a7b917b4775f2ceb019dd7243ca40c74c9",
          "body": "- xano-init: allowed-tools and inline references now use xano_* tool\n  names under the mcp__xano__ prefix (matches the recommended client\n  config in the README)\n- xanoscript-docs-expert: cross-references in SKILL.md and\n  doc-conventions.md updated from xanoscript_docs({...}) to\n  xano_xanoscript_d\n[…]\nuidance now points at toolSpecs +\n  defineTool/dispatch instead of the removed *ToolDefinition exports\n  and toolDefinitions array\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: update skill references for v2 tool names and exports",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-11T16:42:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fca580a6152359c530baf0d266a037b6a3191139",
          "body": "Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: bump version to 2.0.0 for release",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-11T16:37:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a59d6fd855c69b518ee27b38483abdedd31fa1ea",
          "body": "Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: bump version to 2.0.0-beta.0 for npm beta tag",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-11T16:30:05Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b223db837673b005341d4297abe9be43eb0f295e",
          "body": "…ports\n\n- Add tsconfig.build.json that excludes **/*.test.ts; build script uses\n  it and wipes dist first so stale artifacts from old layouts (api_docs,\n  templates, xanoscript_docs_auto, *.test.js) can't leak into the\n  published tarball\n- README upgrade notes now cover the removed individual *Tool\n[…]\ntion\n\nThe default tsconfig still includes tests so typecheck and editors keep\nvalidating them — only the build output is narrowed.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Stop shipping test files in dist; document removed *ToolDefinition ex…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-10T20:09:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3845ee324247ee0b4a551e563c52f25cfeb2f696",
          "body": "…nitization\n\n- Declare zod ^4.0.0 in dependencies (was only transitive via SDK)\n- Wrap registerTool/registerResource handlers in try/catch so handler\n  exceptions return structured tool errors instead of transport failures\n- Strip $schema and additionalProperties from emitted JSON Schema; mark\n  Too\n[…]\nivation; McpServer InMemoryTransport\n  registration smoke test; warnings-count contract; field-name mention\n  in validation errors\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Address PR review: zod dep, error handling, typed dispatch, schema sa…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-10T19:55:50Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "15b64cb23ce76b9ac912c4ee6d1c0b1a05400c1c",
          "body": "All five MCP tools now share a consistent `xano_` prefix:\n\n- validate_xanoscript → xano_validate_xanoscript\n- xanoscript_docs    → xano_xanoscript_docs\n- meta_api_docs      → xano_meta_api_docs\n- cli_docs           → xano_cli_docs\n- mcp_version        → xano_version\n\nImproves discoverability when ma\n[…]\nBreaking change: MCP clients referencing tools by name must update.\nREADME \"Upgrading from 1.x to 2.0\" documents the rename table.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Normalize tool names under xano_ namespace",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-10T19:36:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e80bcb30cce3f9ea32345352d397cadccaed492c",
          "body": "BREAKING: handleTool is now async and returns Promise<ToolResult>.\n\n- Server moved from low-level Server to McpServer with registerTool /\n  registerResource. Schemas are derived from Zod via z.toJSONSchema, so\n  the wire-level JSON Schema can never drift from the runtime parser.\n- New tools/define_t\n[…]\nZod schema before reaching the handler.\n- validate_xanoscript success results now include a warnings count in\n  structuredContent.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "v2.0.0: Migrate MCP server to McpServer + Zod source-of-truth schemas",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-05-10T19:30:18Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2fbae12d2fae045b436f50bcae42beb4d3709590",
          "body": "Collapse multi-line where clauses in docs (1.0.75)",
          "is_bot": false,
          "headline": "Merge pull request #44 from xano-inc/docs/where-clause-single-line",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-23T22:37:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a2328d8665c145b943e3feca7408e998391ce6a",
          "body": "Multi-line `where` clauses with `&&` continuation across lines were\nmisleading as canonical examples. Collapse all six affected snippets\n(addons, syntax, tasks, tools, security x2) onto a single line.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Collapse multi-line where clauses in docs and bump to 1.0.75",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-23T22:36:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "96df0c91a6928943830c6d4a1a1d3e3048c6afb3",
          "body": "Audit and fix CLI docs against xano-inc/cli source",
          "is_bot": false,
          "headline": "Merge pull request #43 from xano-inc/docs/cli-accuracy-audit",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-20T18:30:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c34426698e1609e168e8783c247be52097ae0ec",
          "body": "Ran a 15-agent audit comparing every cli_docs topic against the actual\nCLI source at github.com/xano-inc/cli and corrected discrepancies so\neach topic now faithfully reflects the shipped commands.\n\nHighlights:\n- profile edit: restored documentation for --access_token, --instance_origin,\n  --account_\n[…]\nget/create/edit/\n  delete/set_live\n- README: CLI topic table synced with registry (removed deleted `run`\n  topic, added `sandbox`)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Audit and fix CLI docs against xano-inc/cli source",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-20T18:26:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e54c892d25212a773a6185a574f7d5e691cae117",
          "body": "Bump version to 1.0.73",
          "is_bot": false,
          "headline": "Merge pull request #42 from xano-inc/version/1.0.73",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-16T17:36:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b69bd6e65cd787c3ee478e6aaf67804d8f56c66f",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update debugging documentation",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-16T17:36:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6b515a24f82e03c15626d1a5710e1b937aadfd2f",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump version to 1.0.73",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-16T17:34:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "11a7fb864e8ba86a281f213db1c12c262fdf3d70",
          "body": null,
          "is_bot": false,
          "headline": "Inc to 1.0.72",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-16T15:59:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06c0e07511a2fb25534929118628945a5409b27a",
          "body": "Document xano-init skill install in README",
          "is_bot": false,
          "headline": "Merge pull request #41 from xano-inc/docs/init-skill-readme",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-16T15:59:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da60e5ec9e1d4b99a58378622a18bb55d5341a73",
          "body": "Splits the Xano Skills section into two audiences: Claude Code users\nworking inside this repo (already set up via .claude/skills/, zero\ninstall) and users on other agents or projects who need the npx\nskills add command. Also surfaces the newly-shipped\nxanoscript-docs-expert skill.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Clarify README skills section for in-repo vs. external install",
          "author_name": "lowcodelockyy",
          "author_login": "lowcodelockyy",
          "committed_at": "2026-04-15T23:56:50Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6ac82f48a7280b0de3577f15b3c400757555d95e",
          "body": "Ships xanoscript-docs-expert under skills/ so it can be installed via\nthe Agent Skills CLI alongside xano-init, and mirrors xano-init into\n.claude/skills/ so Claude Code picks it up automatically when working\nin this repo.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Distribute xano-init and xanoscript-docs-expert skills",
          "author_name": "lowcodelockyy",
          "author_login": "lowcodelockyy",
          "committed_at": "2026-04-15T23:53:38Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2787dbe1e1534036f283ea686d1dab251c51f11c",
          "body": "Adds a concise \"Xano Skills\" section to the README covering the\nrecommended `npx skills add` command, multi-agent install, and how\nto invoke the skill once loaded.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Document xano-init skill install in README",
          "author_name": "lowcodelockyy",
          "author_login": "lowcodelockyy",
          "committed_at": "2026-04-15T23:08:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4eb1e5dd1a77309866afa377caa76525c3f9c4b1",
          "body": null,
          "is_bot": false,
          "headline": "Inc package.json to release skill",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-15T22:52:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3f13e79769ac25683f49a61644fc5fb8d808e4b",
          "body": "Add xano-init skill for workspace discovery",
          "is_bot": false,
          "headline": "Merge pull request #40 from xano-inc/init-skill",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-15T22:50:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8385a970aeb26cfa4efbc7afa1df6f9bc6932b2",
          "body": "Introduces a guided setup skill that profiles a Xano workspace to build a\ndevelopment playbook centered on the sandbox workflow.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add xano-init skill for workspace discovery",
          "author_name": "lowcodelockyy",
          "author_login": "lowcodelockyy",
          "committed_at": "2026-04-15T22:43:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "68c7c54d337059aaa58aaa777c48c0aa97117bea",
          "body": "Add severity support to validation diagnostics",
          "is_bot": false,
          "headline": "Merge pull request #39 from xano-inc/feat/validation-severity-support",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-13T21:51:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56d5ef7998305e2a72c164ad0ca05d20d9124606",
          "body": "Upgrade to xanoscript-language-server v12 which includes severity on\ndiagnostics. The validator now processes both parser.errors (ERROR) and\nparser.warnings (WARNING), with warnings no longer marking code as\ninvalid. Also removes deleted run/schema doc topics from tests.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add severity support to validation diagnostics",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-13T21:50:22Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a97e522e3dd96fd728d843f1eef83337d77b2e43",
          "body": "Add dblink input type docs",
          "is_bot": false,
          "headline": "Merge pull request #38 from xano-inc/docs/dblink-input-type",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-13T21:00:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4be1ca4264d56433db4a536984475635cf726e17",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add dblink input type docs, remove run/schema docs",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-13T20:51:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c7985360ca421aa1eabe3a1f997954d6422e5e79",
          "body": "Add API route collision documentation",
          "is_bot": false,
          "headline": "Merge pull request #37 from xano-inc/docs/api-route-collisions",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-09T21:40:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "970d1149db7fdf45ca3f5201b0ddaa0e5415774f",
          "body": "Xano routing does not cascade, so bare wildcard segments like\n{workspace_id} collide with literal paths at the same position.\nDocument this behavior and recommend prefixing wildcards with a\nliteral segment.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add route collision docs for API wildcard paths",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-09T21:39:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2fb08a4e522b730e1098889051f2e0f913286a44",
          "body": "Expand comments section with placement examples",
          "is_bot": false,
          "headline": "Merge pull request #36 from xano-inc/docs/expand-comments-section",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-08T20:09:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c3239bdfb198f68282c487960efd60e0c491c84",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Expand comments section with placement examples",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-08T20:09:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e59dff2148aa678da85128a5fb87f79986ebb14a",
          "body": null,
          "is_bot": false,
          "headline": "Update package.json",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-07T21:48:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd6c97cae858dab815e9f0fe4d80e249d0d94605",
          "body": "Add publish:beta and publish:latest npm scripts",
          "is_bot": false,
          "headline": "Merge pull request #35 from xano-inc/chore/publish-beta-scripts",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-07T21:46:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "379fa156a79fab367bf8a09057e396b031462c69",
          "body": "Mirrors the workflow from xano-inc/cli: bump-version.sh handles\nbeta/patch bumps and check-publish-tag.sh guards against publishing\nprerelease versions without --tag.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add publish:beta and publish:latest npm scripts",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-07T20:13:50Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e8b5d6b9d89a8767527ae1266c18e769c6e79e12",
          "body": "…t-practice\n\nAdd schema ordering best practice to tables docs",
          "is_bot": false,
          "headline": "Merge pull request #34 from xano-inc/chore/tables-schema-ordering-bes…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-03T19:38:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83dad57f0ac42e902826e814687d5ff192769c1a",
          "body": "Document the recommendation to add new fields to the bottom of the\nschema block. Reorder examples to follow this convention. Bump version\nto 1.0.65.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add schema ordering best practice to tables docs",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-03T19:37:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6d1fc34d2909c844927e0d831a52e84ca2e56b69",
          "body": "Audit doc file paths for consistency with workspace structure",
          "is_bot": false,
          "headline": "Merge pull request #33 from xano-inc/chore/audit-doc-file-paths",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-02T20:05:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ba33d8bba6aa7d6999ecc27a3798ee7504f9e53",
          "body": "Functions can have subdirectory nesting (e.g., function/some/path/util.xs),\nso the glob pattern needs ** to match at any depth.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Use function/**/*.xs glob to support nested function paths",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-02T20:04:05Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b23af22660ec78c18816a0539f518f2822f74852",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump version to 1.0.64",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-02T19:53:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1cb8ea417ef6ab5f04bc1b5467e1f0a3124bfea0",
          "body": "- Plural → singular folder names: tables/ → table/, apis/ → api/,\n  functions/ → function/, tasks/ → task/, addons/ → addon/\n- AI constructs under ai/ prefix: agent/ → ai/agent/, tool/ → ai/tool/,\n  mcp_server/ → ai/mcp_server/\n- Triggers per-construct instead of unified: triggers/ → */trigger/,\n  a\n[…]\nltime/trigger/ entries\n- Updated applyTo in all 24 doc files, docs_index.json, skill references,\n  source code examples, and tests\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Audit and fix all doc file paths to match actual workspace structure",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-02T19:51:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7450f38c8ed1b77fc62ca64db875b8b0c2116064",
          "body": "…erver\n\nBump @xano/xanoscript-language-server to 11.12.0",
          "is_bot": false,
          "headline": "Merge pull request #31 from xano-inc/chore/bump-xanoscript-language-s…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-01T18:31:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbf8bf58eef174e00b1e9b5ccce009e5ad437fd4",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump @xano/xanoscript-language-server to 11.12.0 and version to 1.0.63",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-01T18:30:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "de7d075092cb199b9751f0bff19421e6c6be6d80",
          "body": "…erver\n\nBump xanoscript-language-server to 11.11.0",
          "is_bot": false,
          "headline": "Merge pull request #30 from xano-inc/chore/bump-xanoscript-language-s…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-01T17:24:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c6fcb39f2192d3bd674c2596d1a1e88f122a9ba",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump @xano/xanoscript-language-server to 11.11.0 and version to 1.0.62",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-04-01T17:23:23Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a5c5c72948e17f977a71985f9baf78afbba02c14",
          "body": "Add CLI docs for new commands and update README",
          "is_bot": false,
          "headline": "Merge pull request #29 from xano-inc/xanojustin/update-cli-docs",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-20T16:40:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a4e809f9889ec621896cd001db1aeb132cb7fe2",
          "body": "…ommands\n\nAdd 7 new CLI documentation topics (auth, release, tenant, unit_test,\nworkflow_test, platform, update) and update 8 existing topics with new\nflags, commands, and related_topics cross-references. Update README with\nthe new available topics. Bump version to 1.0.61.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add CLI docs for auth, release, tenant, tests, platform, and update c…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-20T16:29:44Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ded8fe84f398a4bfe060e039f522d4bbb91b4cd6",
          "body": "Fix broken topic references and add Related Topics",
          "is_bot": false,
          "headline": "Merge pull request #28 from xano-inc/fix/docs-topic-references",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-12T16:42:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1dfb94a34cc4d69b152ffc36103d86a8a33c6bb0",
          "body": "- Use fully qualified paths (integrations/redis) instead of bare names (redis) in README sub-topics\n- Fix functions.md referencing \"testing\" instead of \"unit-testing\"\n- Add all missing topics to survival.md Available Topics list\n- Add syntax sub-topics to README Core Language table\n- Add Related Topics sections to middleware, branch, workspace, schema, realtime, debugging docs\n- Bump version to 1.0.60\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix broken topic references and add missing Related Topics sections",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-12T16:42:01Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fc633825d92c31c0c9d8b9f5ccbdcab12b82f3b2",
          "body": "Add tiered doc delivery and dedup for low-end AI models",
          "is_bot": false,
          "headline": "Merge pull request #27 from xano-inc/feat/docs-tiered-delivery-and-dedup",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-05T21:53:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c9988117dd7b92bb6bfa12d47e125ab4c7b6977",
          "body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump version to 1.0.59",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-05T21:53:29Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8644450477fe44fdb94160647835c2ab942a42a2",
          "body": "…ters\n\nAdd tier and max_tokens parameters to the root README tool docs,\nadd survival/working entries to Available Topics and MCP Resources tables,\nadd tier examples, and add Tiers section to xanoscript_docs README index.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update documentation to include survival/working tiers and new parame…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-05T21:52:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "eab88929f6c702aabb972b9d1b10a7d9b10fb040",
          "body": "… models\n\n- Add survival (~800 tokens) and working (~3500 tokens) documentation tiers\n- Add max_tokens budget parameter for context-aware topic loading\n- Add priority-based topic ordering in docs_index.json\n- Fix extractQuickReference() to include Common Mistakes sections\n- Add token estimates to index mode output\n- Deduplicate content across 28 documentation files (286KB → 237KB)\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add tiered documentation delivery and deduplicate docs for low-end AI…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-05T21:52:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3da392b240d60932db7c82ee965297891a37da93",
          "body": "…-server-11.8.2\n\nBump @xano/xanoscript-language-server to 11.8.2",
          "is_bot": false,
          "headline": "Merge pull request #26 from xano-inc/chore/update-xanoscript-language…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-03T22:23:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a62ed7351cb463074d662aa86551f3d2849ee122",
          "body": "Update @xano/xanoscript-language-server from ^11.6.5 to ^11.8.2 and\nbump package version to 1.0.58. All 184 tests pass.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump @xano/xanoscript-language-server to 11.8.2 and version to 1.0.58",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-03-03T22:23:30Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c987fec71ba5416a211669c580d4ea8753b7435a",
          "body": "…advanced\n\nArchitecture improvements and advanced MCP features (iterations 5 & 6)",
          "is_bot": false,
          "headline": "Merge pull request #25 from xano-inc/feat/iteration-5-6-architecture-…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T20:57:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9009f885fb6c0e248303048a6b0a7482ba39b641",
          "body": "Sync documentation with current codebase: replace cheatsheet/quickstart\nwith essentials topic, add syntax sub-topics (string-filters,\narray-filters, functions), document index mode and exclude_topics\nparameter, update project structure and test coverage sections, and\nfix docs_index.json reference in documentation structure.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update README to reflect iteration 5/6 changes",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T20:56:58Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0636b96549f11f35d0f50d25799ea611d65b5260",
          "body": "Iteration 5 - Architecture & Code Quality:\n- Unify path resolution: remove duplicate getXanoscriptDocsPath from index.ts\n- Add content caching with Map<string, string> for doc file reads and version\n- Expand test coverage: 2 new test files (tools/index.test.ts, tools/xanoscript_docs.test.ts)\n- Add r\n[…]\nnitions with structuredContent\n  in tool responses for programmatic client access\n\nTests: 184 total (all passing), TypeScript compiles cleanly.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Architecture improvements and advanced MCP features (iterations 5 & 6)",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T20:51:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f943a4f7520c76a279a6a0c48f339da35535e953",
          "body": "Reduce doc redundancy: consolidate essentials, split syntax sub-topics",
          "is_bot": false,
          "headline": "Merge pull request #24 from xano-inc/feat/iteration-4-reduce-redundancy",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T20:23:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd5f855c7d7ea6852d87dc984f4121a96a1750a0",
          "body": "…x into sub-topics\n\n- Merge cheatsheet.md and quickstart.md into essentials.md (34% size reduction)\n- Split syntax.md (37.9KB → 17.2KB core + 3 on-demand sub-topics)\n  - syntax/string-filters.md: string filters, regex, encoding, security filters\n  - syntax/array-filters.md: array filters, functional\n[…]\nct, bitwise functions\n- Update topic registry, tests, tool descriptions, and cross-references\n- Update docs_index.json with new topic structure\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Reduce doc redundancy: consolidate cheatsheet+quickstart, split synta…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T20:10:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4782684b2ed06f533a5f02fdcd3f108501a4c511",
          "body": "Fix doc content quality: backticks, commas, incorrect operations, stale refs",
          "is_bot": false,
          "headline": "Merge pull request #23 from xano-inc/fix/iteration-3-doc-content-quality",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T19:30:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0c10170fe9825af71e3359cb10148770007fff9",
          "body": "…le refs\n\n- Remove unnecessary backticks from conditional examples (syntax.md, quickstart.md)\n- Clarify backtick expression mode in syntax.md Expressions section\n- Fix comma rules: db.del multi-line without commas (cheatsheet.md), throw\n  block comma removed (quickstart.md), expanded Common Mistake \n[…]\n.md)\n- Remove stale line number references from README.md and security.md\n- Remove duplicate storage.s3_put/s3_get entries from docs_index.json\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix doc content quality: backticks, commas, incorrect operations, sta…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T19:28:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4e29aff93bbb311a5a5df08226dcfb59df433f20",
          "body": "Reduce context window usage for file_path doc lookups",
          "is_bot": false,
          "headline": "Merge pull request #22 from xano-inc/feat/iteration-2-context-efficiency",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T19:06:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d71e96eeb201feb637a50c5501a1e90e001dfc8",
          "body": "- Narrow applyTo patterns: remove realtime, schema, streaming, addons,\n  and integrations from broad functions/apis globs (topic-only now)\n- Add exclude_topics parameter so AIs can skip already-loaded topics\n- Default to quick_reference mode for file_path (87% size reduction)\n- Update tests for narrowed patterns and new features\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Reduce context window usage for file_path doc lookups",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T19:05:20Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fda0c1a4a74235ac9bed87bc2a1fe6e7fcb09026",
          "body": "…ments\n\nFix doc bugs, add tool annotations, and improve error handling",
          "is_bot": false,
          "headline": "Merge pull request #21 from xano-inc/fix/iteration-1-bugs-and-improve…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T18:43:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ca6953ee4d551979c6737797d8bddae529f17ce",
          "body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "style: improve foreach formatting in quickstart.md",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T18:42:47Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "9124e71bcdd89e0e3c101332ca2a08d11f771b7a",
          "body": "…ation\n\n- Fix db.delete → db.del in quickstart CRUD table\n- Fix # → // comments in unit-testing.md code blocks\n- Fix each ($items as $item) → foreach standard syntax in quickstart\n- Fix |uuid → security.create_uuid in debugging.md and security.md\n- Add MCP tool annotations (readOnlyHint, etc.) to al\n[…]\nings in readXanoscriptDocsV2\n- Remove unreachable \"Error: Invalid parameters\" return\n- Fix workspace.xs test to use workspace/workspace.xs path\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix doc bugs, add tool annotations, enum validation, and error propag…",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-26T18:22:11Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "02779f8f3b8722eb086d843fb4ab05a076b5fb35",
          "body": null,
          "is_bot": false,
          "headline": "Inc package version",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-20T23:29:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36b3edd039fe75f25a02b56ea20f8ba6023e59b1",
          "body": "docs: clarify $input prefix required, $var prefix optional for stack variables",
          "is_bot": false,
          "headline": "Merge pull request #20 from xano-inc/docs/input-variable-access-rules",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-20T23:29:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "107b5298ccdc0d2ceda0c40d5ab37694d588cee7",
          "body": "…variables\n\nAdd explicit documentation across syntax.md, quickstart.md, and the\nskill reference explaining that input fields must always be accessed as\n$input.fieldname, while stack variables declared with var can be\nreferenced as either $var.name or the bare shorthand $name.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: clarify $input prefix required, $var prefix optional for stack …",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-20T23:23:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f0f9cba8dbc1ed9b010646c8fd66b01f7a082b02",
          "body": "docs: add $index to reserved variable names",
          "is_bot": false,
          "headline": "Merge pull request #19 from xano-inc/docs/add-index-reserved-variable",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-20T23:04:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "258074b46a53e645bc9e08b83bb1f17ea55ff6ef",
          "body": "Replaces \\$index with \\$idx in loop examples across docs and skill\nreferences to avoid using the newly reserved variable name.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: update examples to use \\$idx now that \\$index is reserved",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-20T23:03:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ffec1eddba83149835c7641d3a5b97e488920410",
          "body": "Adds \\$index to all reserved variable name lists across documentation and\nthe validator, reflecting its special role as the loop iteration counter\nin for loops.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: add \\$index to reserved variable names",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-20T22:59:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c6f6834b6ad9aaeb0d701b9b1028d317758154fa",
          "body": null,
          "is_bot": false,
          "headline": "Inc package",
          "author_name": "Justin Albrecht",
          "author_login": "xanojustin",
          "committed_at": "2026-02-20T21:58:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 8,
      "commits_last_year": 208,
      "latest_release_at": "2026-07-16T18:02:14Z",
      "latest_release_tag": "v2.2.3",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 20,
      "days_since_latest_release": 10,
      "mean_days_between_releases": 9.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": 25,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@xano/developer-mcp",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "xano",
            "mcp",
            "model-context-protocol",
            "xanoscript",
            "documentation",
            "api",
            "claude",
            "ai"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@xano/developer-mcp",
          "is_deprecated": false,
          "latest_version": "2.2.4",
          "repository_url": "https://github.com/xano-inc/xano-developer-mcp",
          "versions_count": 95,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 5,
          "monthly_downloads": 3462,
          "first_published_at": "2026-02-05T18:56:13.631000Z",
          "latest_published_at": "2026-07-20T18:16:07.074000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 1,
      "stars": 9,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-04-20",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": null,
      "open_issues_and_prs": 1
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": true,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 41837,
      "source_files_sampled": 63,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "src/xanoscript_docs/agents.md"
      ],
      "agent_instruction_max_bytes": 8227
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.17.23",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-f23m-r3pf-42rh",
              "GHSA-r5fr-rjxr-66jc"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 116
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.15",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-frvp-7c67-39w9"
            ],
            "fixed_version": "2.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 5
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1,
          "moderate": 1
        },
        "advisory_count": 3,
        "affected_count": 2,
        "assessed_count": 112,
        "malicious_count": 0,
        "assessed_package": "npm:@xano/developer-mcp@2.2.4",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.26.0"
        },
        {
          "name": "@xano/xanoscript-language-server",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.8.0"
        },
        {
          "name": "minimatch",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.1.2"
        },
        {
          "name": "zod",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@modelcontextprotocol/sdk",
            "direct": true,
            "version": "1.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@xano/xanoscript-language-server",
            "direct": true,
            "version": "12.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": true,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "4.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/cst-dts-gen",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/gast",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/regexp-to-ast",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/types",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/utils",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.14",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/minimatch",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.19.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chevrotain",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": false,
            "version": "2.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource-parser",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "express-rate-limit",
            "direct": false,
            "version": "8.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hono",
            "direct": false,
            "version": "4.12.25",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-promise",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-typed",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pkce-challenge",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.14",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-addr",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.2",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "router",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "3.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-literal",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "tinypool",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyspy",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "7.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite-node",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-jsonrpc",
            "direct": false,
            "version": "8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver-protocol",
            "direct": false,
            "version": "3.17.5",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver-textdocument",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver-types",
            "direct": false,
            "version": "3.17.5",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "zod-to-json-schema",
            "direct": false,
            "version": "3.25.1",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 209,
        "direct_count": 4,
        "indirect_count": 205
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 1,
        "merged_prs": 64,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 1,
        "closed_unmerged_prs": 1
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "xanojustin",
          "commits": 185,
          "avatar_url": "https://avatars.githubusercontent.com/u/132400351?v=4"
        },
        {
          "type": "User",
          "login": "lowcodelockyy",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/152480932?v=4"
        },
        {
          "type": "User",
          "login": "bearded-xano",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/168130497?v=4"
        },
        {
          "type": "User",
          "login": "nocodebackend",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/75691803?v=4"
        },
        {
          "type": "User",
          "login": "kristakrebsxano",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/223342255?v=4"
        },
        {
          "type": "User",
          "login": "xano-izzy",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/186202090?v=4"
        }
      ],
      "contributors_sampled": 6,
      "top_contributor_share": 0.934
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "22 out of 22 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 1,
            "reason": "Found 3/28 approved changesets -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "13 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "0cbfc16c6c937dc9a7a555118858bc5ca7d81aa4",
        "ran_at": "2026-07-27T08:53:12Z",
        "aggregate_score": 3.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-26T14:02:23Z",
      "oldest_open_prs": [
        {
          "number": 62,
          "created_at": "2026-07-08T20:30:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-21T23:15:00Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/xano-inc/xano-developer-mcp",
    "host": "github.com",
    "name": "xano-developer-mcp",
    "owner": "xano-inc"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 56,
      "inputs": {
        "security": 45,
        "vitality": 87,
        "community": 38,
        "governance": 58,
        "engineering": 42
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 87,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "commits_last_year": 208,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 20
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "20/52 weeks with commits",
                "points": 13.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 20
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "208 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 208
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 8,
              "latest_release_tag": "v2.2.3",
              "releases_from_tags": false,
              "days_since_latest_release": 10,
              "mean_days_between_releases": 9.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "8 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 10 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~9.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 9.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 38,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 15,
            "inputs": {
              "forks": 1,
              "stars": 9,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "9 stars",
                "points": 14.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 59,
            "inputs": {
              "packages": [
                "@xano/developer-mcp"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3462
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,462 downloads/month across npm",
                "points": 47.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3462,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 58,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 19,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 6,
              "top_contributor_share": 0.934
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 93% of commits",
                "points": 1.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 93
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "6 contributors",
                "points": 8.1,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "merged_prs": 64,
              "open_issues": 0,
              "closed_issues": 1,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 1
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "64/65 decided PRs merged",
                "points": 37.7,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 64,
                      "decided": 65
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 3/28 approved changesets -- score normalized to 1",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "followers": 4,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "xano-inc",
              "public_repos": 9,
              "account_age_days": 345
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "4 followers of xano-inc",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 4,
                      "login": "xano-inc"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "9 public repos, account ~0 yr old",
                "points": 9.2,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 9
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@xano/developer-mcp"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 6
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 6 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "95 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 95
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "at_risk",
        "name": "Engineering Quality",
        "value": 42,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "22 out of 22 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 45,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 37,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 3.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "22 out of 22 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 3/28 approved changesets -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "13 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:@xano/developer-mcp@2.2.4 runtime dependency closure — what installing the published package pulls in — 112 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@xano/developer-mcp@2.2.4",
                  "assessed": 112
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 76,
            "inputs": {
              "source": "osv",
              "advisories": 3,
              "affected_packages": 2,
              "assessed_packages": 112,
              "unassessed_packages": 0,
              "affected_by_severity": "high 1, moderate 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "2 affected: lodash-es 4.17.23 (high 8.1), @hono/node-server 1.19.15 (moderate 5.9)",
                "points": 7.7,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "lodash-es 4.17.23 (high 8.1), @hono/node-server 1.19.15 (moderate 5.9)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 116 days ago",
                "points": 33.3,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 116
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 112,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 67,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.84,
              "agent_instruction_files": [
                "src/xanoscript_docs/agents.md"
              ],
              "agent_instruction_max_bytes": 8227
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "src/xanoscript_docs/agents.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "src/xanoscript_docs/agents.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "84 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 84,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 59,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.66,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "66 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 66,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 41837,
              "source_files_sampled": 63,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/63 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 63,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "critical",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 20,
            "inputs": {
              "example_dirs": [],
              "has_mcp_signal": true,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T08:53:29.183055Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/x/xano-inc/xano-developer-mcp.svg",
  "full_name": "xano-inc/xano-developer-mcp",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаnpm.