@batijs/cli 0.0.653 → 0.0.655
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{asset-package.json-Si0Lg6sw.js → asset-package.json-B9hqkASo.js} +1 -1
- package/dist/{asset-package.json-Cr9kL--9.js → asset-package.json-BTRRukgq.js} +1 -1
- package/dist/{asset-package.json-CK8Focys.js → asset-package.json-D0F4ITHn.js} +1 -1
- package/dist/{asset-package.json-DP7v-FYq.js → asset-package.json-DbnTcIM5.js} +1 -1
- package/dist/boilerplates/@batijs/auth0/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/authjs/bati.config.mjs +16 -2
- package/dist/boilerplates/@batijs/aws/bati.config.mjs +13 -1
- package/dist/boilerplates/@batijs/better-auth/bati.config.mjs +17 -2
- package/dist/boilerplates/@batijs/biome/bati.config.mjs +16 -2
- package/dist/boilerplates/@batijs/cloudflare/bati.config.mjs +15 -1
- package/dist/boilerplates/@batijs/compiled/bati.config.mjs +13 -1
- package/dist/boilerplates/@batijs/compiled/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/compiled/files/asset-package.json.mjs +1 -1
- package/dist/boilerplates/@batijs/d1/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/d1-kysely/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/d1-sqlite/bati.config.mjs +18 -4
- package/dist/boilerplates/@batijs/docker-compose/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/dokploy/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/drizzle/bati.config.mjs +17 -1
- package/dist/boilerplates/@batijs/edgeone/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/elysia/bati.config.mjs +15 -2
- package/dist/boilerplates/@batijs/elysia/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/elysia/files/asset-package.json.mjs +1 -1
- package/dist/boilerplates/@batijs/eslint/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/express/bati.config.mjs +15 -2
- package/dist/boilerplates/@batijs/express/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/express/files/asset-package.json.mjs +1 -1
- package/dist/boilerplates/@batijs/fastify/bati.config.mjs +15 -2
- package/dist/boilerplates/@batijs/fastify/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/fastify/files/asset-package.json.mjs +1 -1
- package/dist/boilerplates/@batijs/google-analytics/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/hono/bati.config.mjs +15 -2
- package/dist/boilerplates/@batijs/hono/files/$package.json.js +1 -1
- package/dist/boilerplates/@batijs/hono/files/asset-package.json.mjs +1 -1
- package/dist/boilerplates/@batijs/kysely/bati.config.mjs +16 -2
- package/dist/boilerplates/@batijs/mantine/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/netlify/bati.config.mjs +18 -4
- package/dist/boilerplates/@batijs/oxlint/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/plausible.io/bati.config.mjs +18 -4
- package/dist/boilerplates/@batijs/pnpm/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/postgres/bati.config.mjs +13 -1
- package/dist/boilerplates/@batijs/prettier/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/prisma/bati.config.mjs +20 -2
- package/dist/boilerplates/@batijs/react/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/react-better-auth/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/react-sentry/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/sentry/bati.config.mjs +14 -1
- package/dist/boilerplates/@batijs/shadcn-ui/bati.config.mjs +19 -4
- package/dist/boilerplates/@batijs/shared/bati.config.mjs +94 -1
- package/dist/boilerplates/@batijs/shared-agents/bati.config.mjs +17 -0
- package/dist/boilerplates/@batijs/shared-agents/hooks/after.mjs +15 -0
- package/dist/boilerplates/@batijs/shared-agents/hooks/asset-boilerplates/shared-agents/agents-md.mjs +70 -0
- package/dist/boilerplates/@batijs/shared-agents/hooks/asset-boilerplates/shared-agents/compose.mjs +44 -0
- package/dist/boilerplates/@batijs/shared-agents/hooks/asset-packages/features/dist/features-CStxEDu3.mjs +690 -0
- package/dist/boilerplates/@batijs/shared-agents/hooks/asset-packages/features/dist/index.mjs +160 -0
- package/dist/boilerplates/@batijs/shared-db/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/shared-env/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/shared-server/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/shared-todo/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/solid/bati.config.mjs +18 -4
- package/dist/boilerplates/@batijs/solid-better-auth/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/solid-sentry/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/sqlite/bati.config.mjs +13 -1
- package/dist/boilerplates/@batijs/storybook/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/tailwindcss/bati.config.mjs +27 -2
- package/dist/boilerplates/@batijs/telefunc/bati.config.mjs +20 -4
- package/dist/boilerplates/@batijs/trpc/bati.config.mjs +19 -4
- package/dist/boilerplates/@batijs/ts-rest/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/universal-deploy/bati.config.mjs +21 -4
- package/dist/boilerplates/@batijs/vercel/bati.config.mjs +13 -1
- package/dist/boilerplates/@batijs/vue/bati.config.mjs +14 -2
- package/dist/boilerplates/@batijs/vue-better-auth/bati.config.mjs +1 -1
- package/dist/boilerplates/@batijs/vue-sentry/bati.config.mjs +1 -1
- package/dist/boilerplates/boilerplates.json +6 -0
- package/dist/index.js +6 -2
- package/package.json +5 -5
- package/dist/{asset-package.json-uf2g2h8M.js → asset-package.json-C5reKTg3.js} +1 -1
|
@@ -0,0 +1,690 @@
|
|
|
1
|
+
//#region ../../packages/features/dist/features-CStxEDu3.js
|
|
2
|
+
/**
|
|
3
|
+
* In forder to have an icon that has different colors based on dark/light mode:
|
|
4
|
+
*
|
|
5
|
+
* <style>
|
|
6
|
+
* path { fill: black; }
|
|
7
|
+
*
|
|
8
|
+
* @media (prefers-color-scheme: dark) {
|
|
9
|
+
* path { fill: white; }
|
|
10
|
+
* }
|
|
11
|
+
* </style>
|
|
12
|
+
*/
|
|
13
|
+
const features = [
|
|
14
|
+
{
|
|
15
|
+
category: "Frontend Framework",
|
|
16
|
+
label: "Vike",
|
|
17
|
+
flag: "vike",
|
|
18
|
+
llms: "https://vike.dev/llms.txt",
|
|
19
|
+
image: "data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaGFtbWVyIiB3aWR0aD0iNDcuMjE3IiBoZWlnaHQ9IjQ3LjIxNyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSItNTAgLTUwIDQ3LjIxNyA0Ny4yMTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzAuMjksLTIxLjMpIj4KICA8ZyBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICA8cGF0aCBkPSJtLTguNTExLTEwLjQ0OSAxLjEyNiA0LjA2NCAyLjcwNy0yLjc2NXoiIGZpbGw9IiNhYmFiYWIiLz4KICAgPHBhdGggZD0ibS0yLjI3My0yNC40OTYtNi4yMzggMTQuMDQ3IDMuODMzIDEuMjk5IDYuMjM4LTE0LjA0OHoiIGZpbGw9IiM5NDk0OTQiLz4KICAgPHBhdGggZD0ibS0yLjI3My0yNC40OTYgMy40NjUtMS4yMDQuMzY4IDIuNTAyeiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTcuNTExIDQuNjc0LTIuNzA3IDIuNzY2LTIyLjE4OS0xMy44MjUgMi43MDctMi43NjV6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgPC9nPgogIDxnIHN0cm9rZT0iIzgyODI4MiI+CiAgIDxwYXRoIGQ9Im0tMTAuNTI2IDIzLjcwNS0xLjE3IDIuNjM0IiBzdHJva2Utd2lkdGg9IjkuNiIvPgogICA8cGF0aCBkPSJtLTEzLjg5OSAyNi41MjhjLTEuODUxLTEuMTUzLTIuMzI2LTIuMTMzLTEuMDg3LTIuMjM5IDEuMjQtLjEwNiAzLjY0My43MDkgNS40OTQgMS44NjIgMS44NSAxLjE1MyAyLjMyNiAyLjEzMiAxLjA4NiAyLjIzOC0xLjIzOS4xMDYtMy42NDItLjcwOC01LjQ5My0xLjg2MSIgZmlsbD0iIzgyODI4MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgIDxwYXRoIGQ9Im0tMTIuNzMgMjMuODk0YzEuODUxIDEuMTUzIDQuMjU1IDEuOTY3IDUuNDk0IDEuODYxcy43NjQtMS4wODUtMS4wODctMi4yMzhjLTEuODUtMS4xNTMtNC4yNTQtMS45NjctNS40OTMtMS44NjEtMS4yNC4xMDYtLjc2NCAxLjA4NSAxLjA4NiAyLjIzOCIgZmlsbD0iIzgyODI4MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgPC9nPgogIDxnIHN0cm9rZT0iIzdhN2E3YSI+CiAgIDxwYXRoIGQ9Im0tOS44NDQgMjIuMTY5LS4zOS44NzgiIHN0cm9rZS13aWR0aD0iOS4xIi8+CiAgIDxwYXRoIGQ9Im0tMTIuNDM3IDIzLjIzNWMtMS44NTEtMS4xNTMtMi4zMjYtMi4xMzItMS4wODctMi4yMzggMS4yNC0uMTA2IDMuNjQzLjcwOCA1LjQ5NCAxLjg2MSAxLjg1IDEuMTUzIDIuMzI2IDIuMTMzIDEuMDg2IDIuMjM5LTEuMjM5LjEwNi0zLjY0Mi0uNzA5LTUuNDkzLTEuODYyIiBmaWxsPSIjN2E3YTdhIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iLjUiLz4KICAgPHBhdGggZD0ibS0xMi4wNDcgMjIuMzU3YzEuODUgMS4xNTMgNC4yNTQgMS45NjggNS40OTMgMS44NjIgMS4yNC0uMTA2Ljc2NC0xLjA4Ni0xLjA4Ny0yLjIzOS0xLjg1LTEuMTUzLTQuMjU0LTEuOTY3LTUuNDkzLTEuODYxcy0uNzY0IDEuMDg1IDEuMDg3IDIuMjM4IiBmaWxsPSIjN2E3YTdhIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iLjUiLz4KICA8L2c+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgPHBhdGggZD0ibS0xNi43MS05Ljc0OCA4LjE5OS0uNzAxIDEuMTI2IDQuMDY0LTguMTk5LjcwMXoiIGZpbGw9IiM5NDk0OTQiLz4KICAgPHBhdGggZD0ibTIzLjc0OS05LjM3My02LjIzOCAxNC4wNDctMjIuMTg5LTEzLjgyNCA2LjIzOC0xNC4wNDh6IiBmaWxsPSIjNzU3NTc1Ii8+CiAgIDxwYXRoIGQ9Im0xMC4yNzEtMTYuMDczIDMuNzUxIDMuNTM0Yy4wNjIuMDU4LjA4My4xNTYuMDUyLjIzOGwtMS45NSA1LjEyOGMtLjA0Ni4xMjEtLjE4LjE1My0uMjY4LjA2NWwtMS4wMjQtMS4wM2MtLjA5NS0uMDk2LS4yNDItLjA0OC0uMjc1LjA5MWwtLjUxNiAyLjE1MmMtLjAzNC4xNDUtLjE5MS4xOS0uMjg0LjA4MiAwIDAtLjYwNi0uNjk2LS42MDYtLjY5Ni0uMDk0LS4xMDgtLjI1LS4wNjMtLjI4NS4wODJsLS44MDMgMy4zODRjLS4wNS4yMTItLjMxNy4xNzgtLjMzNi0uMDQzbC0uMDE0LS4xNDdzLjA1OC05Ljg5Mi4wNTgtOS44OTJjLjAwMS0uMTY1LjE2NS0uMjUzLjI3Ny0uMTQ4bDEuMDc3IDEuMDA5Yy4xMDEuMDk1LjI1LjAzNC4yNzQtLjExMWwuNTk3LTMuNTg3Yy4wMjUtLjE0Ni4xNzQtLjIwNi4yNzUtLjExMXoiIGZpbGw9IiNmYmJmMjgiIHN0cm9rZT0iI2ZiYmYyOCIgc3Ryb2tlLXdpZHRoPSIuNiIvPgogICA8cGF0aCBkPSJtLTE2LjcxLTkuNzQ4IDguMTk5LS43MDEgNi4yMzgtMTQuMDQ3LTguMTk5LjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICA8L2c+CiAgPHBhdGggZD0ibS0xLjc1NCAzLjk1MS03Ljk5MiAxNy45OTgiIHN0cm9rZT0iIzkxNTEyYiIgc3Ryb2tlLXdpZHRoPSI4LjYiLz4KICA8ZyBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICA8cGF0aCBkPSJtLTExLjk1IDIyLjEzOGMtMS44NTEtMS4xNTMtMi4zMjYtMi4xMzItMS4wODctMi4yMzggMS4yNC0uMTA2IDMuNjQzLjcwOCA1LjQ5NCAxLjg2MXMyLjMyNiAyLjEzMiAxLjA4NyAyLjIzOGMtMS4yNC4xMDYtMy42NDMtLjcwOC01LjQ5NC0xLjg2MSIgZmlsbD0iIzkxNTEyYiIvPgogICA8cGF0aCBkPSJtLTMuOTU4IDQuMTM5YzEuODUxIDEuMTUzIDQuMjU0IDEuOTY4IDUuNDk0IDEuODYyIDEuMjM5LS4xMDYuNzY0LTEuMDg2LTEuMDg3LTIuMjM5cy00LjI1NC0xLjk2Ny01LjQ5My0xLjg2MWMtMS4yNC4xMDYtLjc2NCAxLjA4NSAxLjA4NiAyLjIzOCIgZmlsbD0iIzkxNTEyYiIvPgogICA8cGF0aCBkPSJtMS4xOTItMjUuNy4zNjggMi41MDIgMjIuMTg5IDEzLjgyNS0uMzY4LTIuNTAzeiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtLTEwLjQ3Mi0yMy43OTUgOC4xOTktLjcwMSAzLjQ2NS0xLjIwNC04LjE5OS43MDF6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgPC9nPgogIDxnIHN0cm9rZT0iIzZlNmU2ZSI+CiAgIDxwYXRoIGQ9Im0tLjQ4NyAxLjA5Ny0xLjE3IDIuNjM0IiBzdHJva2Utd2lkdGg9IjkuMSIvPgogICA8cGF0aCBkPSJtLTMuODYgMy45MmMtMS44NTEtMS4xNTMtMi4zMjYtMi4xMzItMS4wODctMi4yMzhzMy42NDMuNzA4IDUuNDkzIDEuODYxYzEuODUxIDEuMTUzIDIuMzI3IDIuMTMyIDEuMDg3IDIuMjM4LTEuMjM5LjEwNi0zLjY0My0uNzA4LTUuNDkzLTEuODYxIiBmaWxsPSIjNmU2ZTZlIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iLjUiLz4KICAgPHBhdGggZD0ibS0yLjY5MSAxLjI4NmMxLjg1MSAxLjE1MyA0LjI1NCAxLjk2NyA1LjQ5NCAxLjg2MSAxLjIzOS0uMTA2Ljc2NC0xLjA4NS0xLjA4Ny0yLjIzOHMtNC4yNTQtMS45NjctNS40OTMtMS44NjFjLTEuMjQuMTA2LS43NjQgMS4wODUgMS4wODYgMi4yMzgiIGZpbGw9IiM2ZTZlNmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIuNSIvPgogIDwvZz4KICA8ZyBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICA8cGF0aCBkPSJtMTguMjY5IDYuMjM2LTMuNDY1IDEuMjA0IDIuNzA3LTIuNzY2eiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTQuODA0IDcuNDQtOC4xOTkuNzAxLTIyLjE4OS0xMy44MjUgOC4xOTktLjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICAgPHBhdGggZD0ibS0xNi43MS05Ljc0OCAxLjEyNiA0LjA2NC0uMzY3LTIuNTAyeiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMjQuNTA3LTcuODEyLTYuMjM4IDE0LjA0OC0uNzU4LTEuNTYyIDYuMjM4LTE0LjA0N3oiIGZpbGw9IiM5NDk0OTQiLz4KICAgPHBhdGggZD0ibS0xMC40NzItMjMuNzk1LTYuMjM4IDE0LjA0Ny43NTkgMS41NjIgNi4yMzctMTQuMDQ4eiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtMjQuNTA3LTcuODEyLTEuMTI2LTQuMDY0LjM2OCAyLjUwM3oiIGZpbGw9IiNhYmFiYWIiLz4KICAgPHBhdGggZD0ibTIzLjM4MS0xMS44NzYtOC4xOTkuNzAxLTIyLjE4OS0xMy44MjQgOC4xOTktLjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICAgPHBhdGggZD0ibS0xMC40NzItMjMuNzk1IDMuNDY1LTEuMjA0LTIuNzA3IDIuNzY1eiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTguMjY5IDYuMjM2LTguMTk5LjcwMS0zLjQ2NSAxLjIwNCA4LjE5OS0uNzAxeiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtLTE1Ljk1MS04LjE4Ni4zNjcgMi41MDIgMjIuMTg5IDEzLjgyNS0uMzY3LTIuNTAzeiIgZmlsbD0iIzk0OTQ5NCIvPgogICA8cGF0aCBkPSJtMTguMjY5IDYuMjM2LTguMTk5LjcwMSA2LjIzOC0xNC4wNDggOC4xOTktLjcwMXoiIGZpbGw9IiM3NTc1NzUiLz4KICAgPHBhdGggZD0ibS05LjcxNC0yMi4yMzQtNi4yMzcgMTQuMDQ4IDIyLjE4OSAxMy44MjQgNi4yMzctMTQuMDQ3eiIgZmlsbD0iIzc1NzU3NSIvPgogICA8cGF0aCBkPSJtMi41NDUtMTIuNzktNC41ODMtMS42NTljLS4wNzYtLjAyNy0uMTU2LjAwOC0uMTk1LjA4NSAwIDAtMi40NjMgNC44MDgtMi40NjMgNC44MDgtLjA1OC4xMTQtLjAwNS4yNjMuMTA3LjI5OGwxLjI5Ni40MTZjLjEyMi4wMzkuMTcxLjIxLjA5My4zMjEgMCAwLTEuMjA1IDEuNzIyLTEuMjA1IDEuNzIyLS4wODEuMTE2LS4wMjQuMjk0LjEwNS4zMjVsLjgyNy4xOTZjLjEyOC4wMzEuMTg2LjIwOS4xMDQuMzI1IDAgMC0xLjg5OSAyLjcwMS0xLjg5OSAyLjcwMS0uMTE4LjE2OS4wNTYuNDEuMjIuMzA0bC4xMS0uMDcgNi44NDktNS42NjFjLjExNS0uMDk1LjA4My0uMzA0LS4wNTQtLjM1NGwtMS4zMTItLjQ4Yy0uMTIzLS4wNDUtLjE2NS0uMjI0LS4wNzgtLjMzMSAwIDAgMi4xNTctMi42MTUgMi4xNTctMi42MTUuMDg3LS4xMDYuMDQ1LS4yODYtLjA3OS0uMzMxeiIgZmlsbD0iI2ZiYmYyOCIgc3Ryb2tlPSIjZmJiZjI4IiBzdHJva2Utd2lkdGg9Ii42Ii8+CiAgIDxwYXRoIGQ9Im0yNC41MDctNy44MTItOC4xOTkuNzAxLTEuMTI2LTQuMDY0IDguMTk5LS43MDF6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgIDxwYXRoIGQ9Im0xNS4xODItMTEuMTc1LTIuNzA3IDIuNzY2LTIyLjE4OS0xMy44MjUgMi43MDctMi43NjV6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgIDxwYXRoIGQ9Im0xMC4wNyA2LjkzNy0zLjQ2NSAxLjIwNC0uMzY3LTIuNTAzeiIgZmlsbD0iI2FiYWJhYiIvPgogICA8cGF0aCBkPSJtMTYuMzA4LTcuMTExLTYuMjM4IDE0LjA0OC0zLjgzMi0xLjI5OSA2LjIzNy0xNC4wNDd6IiBmaWxsPSIjOTQ5NDk0Ii8+CiAgIDxwYXRoIGQ9Im0xNi4zMDgtNy4xMTEtMS4xMjYtNC4wNjQtMi43MDcgMi43NjZ6IiBmaWxsPSIjYWJhYmFiIi8+CiAgPC9nPgogPC9nPgo8L3N2Zz4K",
|
|
20
|
+
url: "https://vike.dev",
|
|
21
|
+
tagline: "Flexible, lean, reliable, community-driven, fast Vite-based frontend framework",
|
|
22
|
+
repo: "vikejs/vike",
|
|
23
|
+
links: [{
|
|
24
|
+
label: "Docs",
|
|
25
|
+
href: "https://vike.dev"
|
|
26
|
+
}, {
|
|
27
|
+
label: "FAQ",
|
|
28
|
+
href: "https://vike.dev/faq"
|
|
29
|
+
}],
|
|
30
|
+
tooltip: "Vike cannot be disabled. It is the foundation that allows all others tools to work cohesively",
|
|
31
|
+
invisibleCli: true,
|
|
32
|
+
readonly: true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
category: "UI Framework",
|
|
36
|
+
label: "React",
|
|
37
|
+
flag: "react",
|
|
38
|
+
llms: "https://react.dev/llms.txt",
|
|
39
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjEzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyOCI+PHBhdGggZmlsbD0iIzAwRDhGRiIgZD0iTTIxMC40ODMgNzMuODI0YTE3MS40OSAxNzEuNDkgMCAwIDAtOC4yNC0yLjU5N2MuNDY1LTEuOS44OTMtMy43NzcgMS4yNzMtNS42MjFjNi4yMzgtMzAuMjgxIDIuMTYtNTQuNjc2LTExLjc2OS02Mi43MDhjLTEzLjM1NS03LjctMzUuMTk2LjMyOS01Ny4yNTQgMTkuNTI2YTE3MS4yMyAxNzEuMjMgMCAwIDAtNi4zNzUgNS44NDhhMTU1Ljg2NiAxNTUuODY2IDAgMCAwLTQuMjQxLTMuOTE3QzEwMC43NTkgMy44MjkgNzcuNTg3LTQuODIyIDYzLjY3MyAzLjIzM0M1MC4zMyAxMC45NTcgNDYuMzc5IDMzLjg5IDUxLjk5NSA2Mi41ODhhMTcwLjk3NCAxNzAuOTc0IDAgMCAwIDEuODkyIDguNDhjLTMuMjguOTMyLTYuNDQ1IDEuOTI0LTkuNDc0IDIuOThDMTcuMzA5IDgzLjQ5OCAwIDk4LjMwNyAwIDExMy42NjhjMCAxNS44NjUgMTguNTgyIDMxLjc3OCA0Ni44MTIgNDEuNDI3YTE0NS41MiAxNDUuNTIgMCAwIDAgNi45MjEgMi4xNjVhMTY3LjQ2NyAxNjcuNDY3IDAgMCAwLTIuMDEgOS4xMzhjLTUuMzU0IDI4LjItMS4xNzMgNTAuNTkxIDEyLjEzNCA1OC4yNjZjMTMuNzQ0IDcuOTI2IDM2LjgxMi0uMjIgNTkuMjczLTE5Ljg1NWExNDUuNTY3IDE0NS41NjcgMCAwIDAgNS4zNDItNC45MjNhMTY4LjA2NCAxNjguMDY0IDAgMCAwIDYuOTIgNi4zMTRjMjEuNzU4IDE4LjcyMiA0My4yNDYgMjYuMjgyIDU2LjU0IDE4LjU4NmMxMy43MzEtNy45NDkgMTguMTk0LTMyLjAwMyAxMi40LTYxLjI2OGExNDUuMDE2IDE0NS4wMTYgMCAwIDAtMS41MzUtNi44NDJjMS42Mi0uNDggMy4yMS0uOTc0IDQuNzYtMS40ODhjMjkuMzQ4LTkuNzIzIDQ4LjQ0My0yNS40NDMgNDguNDQzLTQxLjUyYzAtMTUuNDE3LTE3Ljg2OC0zMC4zMjYtNDUuNTE3LTM5Ljg0NFptLTYuMzY1IDcwLjk4NGMtMS40LjQ2My0yLjgzNi45MS00LjMgMS4zNDVjLTMuMjQtMTAuMjU3LTcuNjEyLTIxLjE2My0xMi45NjMtMzIuNDMyYzUuMTA2LTExIDkuMzEtMjEuNzY3IDEyLjQ1OS0zMS45NTdjMi42MTkuNzU4IDUuMTYgMS41NTcgNy42MSAyLjRjMjMuNjkgOC4xNTYgMzguMTQgMjAuMjEzIDM4LjE0IDI5LjUwNGMwIDkuODk2LTE1LjYwNiAyMi43NDMtNDAuOTQ2IDMxLjE0Wm0tMTAuNTE0IDIwLjgzNGMyLjU2MiAxMi45NCAyLjkyNyAyNC42NCAxLjIzIDMzLjc4N2MtMS41MjQgOC4yMTktNC41OSAxMy42OTgtOC4zODIgMTUuODkzYy04LjA2NyA0LjY3LTI1LjMyLTEuNC00My45MjctMTcuNDEyYTE1Ni43MjYgMTU2LjcyNiAwIDAgMS02LjQzNy01Ljg3YzcuMjE0LTcuODg5IDE0LjQyMy0xNy4wNiAyMS40NTktMjcuMjQ2YzEyLjM3Ni0xLjA5OCAyNC4wNjgtMi44OTQgMzQuNjcxLTUuMzQ1YTEzNC4xNyAxMzQuMTcgMCAwIDEgMS4zODYgNi4xOTNaTTg3LjI3NiAyMTQuNTE1Yy03Ljg4MiAyLjc4My0xNC4xNiAyLjg2My0xNy45NTUuNjc1Yy04LjA3NS00LjY1Ny0xMS40MzItMjIuNjM2LTYuODUzLTQ2Ljc1MmExNTYuOTIzIDE1Ni45MjMgMCAwIDEgMS44NjktOC40OTljMTAuNDg2IDIuMzIgMjIuMDkzIDMuOTg4IDM0LjQ5OCA0Ljk5NGM3LjA4NCA5Ljk2NyAxNC41MDEgMTkuMTI4IDIxLjk3NiAyNy4xNWExMzQuNjY4IDEzNC42NjggMCAwIDEtNC44NzcgNC40OTJjLTkuOTMzIDguNjgyLTE5Ljg4NiAxNC44NDItMjguNjU4IDE3Ljk0Wk01MC4zNSAxNDQuNzQ3Yy0xMi40ODMtNC4yNjctMjIuNzkyLTkuODEyLTI5Ljg1OC0xNS44NjNjLTYuMzUtNS40MzctOS41NTUtMTAuODM2LTkuNTU1LTE1LjIxNmMwLTkuMzIyIDEzLjg5Ny0yMS4yMTIgMzcuMDc2LTI5LjI5M2MyLjgxMy0uOTggNS43NTctMS45MDUgOC44MTItMi43NzNjMy4yMDQgMTAuNDIgNy40MDYgMjEuMzE1IDEyLjQ3NyAzMi4zMzJjLTUuMTM3IDExLjE4LTkuMzk5IDIyLjI0OS0xMi42MzQgMzIuNzkyYTEzNC43MTggMTM0LjcxOCAwIDAgMS02LjMxOC0xLjk3OVptMTIuMzc4LTg0LjI2Yy00LjgxMS0yNC41ODctMS42MTYtNDMuMTM0IDYuNDI1LTQ3Ljc4OWM4LjU2NC00Ljk1OCAyNy41MDIgMi4xMTEgNDcuNDYzIDE5LjgzNWExNDQuMzE4IDE0NC4zMTggMCAwIDEgMy44NDEgMy41NDVjLTcuNDM4IDcuOTg3LTE0Ljc4NyAxNy4wOC0yMS44MDggMjYuOTg4Yy0xMi4wNCAxLjExNi0yMy41NjUgMi45MDgtMzQuMTYxIDUuMzA5YTE2MC4zNDIgMTYwLjM0MiAwIDAgMS0xLjc2LTcuODg3Wm0xMTAuNDI3IDI3LjI2OGEzNDcuOCAzNDcuOCAwIDAgMC03Ljc4NS0xMi44MDNjOC4xNjggMS4wMzMgMTUuOTk0IDIuNDA0IDIzLjM0MyA0LjA4Yy0yLjIwNiA3LjA3Mi00Ljk1NiAxNC40NjUtOC4xOTMgMjIuMDQ1YTM4MS4xNTEgMzgxLjE1MSAwIDAgMC03LjM2NS0xMy4zMjJabS00NS4wMzItNDMuODYxYzUuMDQ0IDUuNDY1IDEwLjA5NiAxMS41NjYgMTUuMDY1IDE4LjE4NmEzMjIuMDQgMzIyLjA0IDAgMCAwLTMwLjI1Ny0uMDA2YzQuOTc0LTYuNTU5IDEwLjA2OS0xMi42NTIgMTUuMTkyLTE4LjE4Wk04Mi44MDIgODcuODNhMzIzLjE2NyAzMjMuMTY3IDAgMCAwLTcuMjI3IDEzLjIzOGMtMy4xODQtNy41NTMtNS45MDktMTQuOTgtOC4xMzQtMjIuMTUyYzcuMzA0LTEuNjM0IDE1LjA5My0yLjk3IDIzLjIwOS0zLjk4NGEzMjEuNTI0IDMyMS41MjQgMCAwIDAtNy44NDggMTIuODk3Wm04LjA4MSA2NS4zNTJjLTguMzg1LS45MzYtMTYuMjkxLTIuMjAzLTIzLjU5My0zLjc5M2MyLjI2LTcuMyA1LjA0NS0xNC44ODUgOC4yOTgtMjIuNmEzMjEuMTg3IDMyMS4xODcgMCAwIDAgNy4yNTcgMTMuMjQ2YzIuNTk0IDQuNDggNS4yOCA4Ljg2OCA4LjAzOCAxMy4xNDdabTM3LjU0MiAzMS4wM2MtNS4xODQtNS41OTItMTAuMzU0LTExLjc3OS0xNS40MDMtMTguNDMzYzQuOTAyLjE5MiA5Ljg5OS4yOSAxNC45NzguMjljNS4yMTggMCAxMC4zNzYtLjExNyAxNS40NTMtLjM0M2MtNC45ODUgNi43NzQtMTAuMDE4IDEyLjk3LTE1LjAyOCAxOC40ODZabTUyLjE5OC01Ny44MTdjMy40MjIgNy44IDYuMzA2IDE1LjM0NSA4LjU5NiAyMi41MmMtNy40MjIgMS42OTQtMTUuNDM2IDMuMDU4LTIzLjg4IDQuMDcxYTM4Mi40MTcgMzgyLjQxNyAwIDAgMCA3Ljg1OS0xMy4wMjZhMzQ3LjQwMyAzNDcuNDAzIDAgMCAwIDcuNDI1LTEzLjU2NVptLTE2Ljg5OCA4LjEwMWEzNTguNTU3IDM1OC41NTcgMCAwIDEtMTIuMjgxIDE5LjgxNWEzMjkuNCAzMjkuNCAwIDAgMS0yMy40NDQuODIzYy03Ljk2NyAwLTE1LjcxNi0uMjQ4LTIzLjE3OC0uNzMyYTMxMC4yMDIgMzEwLjIwMiAwIDAgMS0xMi41MTMtMTkuODQ2aC4wMDFhMzA3LjQxIDMwNy40MSAwIDAgMS0xMC45MjMtMjAuNjI3YTMxMC4yNzggMzEwLjI3OCAwIDAgMSAxMC44OS0yMC42MzdsLS4wMDEuMDAxYTMwNy4zMTggMzA3LjMxOCAwIDAgMSAxMi40MTMtMTkuNzYxYzcuNjEzLS41NzYgMTUuNDItLjg3NiAyMy4zMS0uODc2SDEyOGM3LjkyNiAwIDE1Ljc0My4zMDMgMjMuMzU0Ljg4M2EzMjkuMzU3IDMyOS4zNTcgMCAwIDEgMTIuMzM1IDE5LjY5NWEzNTguNDg5IDM1OC40ODkgMCAwIDEgMTEuMDM2IDIwLjU0YTMyOS40NzIgMzI5LjQ3MiAwIDAgMS0xMSAyMC43MjJabTIyLjU2LTEyMi4xMjRjOC41NzIgNC45NDQgMTEuOTA2IDI0Ljg4MSA2LjUyIDUxLjAyNmMtLjM0NCAxLjY2OC0uNzMgMy4zNjctMS4xNSA1LjA5Yy0xMC42MjItMi40NTItMjIuMTU1LTQuMjc1LTM0LjIzLTUuNDA4Yy03LjAzNC0xMC4wMTctMTQuMzIzLTE5LjEyNC0yMS42NC0yNy4wMDhhMTYwLjc4OSAxNjAuNzg5IDAgMCAxIDUuODg4LTUuNGMxOC45LTE2LjQ0NyAzNi41NjQtMjIuOTQxIDQ0LjYxMi0xOC4zWk0xMjggOTAuODA4YzEyLjYyNSAwIDIyLjg2IDEwLjIzNSAyMi44NiAyMi44NnMtMTAuMjM1IDIyLjg2LTIyLjg2IDIyLjg2cy0yMi44Ni0xMC4yMzUtMjIuODYtMjIuODZzMTAuMjM1LTIyLjg2IDIyLjg2LTIyLjg2WiIvPjwvc3ZnPg==",
|
|
40
|
+
url: "https://react.dev",
|
|
41
|
+
spectrum: "beaten_path",
|
|
42
|
+
tagline: "The library for web and native user interfaces",
|
|
43
|
+
repo: "facebook/react",
|
|
44
|
+
selected: true,
|
|
45
|
+
links: [{
|
|
46
|
+
label: "Learn",
|
|
47
|
+
href: "https://react.dev/learn"
|
|
48
|
+
}, {
|
|
49
|
+
label: "Docs",
|
|
50
|
+
href: "https://react.dev/reference/react"
|
|
51
|
+
}]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
category: "UI Framework",
|
|
55
|
+
label: "Vue",
|
|
56
|
+
flag: "vue",
|
|
57
|
+
llms: "https://vuejs.org/llms.txt",
|
|
58
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE2ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyMSI+PHBhdGggZmlsbD0iIzQxQjg4MyIgZD0iTTIwNC44IDBIMjU2TDEyOCAyMjAuOEwwIDBoOTcuOTJMMTI4IDUxLjJMMTU3LjQ0IDBoNDcuMzZaIi8+PHBhdGggZmlsbD0iIzQxQjg4MyIgZD0ibTAgMGwxMjggMjIwLjhMMjU2IDBoLTUxLjJMMTI4IDEzMi40OEw1MC41NiAwSDBaIi8+PHBhdGggZmlsbD0iIzM1NDk1RSIgZD0iTTUwLjU2IDBMMTI4IDEzMy4xMkwyMDQuOCAwaC00Ny4zNkwxMjggNTEuMkw5Ny45MiAwSDUwLjU2WiIvPjwvc3ZnPg==",
|
|
59
|
+
url: "https://vuejs.org",
|
|
60
|
+
tagline: "The Progressive JavaScript Framework",
|
|
61
|
+
repo: "vuejs/core",
|
|
62
|
+
links: [
|
|
63
|
+
{
|
|
64
|
+
label: "Quick start",
|
|
65
|
+
href: "https://vuejs.org/guide/quick-start.html"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
label: "Examples",
|
|
69
|
+
href: "https://vuejs.org/examples/#hello-world"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: "API",
|
|
73
|
+
href: "https://vuejs.org/api/"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
category: "UI Framework",
|
|
79
|
+
label: "SolidJS",
|
|
80
|
+
flag: "solid",
|
|
81
|
+
llms: "https://docs.solidjs.com/llms.txt",
|
|
82
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjA4ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIyNTYgMjM5IDI1NiAyMzkiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ibG9nb3NTb2xpZGpzSWNvbjAiIHgxPSIyNy41IiB4Mj0iMTUyIiB5MT0iMyIgeTI9IjYzLjUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4xIiBzdG9wLWNvbG9yPSIjNzZiM2UxIi8+PHN0b3Agb2Zmc2V0PSIuMyIgc3RvcC1jb2xvcj0iI2RjZjJmZCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzc2YjNlMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJsb2dvc1NvbGlkanNJY29uMSIgeDE9Ijk1LjgiIHgyPSI3NCIgeTE9IjMyLjYiIHkyPSIxMDUuMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgyNDkuNTYgMjMzLjEyKSBzY2FsZSgxLjYxMDA2KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzc2YjNlMSIvPjxzdG9wIG9mZnNldD0iLjUiIHN0b3AtY29sb3I9IiM0Mzc3YmIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxZjNiNzciLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibG9nb3NTb2xpZGpzSWNvbjIiIHgxPSIxOC40IiB4Mj0iMTQ0LjMiIHkxPSI2NC4yIiB5Mj0iMTQ5LjgiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzMTVhYTkiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjNTE4YWM4Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzE1YWE5Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImxvZ29zU29saWRqc0ljb24zIiB4MT0iNzUuMiIgeDI9IjI0LjQiIHkxPSI3NC41IiB5Mj0iMjYwLjgiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0Mzc3YmIiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjMWEzMzZiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMWEzMzZiIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbD0iIzc2YjNlMSIgZD0iTTUxMiAyODkuNDcycy04NS4zMzMtNjIuNzkxLTE1MS4zNDctNDguMzAxbC00LjgyOSAxLjYxYy05LjY2IDMuMjIxLTE3LjcxMSA4LjA1LTIyLjU0MiAxNC40OTFsLTMuMjE5IDQuODI5bC0yNC4xNTIgNDEuODYybDQxLjg2MyA4LjA1MWMxNy43MSAxMS4yNyA0MC4yNTEgMTYuMTAxIDYxLjE4MiAxMS4yN2w3NC4wNjMgMTQuNDkxTDUxMiAyODkuNDcyWiIvPjxwYXRoIGZpbGw9InVybCgjbG9nb3NTb2xpZGpzSWNvbjApIiBkPSJNNTEyIDI4OS40NzJzLTg1LjMzMy02Mi43OTEtMTUxLjM0Ny00OC4zMDFsLTQuODI5IDEuNjFjLTkuNjYgMy4yMjEtMTcuNzExIDguMDUtMjIuNTQyIDE0LjQ5MWwtMy4yMTkgNC44MjlsLTI0LjE1MiA0MS44NjJsNDEuODYzIDguMDUxYzE3LjcxIDExLjI3IDQwLjI1MSAxNi4xMDEgNjEuMTgyIDExLjI3bDc0LjA2MyAxNC40OTFMNTEyIDI4OS40NzJaIiBvcGFjaXR5PSIuMyIvPjxwYXRoIGZpbGw9IiM1MThhYzgiIGQ9Im0zMzMuMjgyIDI4OS40NzJsLTYuNDM5IDEuNjExYy0yNy4zNzEgOC4wNS0zNS40MjEgMzMuODExLTIwLjkzMiA1Ni4zNTJjMTYuMTAxIDIwLjkzMSA0OS45MTMgMzIuMjAxIDc3LjI4NCAyNC4xNTFsOTkuODI0LTMzLjgxMXMtODUuMzM0LTYyLjc5Mi0xNDkuNzM3LTQ4LjMwM1oiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24xKSIgZD0ibTMzMy4yODIgMjg5LjQ3MmwtNi40MzkgMS42MTFjLTI3LjM3MSA4LjA1LTM1LjQyMSAzMy44MTEtMjAuOTMyIDU2LjM1MmMxNi4xMDEgMjAuOTMxIDQ5LjkxMyAzMi4yMDEgNzcuMjg0IDI0LjE1MWw5OS44MjQtMzMuODExcy04NS4zMzQtNjIuNzkyLTE0OS43MzctNDguMzAzWiIgb3BhY2l0eT0iLjMiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24yKSIgZD0iTTQ2NS4zMDggMzYxLjkyNWMtMTguNDM5LTIzLjAzNi00OS4wMDgtMzIuNTg4LTc3LjI4My0yNC4xNWwtOTkuODIzIDMyLjIwMUwyNTYgNDI2LjMyOGwxODAuMzI3IDMwLjU5MmwzMi4yMDEtNTcuOTYzYzYuNDQxLTExLjI3MSA0LjgzMS0yNC4xNS0zLjIyLTM3LjAzMloiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24zKSIgZD0iTTQzMy4xMDYgNDE4LjI3N2MtMTguNDM5LTIzLjAzNi00OS4wMDYtMzIuNTg4LTc3LjI4Mi0yNC4xNUwyNTYgNDI2LjMyOHM4NS4zMzMgNjQuNDAyIDE1MS4zNDYgNDguMzAzbDQuODMtMS42MTJjMjcuMzcxLTguMDQ5IDM3LjAzMS0zMy44MSAyMC45My01NC43NDJaIi8+PC9zdmc+",
|
|
83
|
+
url: "https://www.solidjs.com",
|
|
84
|
+
spectrum: "bleeding_edge",
|
|
85
|
+
tagline: "Simple and performant reactivity for building user interfaces",
|
|
86
|
+
repo: "solidjs/solid",
|
|
87
|
+
links: [
|
|
88
|
+
{
|
|
89
|
+
label: "Getting started",
|
|
90
|
+
href: "https://www.solidjs.com/guides/getting-started"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
label: "Examples",
|
|
94
|
+
href: "https://www.solidjs.com/examples"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
label: "API",
|
|
98
|
+
href: "https://www.solidjs.com/docs/latest/api"
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
category: "CSS",
|
|
104
|
+
label: "TailwindCSS",
|
|
105
|
+
flag: "tailwindcss",
|
|
106
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjY3ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDE1NCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJsb2dvc1RhaWx3aW5kY3NzSWNvbjAiIHgxPSItMi43NzglIiB4Mj0iMTAwJSIgeTE9IjMyJSIgeTI9IjY3LjU1NiUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMyMjk4QkQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwRUQ3QjUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zVGFpbHdpbmRjc3NJY29uMCkiIGQ9Ik0xMjggMEM5My44NjcgMCA3Mi41MzMgMTcuMDY3IDY0IDUxLjJDNzYuOCAzNC4xMzMgOTEuNzMzIDI3LjczMyAxMDguOCAzMmM5LjczNyAyLjQzNCAxNi42OTcgOS40OTkgMjQuNDAxIDE3LjMxOEMxNDUuNzUxIDYyLjA1NyAxNjAuMjc1IDc2LjggMTkyIDc2LjhjMzQuMTMzIDAgNTUuNDY3LTE3LjA2NyA2NC01MS4yYy0xMi44IDE3LjA2Ny0yNy43MzMgMjMuNDY3LTQ0LjggMTkuMmMtOS43MzctMi40MzQtMTYuNjk3LTkuNDk5LTI0LjQwMS0xNy4zMThDMTc0LjI0OSAxNC43NDMgMTU5LjcyNSAwIDEyOCAwWk02NCA3Ni44QzI5Ljg2NyA3Ni44IDguNTMzIDkzLjg2NyAwIDEyOGMxMi44LTE3LjA2NyAyNy43MzMtMjMuNDY3IDQ0LjgtMTkuMmM5LjczNyAyLjQzNCAxNi42OTcgOS40OTkgMjQuNDAxIDE3LjMxOEM4MS43NTEgMTM4Ljg1NyA5Ni4yNzUgMTUzLjYgMTI4IDE1My42YzM0LjEzMyAwIDU1LjQ2Ny0xNy4wNjcgNjQtNTEuMmMtMTIuOCAxNy4wNjctMjcuNzMzIDIzLjQ2Ny00NC44IDE5LjJjLTkuNzM3LTIuNDM0LTE2LjY5Ny05LjQ5OS0yNC40MDEtMTcuMzE4QzExMC4yNDkgOTEuNTQzIDk1LjcyNSA3Ni44IDY0IDc2LjhaIi8+PC9zdmc+",
|
|
107
|
+
url: "https://tailwindcss.com",
|
|
108
|
+
spectrum: "beaten_path",
|
|
109
|
+
tagline: "Rapidly build modern websites without ever leaving your HTML",
|
|
110
|
+
repo: "tailwindlabs/tailwindcss",
|
|
111
|
+
links: [{
|
|
112
|
+
label: "Docs",
|
|
113
|
+
href: "https://tailwindcss.com/docs/installation"
|
|
114
|
+
}]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
category: "CSS",
|
|
118
|
+
label: "Compiled",
|
|
119
|
+
flag: "compiled-css",
|
|
120
|
+
image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFf0lEQVR4nLSaXWzbVBvHz3OOncRJnY926vp27Uu7Tm3Vsi7hsxpDRahjrMAFEqsYlAk6IQECpF2ttEwwGBLccAE3fAmhCfEhJK4AiQ+BGGKirJuYhoRg68pKV5bSZCEfrpPYMXLSpE5iJ3ZyciRfxD5+nud3nuc5/9ouc/fjh1Ajhgxc09Kmx76QCL+5Y/WNMbu0Mt8IP7gRRtXxj/uuo0lb560y8fauuseONcpPQwDW2I6BqGv46fzvhGNon8i0DzbCV0MAQvyeFxBgpnACEAnzo9ON8EUdQGTa+wTH4L2l5+Pc0HiSae2h7Y86wNWmkUMIdOwCZkL87hna/qgCyMDxcaf/QaPrcS4wQTsLVAGizuvHFWCbDCcAZkP8nc/T9EkVIMb5x6vNiXP+/SLTPkDLJzUAGTiXaOsaqToREAm57zhCyy81AMHWvQsBtpuZu64LVLJADUC0b91penI2C3uP0vBLD4DdErAyP8EN3rfGdgzV65caQJpp7bN6z9Wm2w/X65cKgIIAScTzf6v30VBnKgASuLwIsMPyjRTUmU4GsM1d671xLvCQyLRZLr/8oAKQAYep7VN3qFlw167OVABAScn13F+PLlACkBL1GahdnakAMBkhXK+NXBas94JlgEi6ZehvsXNMUQA2jKTSkFkLWrVVNGp8arMEEJW8vScje0+djo58fjY2/JqibFyzSavnrTovHXHO/4BVXbAEsCBuPwyY2DDG6LK47cmLwsAT+Wu29PKvVmzpjhp0wTSAIPOdQalnAgCj7IEB/S5c96paUup1R2pprpaYS4fVpzbTAAupwDMIGBtgjDAGpGYBMLGfS+x8U+0HLnXhRM1Ra0f2qc18FkwBJDKe7mCmbxJng1cD3zgSmZbhS2L/pF0KnidS5EJdwa8PK+psCuBP6cYjCBh7Lujc6mth5pOBY3KG5ZrEc5/WHT2yps5VARIZX88q6psoDTp/qL9l4NoWU/0HeeHMB1QALKhzVYC/lJtnAAibX31t4AUYwOhyevApLnXpLJu+QqWZzapzRQBB8V4Tgv4Jo9LJB6/+TiJ3b0jesssXP/E6FQCT6lwRYBkPTyFMWKPSKT2/Im3b7xbmPiTyvwtUCEyosyGAiDwdIXztI0aB51d/4zygkNJ1DyhS2hf7/hUqACbU2RBgmdwyhXBu58Ga8ikEDtos5HpDAldnQvH1eBM/vkfk2BIVgirqrAsggrcjzO44qA2utOZLM5PPTkxpuwmjdNIX+/ZlKgBV1FkX4Ipt5FnAjKNazeudF1DLdtWGN3HybSLR6gXjd6plACLe1B2x+Sd1gwa9oIu3VhH5tuYMp1PNsa9fpAJQ4Z1qGUDQcds0rO88heDUstEtHShrbAm7NudteYTZ40SK1P1ndnYY6EIRgIg3dUUd/gNFwYFRves3tvb1Okay3Bz75iUqAAbqXASw6hqdzv29vx4c6DdqGZAmOwizRGvTI8y+z0iRP6gQ6GShAJAkrd0xZ+Bh/T3eXAOrBwNyotiBmoWvnqMCoPPFswAQ4ken1NovXVH9oMGwsW0grJQ69QizH7Pplfqf2FC5OmcBUqS5Pe4MHMg1K6my0pUb246iF8t9Koov/h1Fdd54p5oFCPO7pxAQB4C65aoHyX7mNax3w8bGyImCv+g5dQtzHzFShM6/G2jUGadI8/+izhseLboOCOECiEHpGGSHlxd/0POJkSz5KO5IeXXGIX7PjLr6uqBqRrKrTQwbWwvDKaE5hxJeNHKq6gIjhX+jQrCuzjjO7bi/4jzQguiXVf5cS/rMO5VsZXek6JfUPrPGOf8+7BZOvYsQqvpytrg/SNkuxWWCPzUn545Xs+NZO/0Jl5z/rN7gFYQyvPDzW/8FAAD//wWcstmJqV1FAAAAAElFTkSuQmCC",
|
|
121
|
+
url: "https://compiledcssinjs.com",
|
|
122
|
+
tagline: "A familiar and performant compile time CSS-in-JS library for React.",
|
|
123
|
+
repo: "atlassian-labs/compiled",
|
|
124
|
+
links: [{
|
|
125
|
+
label: "Docs",
|
|
126
|
+
href: "https://compiledcssinjs.com/docs/"
|
|
127
|
+
}]
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
category: "UI Component Libraries",
|
|
131
|
+
label: "daisyUI",
|
|
132
|
+
flag: "daisyui",
|
|
133
|
+
llms: "https://daisyui.com/llms.txt",
|
|
134
|
+
dependsOn: ["tailwindcss"],
|
|
135
|
+
image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMzInIGhlaWdodD0nMzInIHZpZXdCb3g9JzAgMCA0MTUgNDE1JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxyZWN0IHg9JzgyLjUnIHk9JzI5MCcgd2lkdGg9JzI1MCcgaGVpZ2h0PScxMjUnIHJ4PSc2Mi41JyBmaWxsPScjMUFEMUE1Jz48L3JlY3Q+PGNpcmNsZSBjeD0nMjA3LjUnIGN5PScxMzUnIHI9JzEzMCcgZmlsbD0nYmxhY2snIGZpbGwtb3BhY2l0eT0nLjMnPjwvY2lyY2xlPjxjaXJjbGUgY3g9JzIwNy41JyBjeT0nMTM1JyByPScxMjUnIGZpbGw9J3doaXRlJz48L2NpcmNsZT48Y2lyY2xlIGN4PScyMDcuNScgY3k9JzEzNScgcj0nNTYnIGZpbGw9JyNGRjk5MDMnPjwvY2lyY2xlPjwvc3ZnPg==",
|
|
136
|
+
url: "https://daisyui.com",
|
|
137
|
+
tagline: "The most popular component library for Tailwind CSS",
|
|
138
|
+
repo: "saadeghi/daisyui",
|
|
139
|
+
links: [{
|
|
140
|
+
label: "Docs",
|
|
141
|
+
href: "https://daisyui.com/docs/use/"
|
|
142
|
+
}]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
category: "UI Component Libraries",
|
|
146
|
+
label: "shadcn/ui",
|
|
147
|
+
flag: "shadcn-ui",
|
|
148
|
+
llms: "https://ui.shadcn.com/llms.txt",
|
|
149
|
+
dependsOn: ["tailwindcss", "react"],
|
|
150
|
+
image: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48c3R5bGU+IHBhdGh7ZmlsbDpibGFjazt9QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtwYXRoe2ZpbGw6d2hpdGU7fX08L3N0eWxlPjxwYXRoIGQ9Ik0yMi4yMTkgMTEuNzg0IDExLjc4NCAyMi4yMTljLS40MDcuNDA3LS40MDcgMS4wNjggMCAxLjQ3Ni40MDcuNDA3IDEuMDY4LjQwNyAxLjQ3NiAwTDIzLjY5NSAxMy4yNmMuNDA3LS40MDguNDA3LTEuMDY5IDAtMS40NzYtLjQwOC0uNDA3LTEuMDY5LS40MDctMS40NzYgMFpNMjAuMTMyLjMwNS4zMDUgMjAuMTMyYy0uNDA3LjQwNy0uNDA3IDEuMDY4IDAgMS40NzYuNDA4LjQwNyAxLjA2OS40MDcgMS40NzYgMEwyMS42MDggMS43ODFjLjQwNy0uNDA3LjQwNy0xLjA2OCAwLTEuNDc2LS40MDgtLjQwNy0xLjA2OS0uNDA3LTEuNDc2IDBaIi8+PC9zdmc+",
|
|
151
|
+
url: "https://ui.shadcn.com",
|
|
152
|
+
tagline: "Beautifully designed components that you can copy and paste into your apps.",
|
|
153
|
+
repo: "shadcn-ui/ui",
|
|
154
|
+
links: [{
|
|
155
|
+
label: "Docs",
|
|
156
|
+
href: "https://ui.shadcn.com/docs"
|
|
157
|
+
}]
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
category: "UI Component Libraries",
|
|
161
|
+
label: "Mantine",
|
|
162
|
+
flag: "mantine",
|
|
163
|
+
llms: "https://mantine.dev/llms.txt",
|
|
164
|
+
dependsOn: ["react"],
|
|
165
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNjMgMTYzIj48cGF0aCBmaWxsPSIjMzM5QUYwIiBkPSJNMTYyLjE2MiA4MS41YzAtNDUuMDExLTM2LjMwMS04MS41LTgxLjA4LTgxLjVDMzYuMzAxIDAgMCAzNi40ODkgMCA4MS41IDAgMTI2LjUxIDM2LjMwMSAxNjMgODEuMDgxIDE2M3M4MS4wODEtMzYuNDkgODEuMDgxLTgxLjUiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNjUuOTgzIDQzLjA0OWE2LjIzIDYuMjMgMCAwIDAtLjMzNiA2Ljg4NCA2LjEgNi4xIDAgMCAwIDEuNjE4IDEuNzg2YzkuNDQ0IDcuMDM2IDE0Ljg2NiAxNy43OTQgMTQuODY2IDI5LjUycy01LjQyMiAyMi40ODQtMTQuODY2IDI5LjUyYTYuMiA2LjIgMCAwIDAtMS42MTYgMS43ODYgNi4yIDYuMiAwIDAgMC0uNjk0IDQuNjkzIDYuMiA2LjIgMCAwIDAgMS4wMjggMi4xODYgNi4xNSA2LjE1IDAgMCAwIDYuNDU3IDIuMzE5IDYuMiA2LjIgMCAwIDAgMi4xNzctMS4wMzUgNTAgNTAgMCAwIDAgNy45NDctNy4zOWgxNy40OTNjMy40MDYgMCA2LjE3NC0yLjc3MiA2LjE3NC02LjE5NHMtMi43NjItNi4xOTQtNi4xNzQtNi4xOTRoLTkuNjU1YTQ5LjIgNDkuMiAwIDAgMCA0LjA3MS0xOS42OSA0OS4yIDQ5LjIgMCAwIDAtNC4wNy0xOS42OTJoOS42NmMzLjQwNiAwIDYuMTczLTIuNzcxIDYuMTczLTYuMTk0cy0yLjc2Mi02LjE5My02LjE3My02LjE5M0g4Mi41NzRhNTAgNTAgMCAwIDAtNy45NTItNy4zOTcgNi4xNSA2LjE1IDAgMCAwLTQuNTc4LTEuMTUzIDYuMiA2LjIgMCAwIDAtNC4wNTUgMi40Mzh6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNTYuMjM2IDc5LjM5MWE5LjMgOS4zIDAgMCAxIC42MzItMy42MDggOS4zIDkuMyAwIDAgMSAxLjk2Ny0zLjA3NyA5LjEgOS4xIDAgMCAxIDIuOTk0LTIuMDYzIDkuMDYgOS4wNiAwIDAgMSA3LjEwMyAwIDkuMTUgOS4xNSAwIDAgMSAyLjk5NSAyLjA2MyA5LjMgOS4zIDAgMCAxIDEuOTY3IDMuMDc3IDkuMzQgOS4zNCAwIDAgMS0yLjEyNSAxMC4wMDMgOS4xIDkuMSAwIDAgMS02LjM4OCAyLjYzIDkuMSA5LjEgMCAwIDEtNi4zOS0yLjYzIDkuMyA5LjMgMCAwIDEtMi43NTUtNi4zOTUiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==",
|
|
166
|
+
url: "https://mantine.dev",
|
|
167
|
+
tagline: "A fully featured React components library.",
|
|
168
|
+
repo: "mantinedev/mantine",
|
|
169
|
+
links: [{
|
|
170
|
+
label: "Docs",
|
|
171
|
+
href: "https://mantine.dev/getting-started/"
|
|
172
|
+
}]
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
category: "Auth",
|
|
176
|
+
label: "Better Auth",
|
|
177
|
+
flag: "better-auth",
|
|
178
|
+
llms: "https://www.better-auth.com/llms.txt",
|
|
179
|
+
image: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48c3R5bGU+IHBhdGh7ZmlsbDpibGFjazt9QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtwYXRoe2ZpbGw6d2hpdGU7fX08L3N0eWxlPjxwYXRoIGQ9Ik0wIDMuMzl2MTcuMjJoNS43ODNWMTUuMDZoNi40MzRWOC45MzlINS43ODNWMy4zOVpNMTIuMjE3IDguOTRoNS42Mzh2Ni4xMjJoLTUuNjM4djUuNTQ4SDI0VjMuMzkxSDEyLjIxN1oiLz48L3N2Zz4=",
|
|
180
|
+
url: "https://better-auth.com",
|
|
181
|
+
spectrum: "bleeding_edge",
|
|
182
|
+
tagline: "The most comprehensive authentication framework for TypeScript",
|
|
183
|
+
repo: "better-auth/better-auth",
|
|
184
|
+
links: [{
|
|
185
|
+
label: "Getting started",
|
|
186
|
+
href: "https://better-auth.com/docs/installation"
|
|
187
|
+
}, {
|
|
188
|
+
label: "Docs",
|
|
189
|
+
href: "https://better-auth.com/docs"
|
|
190
|
+
}]
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
category: "Auth",
|
|
194
|
+
label: "Auth.js",
|
|
195
|
+
flag: "authjs",
|
|
196
|
+
image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjMyIiBoZWlnaHQ9IjIzMiIgdmlld0JveD0iMCAwIDIzMiAyMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMDguNjg3IDMxLjg1OUwzMC4wOTQ3IDE2Ny43M0M4LjE2Mzg4IDEyNy45NjYgMC41Njc1NTkgNzkuOTk3NSAwIDUxLjIyNzVWMzMuNjE4MUMwIDMxLjA1NjcgMi43Nzg4IDI5LjU2MjggNC4xNjg1MSAyOS4xMzU2QzMzLjU2MTcgMjAuMjc3OCA5My4yNDY1IDIuMzA1MjQgOTYuODM3OCAxLjI4MDY5QzEwMC40MjkgMC4yNTYxMzggMTAzLjQ2NCAwIDEwNC41MzQgMEgxMDQuNjMxQzEwNS43IDAgMTA4LjczNSAwLjI1NjEzOCAxMTIuMzI3IDEuMjgwNjlDMTE1LjkxOCAyLjMwNTI0IDE3NS42MDMgMjAuMjc3OCAyMDQuOTk2IDI5LjEzNTZDMjA2LjAzIDI5LjQ1MzMgMjA3LjgzMiAzMC4zNjEzIDIwOC42ODcgMzEuODU5WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzEyOF82MSkiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMwLjA5MzggMTY3Ljk1MkwyMDguNjg2IDMyLjA4MTVDMjA4Ljk4MSAzMi41OTgzIDIwOS4xNjQgMzMuMTg0MiAyMDkuMTY0IDMzLjg0MDZWNTEuNDVDMjA4LjIwMiAxMDAuMjIzIDE4Ny4wMzggMjA0LjE3MiAxMTAuMDgxIDIyOS43ODZDMTA5LjAxMyAyMzAuMjEzIDEwNi40OSAyMzEuMDY3IDEwNC45NTEgMjMxLjA2N0gxMDQuMjEyQzEwMi42NzMgMjMxLjA2NyAxMDAuMTUgMjMwLjIxMyA5OS4wODE0IDIyOS43ODZDNjcuNTE5MyAyMTkuMjgxIDQ1LjM0MTUgMTk1LjYgMzAuMDkzOCAxNjcuOTUyWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzEyOF82MSkiLz48cGF0aCBkPSJNMTExLjc0IDEuMjgzMjVDMTA4LjE0NyAwLjI1NjY1IDEwNS4xMSAwIDEwNC4wNCAwTDEwMy43MTkgMjMxLjMwNUgxMDQuMzYxQzEwNS45MDEgMjMxLjMwNSAxMDguNDI1IDIzMC40NSAxMDkuNDk0IDIzMC4wMjJDMTg2LjQ4OSAyMDQuMzU3IDIwNy42NjMgMTAwLjIgMjA4LjYyNSA1MS4zMjk5VjMzLjY4NTNDMjA4LjYyNSAzMS4xMTg4IDIwNS44NDUgMjkuNjIxNiAyMDQuNDU0IDI5LjE5MzlDMTc1LjA0NyAyMC4zMTgxIDExNS4zMzMgMi4zMDk4NSAxMTEuNzQgMS4yODMyNVoiIGZpbGw9InVybCgjcGFpbnQyX2xpbmVhcl8xMjhfNjEpIiBmaWxsLW9wYWNpdHk9IjAuMjEiLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMTI4XzYxIiB4MT0iMTkuNTY5NSIgeTE9Ijk2LjU2NDQiIHgyPSI5Ny41MjY5IiB5Mj0iMTUuMDc4MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM0NUZGQzgiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxREJCRjEiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8xMjhfNjEiIHgxPSI3My43ODU2IiB5MT0iMTQzLjcyNCIgeDI9IjE3MC42NzEiIHkyPSIxOTAuODg0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0QxNEFFOCIvPjxzdG9wIG9mZnNldD0iMC41NTIyMjgiIHN0b3AtY29sb3I9IiNCNjI4RTMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM4MzE1RkQiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQyX2xpbmVhcl8xMjhfNjEiIHgxPSIxNTUuOTE0IiB5MT0iMjEuODE1MiIgeDI9IjE1NS45MTQiIHkyPSIxODIuNTQyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzIwQUJGNSIvPjxzdG9wIG9mZnNldD0iMC4zOTgwOTMiIHN0b3AtY29sb3I9IiMyQThDQzMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNBMTA0REMiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=",
|
|
197
|
+
url: "https://authjs.dev",
|
|
198
|
+
spectrum: "bleeding_edge",
|
|
199
|
+
tagline: "Authentication for the Web",
|
|
200
|
+
repo: "nextauthjs/next-auth",
|
|
201
|
+
links: [{
|
|
202
|
+
label: "Getting started",
|
|
203
|
+
href: "https://authjs.dev/getting-started/introduction"
|
|
204
|
+
}, {
|
|
205
|
+
label: "API",
|
|
206
|
+
href: "https://authjs.dev/reference"
|
|
207
|
+
}]
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
category: "Auth",
|
|
211
|
+
label: "Auth0",
|
|
212
|
+
flag: "auth0",
|
|
213
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9IjAgMCAyNTYgMjg3Ij48cGF0aCBmaWxsPSIjRUI1NDI0IiBkPSJtMjAzLjIgMjMxLjUtMjguNy04OC40IDc1LjItNTQuNmgtOTNMMTI4IDBoOTNsMjguNyA4OC40YTEyOCAxMjggMCAwIDEtNDYuNSAxNDMuMXptLTE1MC40IDAgNzUuMiA1NC43IDc1LjItNTQuN0wxMjggMTc3bC03NS4yIDU0LjZ6TTYuMyA4OC41YTEyOCAxMjggMCAwIDAgNDYuNSAxNDNsMjguNy04OC40TDYuMyA4OC41aDkzTDEyOCAwSDM1TDYuMyA4OC40eiIvPjwvc3ZnPg==",
|
|
214
|
+
url: "https://auth0.com",
|
|
215
|
+
tagline: "Secure access for everyone. But not just anyone.",
|
|
216
|
+
repo: "nextauthjs/next-auth",
|
|
217
|
+
links: [{
|
|
218
|
+
label: "Auth0 doc",
|
|
219
|
+
href: "https://auth0.com/docs"
|
|
220
|
+
}, {
|
|
221
|
+
label: "Auth.js auth0 provider doc",
|
|
222
|
+
href: "https://authjs.dev/reference/core/providers/auth0"
|
|
223
|
+
}]
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
category: "Data fetching",
|
|
227
|
+
label: "Telefunc",
|
|
228
|
+
flag: "telefunc",
|
|
229
|
+
image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDcuMDIiIGhlaWdodD0iNDcuMDIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ3LjAyIDQ3LjAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGNpcmNsZSBjeD0iMjMuNTEiIGN5PSIyMy41MSIgcj0iMjEuOTUiIGZpbGw9IiNmN2UwMTgiIHN0cm9rZT0iIzMxMzQzZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzLjEyIiBzdHlsZT0icGFpbnQtb3JkZXI6bm9ybWFsIi8+CiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCguOTU1MDMgMCAwIC45NTUwMyAuMzQ0MDUgMS4wMTE3KSIgZmlsbD0iIzMxMzQzZCIgc2hhcGUtcmVuZGVyaW5nPSJhdXRvIj4KICA8cGF0aCBkPSJtMjEuODA0IDEzLjkxMyA2LjQzMzMgOS42NDU4LTYuNDMzMyA5LjY0NDFoNS44ODI0bDMuNDkzLTUuMjM1MiAzLjQ5MTMgNS4yMzUyaDUuODgyNGwtMTIuODY3LTE5LjI5eiIgY29sb3I9IiMwMDAwMDAiIGNvbG9yLXJlbmRlcmluZz0iYXV0byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGltYWdlLXJlbmRlcmluZz0iYXV0byIgc29saWQtY29sb3I9IiMwMDAwMDAiIHN0eWxlPSJmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1wb3NpdGlvbjpub3JtYWw7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO3NoYXBlLXBhZGRpbmc6MDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWluZGVudDowO3RleHQtb3JpZW50YXRpb246bWl4ZWQ7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWwiLz4KICA8cGF0aCBkPSJtMTQuODgyIDEzLjkxMyA2LjQzMzMgOS42NDU4LTYuNDMzMyA5LjY0NDFoNS44ODI0YzIuMDg1NS0zLjI5MTEgNC4wNDUyLTYuMjk1OSA2LjIyMjEtOS45NjE4bC02LjIyMjEtOS4zMjgxeiIgY29sb3I9IiMwMDAwMDAiIGNvbG9yLXJlbmRlcmluZz0iYXV0byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGZpbGwtb3BhY2l0eT0iLjU3MzE1IiBpbWFnZS1yZW5kZXJpbmc9ImF1dG8iIHNvbGlkLWNvbG9yPSIjMDAwMDAwIiBzdHlsZT0iZm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtcG9zaXRpb246bm9ybWFsO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1pbmRlbnQ6MDt0ZXh0LW9yaWVudGF0aW9uOm1peGVkO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsIi8+CiAgPHBhdGggZD0ibTcuOTYwNCAxMy45MTMgNi40MzMzIDkuNjQ1OC02LjQzMzMgOS42NDQxaDUuODgyNGMyLjA4NTUtMy4yOTExIDQuMDQ1Mi02LjI5NTkgNi4yMjIxLTkuOTYxOGwtNi4yMjIxLTkuMzI4MXoiIGNvbG9yPSIjMDAwMDAwIiBjb2xvci1yZW5kZXJpbmc9ImF1dG8iIGRvbWluYW50LWJhc2VsaW5lPSJhdXRvIiBmaWxsLW9wYWNpdHk9Ii4yNzY1NSIgaW1hZ2UtcmVuZGVyaW5nPSJhdXRvIiBzb2xpZC1jb2xvcj0iIzAwMDAwMCIgc3R5bGU9ImZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYW50LWFsdGVybmF0ZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7c2hhcGUtcGFkZGluZzowO3RleHQtZGVjb3JhdGlvbi1jb2xvcjojMDAwMDAwO3RleHQtZGVjb3JhdGlvbi1saW5lOm5vbmU7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtaW5kZW50OjA7dGV4dC1vcmllbnRhdGlvbjptaXhlZDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vcm1hbCIvPgogPC9nPgo8L3N2Zz4K",
|
|
230
|
+
url: "https://telefunc.com",
|
|
231
|
+
tagline: "Remote Functions. Instead of API",
|
|
232
|
+
repo: "brillout/telefunc",
|
|
233
|
+
spectrum: "bleeding_edge"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
category: "Data fetching",
|
|
237
|
+
label: "tRPC",
|
|
238
|
+
flag: "trpc",
|
|
239
|
+
llms: "https://trpc.io/llms.txt",
|
|
240
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjg0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDMwNSI+PHBhdGggZmlsbD0iIzM5OENDQiIgZD0iTTI4LjU3IDI0NC40ODRoMjEuOTgydjExLjE1M0gyOC41NzF2MjUuMzA4YTE2Ljg4IDE2Ljg4IDAgMCAwIC43MzggNS4zNjRhOC4xNTIgOC4xNTIgMCAwIDAgMi4wODggMy40YTcuODE1IDcuODE1IDAgMCAwIDMuMyAxLjg1MWMxLjIzNS4zMyAyLjUwNC41MSAzLjc4LjUzNmwuNTQ3LjAwMmMxLjE1IDAgMi4zMzggMCAzLjU2My0uMTYybC43MjctLjA5bDEuNDA5LS4xNmMuNDYxLS4wNTQuOTE1LS4xMTMgMS4zNjYtLjE4OGwuNjYtLjEwNWwxLjI0LS4xODRjLjQwMS0uMDYuNzktLjEyNCAxLjE3NS0uMTk5bC45MTgtLjE4NGwuNDI3LS4wOWwuNzktLjE3NmwuMzY2LS4wODdsMS40NzYgMTAuMzlhMTguNTA1IDE4LjUwNSAwIDAgMS0zLjc1MiAxLjZhMzUuOSAzNS45IDAgMCAxLTQuNTEzIDEuMTEzYy0xLjYuMy0zLjI2NC41MjYtNS4wMDIuNjg4YTU0LjI4IDU0LjI4IDAgMCAxLTUuMDg5LjIzOGEyOC4zOTYgMjguMzk2IDAgMCAxLTguNzUyLTEuMjVhMTYuODMgMTYuODMgMCAwIDEtNi43MjctNC4wMDJhMTcuMzQzIDE3LjM0MyAwIDAgMS00LjMwMi02Ljg1MmEyOS4xOTYgMjkuMTk2IDAgMCAxLTEuNTI1LTEwLjAwM3YtMjYuNzU4SDB2LTExLjE1M2gxMy40NDF2LTE0LjQxN2gxNS4xM3YxNC40MTdabTUzLjg4IDI5LjI3MXYyOS42MDlINjcuMTU2di03OS4yMzZoMjYuNjJhNDIuNTIgNDIuNTIgMCAwIDEgMTEuOTE2IDEuNTVhMjYuNjcgMjYuNjcgMCAwIDEgOS4xNCA0LjU1MmExOS44OCAxOS44OCAwIDAgMSA1Ljc5IDcuNTAyYTI0LjU3IDI0LjU3IDAgMCAxIDIuMDUgMTAuMzRhMjYuNzIgMjYuNzIgMCAwIDEtMS4wMTIgNy42NGEyMC4zMzEgMjAuMzMxIDAgMCAxLTcuNDAzIDEwLjgwNGEzMC4wOTYgMzAuMDk2IDAgMCAxLTUuOTAxIDMuNDg4bDE3LjAzIDMyLjY5N3YuNzEzaC0xNi40NDNMOTQuMDQgMjczLjc1NUg4Mi40NVptLjAxMi0xMi40MjhoMTEuMzE1YTE3Ljg2OCAxNy44NjggMCAwIDAgNi4yNTItMWExMC44NjYgMTAuODY2IDAgMCAwIDQuMzktMi45MTRhMTAuNTI4IDEwLjUyOCAwIDAgMCAyLjExMi0zLjU4OWMuNDQ4LTEuMzU4LjY5Mi0yLjc3NS43MjMtNC4yMDNsLjAwMi0uNTM2YTE1LjEwNCAxNS4xMDQgMCAwIDAtLjk1LTUuNTc2YTkuODY1IDkuODY1IDAgMCAwLTIuODUtNC4wMDFhMTIuMDY2IDEyLjA2NiAwIDAgMC00LjE0LTIuMTc2YTE5LjE0MyAxOS4xNDMgMCAwIDAtNC45Ny0uNzZsLTExLjg4NC0uMDAzdjI0Ljc1OFptNjcuODQ1IDQyLjAzN0gxMzUuMDR2LTc5LjIzNmgyNy4wOTVhMzQuNDEgMzQuNDEgMCAwIDEgMTEuNzAzIDEuODc2YTI2LjYzMyAyNi42MzMgMCAwIDEgOC45MjggNS4yMDFhMjMuMzA3IDIzLjMwNyAwIDAgMSA1LjYyNyA4LjA1M2EyNi4zNTggMjYuMzU4IDAgMCAxIDEuOTg4IDkuNzIzdi42NjdhMjQuMTcgMjQuMTcgMCAwIDEtMS45ODggOS44NTNhMjIuNTA3IDIyLjUwNyAwIDAgMS01LjYyNyA3Ljc3N2EyNi4zNyAyNi4zNyAwIDAgMS04Ljk2NSA1LjE3N2EzNC43MjMgMzQuNzIzIDAgMCAxLTExLjcwNCAxLjg1aC0xMS44MDNsLjAxMyAyOS4wNTlabTAtNDEuNDYyaDExLjgwM2ExNS4wMDQgMTUuMDA0IDAgMCAwIDUuNjY0LS45ODhhMTEuNTUzIDExLjU1MyAwIDAgMCA0LjAyNi0yLjY2M2ExMS4xNzggMTEuMTc4IDAgMCAwIDIuMzY0LTMuODg5Yy41My0xLjQ3Ni44LTMuMDMzLjgtNC42MDFhMTYuMzY3IDE2LjM2NyAwIDAgMC0uOC01LjE2NGExMS45NjYgMTEuOTY2IDAgMCAwLTIuMzY0LTQuMjAyYTExLjU5IDExLjU5IDAgMCAwLTQuMDI2LTIuODI1YTE0LjI2NyAxNC4yNjcgMCAwIDAtNS42NjQtMS4wMzhoLTExLjgwM3YyNS4zN1ptMTAzLjA0MiAyNy40MmEyNS4zMDcgMjUuMzA3IDAgMCAxLTUuOTAyIDguMTY1YTI2LjA0NSAyNi4wNDUgMCAwIDEtOC44MTUgNS4yMDJhMzMuNjQ3IDMzLjY0NyAwIDAgMS0xMC41NTggMS44MTRsLS43Ny0uMDAxYTMwLjc1OSAzMC43NTkgMCAwIDEtOS4wNTMtMS4yNWEyNS4zNDUgMjUuMzQ1IDAgMCAxLTcuNTAyLTMuNjc3YTI1LjcwNyAyNS43MDcgMCAwIDEtNS40MTQtNS4zODlhMzMuNjcyIDMzLjY3MiAwIDAgMS00LjAwMS02Ljk2NGE0MS41NzUgNDEuNTc1IDAgMCAxLTIuNDEzLTguMzc4YTUzLjQwOCA1My40MDggMCAwIDEtLjg1MS05LjY5di0xMC42NjZhNTMuNDMgNTMuNDMgMCAwIDEgLjc2My05LjExNWEzOS40MTEgMzkuNDExIDAgMCAxIDEuOTUtNy4xNjFsLjMzOC0uODY2YTMwLjQwOSAzMC40MDkgMCAwIDEgNC41NzctOC4wNTNhMjkuMjcxIDI5LjI3MSAwIDAgMSA2LjQxNC01Ljk3NmEyNi4xNTggMjYuMTU4IDAgMCAxIDcuMDUyLTMuMTg5YTI5LjEwOCAyOS4xMDggMCAwIDEgNy40OC0xLjExbC43Ni0uMDAzYTMzLjc2IDMzLjc2IDAgMCAxIDExLjYxNiAxLjg1YTIzLjc1NyAyMy43NTcgMCAwIDEgMTQuMzQyIDEzLjY1NWEzNy40MTEgMzcuNDExIDAgMCAxIDIuNjEzIDExLjE1M2gtMTUuMjNjLS4wOS0yLjEyLS40NDItNC4yMi0xLjA1LTYuMjUyYTEyLjM1NCAxMi4zNTQgMCAwIDAtMi40MjUtNC40NjNhMTAuNDE2IDEwLjQxNiAwIDAgMC00LjA1Mi0yLjYzOWExNi43MyAxNi43MyAwIDAgMC01LjgwMS0uOWExNC4yNDIgMTQuMjQyIDAgMCAwLTMuMzUxLjM4OGMtMSAuMjQzLTEuOTU5LjYyNi0yLjg1MSAxLjEzN2ExMS4zMjggMTEuMzI4IDAgMCAwLTMuNzUxIDMuNzUyYTIxLjk2OSAyMS45NjkgMCAwIDAtMi41MDEgNS42MzlhMzQuMDEgMzQuMDEgMCAwIDAtMS4wMjUgNS41MjZhNTguNzY3IDU4Ljc2NyAwIDAgMC0uMzI1IDYuNTAydjEwLjc2NmE2MS4yOCA2MS4yOCAwIDAgMCAuNTEyIDguNDY1YTI4LjkyIDI4LjkyIDAgMCAwIDEuNiA2LjUwMmExNS45OTIgMTUuOTkyIDAgMCAwIDEuODI2IDMuMzc2Yy42NjcuOTYgMS40ODcgMS44MDQgMi40MjYgMi41YTEwLjAwMyAxMC4wMDMgMCAwIDAgMy4yODggMS42YTE0LjU2IDE0LjU2IDAgMCAwIDQuMDUyLjUyNmExNy45MTggMTcuOTE4IDAgMCAwIDUuMzg5LS43NjNhMTAuMzAzIDEwLjMwMyAwIDAgMCA0LjA4OC0yLjRhMTEuMjUzIDExLjI1MyAwIDAgMCAyLjY2NC00LjE5YTIwLjk2OSAyMC45NjkgMCAwIDAgMS4yNS02LjE1SDI1NmEzMC4zOTYgMzAuMzk2IDAgMCAxLTIuNjUgMTAuNzI3Wk0xODYuMzggOTIuNDAybDM4LjQ4NiAyMi4yMnY0NC40NjJsLTM4LjQ4NiAyMi4yMmwtMTcuMDg1LTkuODgxbC00MS41NDUgMjMuOTg0bC00MS4yOTYtMjMuODQ3bC0xNi44NDYgOS43NDNsLTM4LjQ4Ni0yMi4yNTZWMTE0LjYybDM4LjQ4Ni0yMi4yMTlsMzguNDg2IDIyLjIydjQ0LjQyNWwtMTEuNjQzIDYuNzMzbDMxLjI5OSAxOC4wNzRsMzEuNTQ4LTE4LjIxMmwtMTEuNDA1LTYuNTk1VjExNC42MmwzOC40ODctMjIuMjE5Wk0xNTcuODk2IDEyNi4ydjI3LjEybDIzLjQ4MiAxMy41NTV2LTI3LjEyTDE1Ny44OTYgMTI2LjJabTU2Ljk2Ny0uMDM3bC0yMy40ODIgMTMuNTU0djI3LjE1OGwyMy40ODItMTMuNTkydi0yNy4xMlptLTE3My43MzggMHYyNy4xMmwyMy40ODEgMTMuNTU0di0yNy4xMmwtMjMuNDgxLTEzLjU1NFptNTYuOTY2IDBMNzQuNjEgMTM5LjcxNnYyNy4xMmwyMy40ODItMTMuNTU0di0yNy4xMlptODguMjg5LTIyLjE4MmwtMjMuNDgyIDEzLjU1NGwyMy40ODIgMTMuNTY3bDIzLjQ4MS0xMy41NjdsLTIzLjQ4MS0xMy41NTRabS0xMTYuNzcyLS4wMzdsLTIzLjQ4MiAxMy41OTFsMjMuNDgyIDEzLjUzbDIzLjQ4Mi0xMy41M2wtMjMuNDgyLTEzLjU5MVptMTkuMTQzLTY4LjkydjExLjU0bC0zNS42MSAyMC41N3YzNC43NzJsLTEwLjAwMyA1Ljc3N1Y2MS4zNTVMODguNzUgMzUuMDIzWk0xMjcuMjM3IDBsMzguNTEyIDIyLjIxOXYxMi4yMTlsNDYuNjEzIDI2LjkxN3Y0Ni4wMzlsLTEwLjAwMy01Ljc3N1Y2Ny4xMzJsLTM2LjYxLTIxLjE0MXYyMC42NjZsLTM4LjQ4NyAyMi4yMTlsLTM4LjQ4Ni0yMi4yMTlWMjIuMjE5TDEyNy4yMzcgMFpNOTguNzggMzMuNzZ2MjcuMTJsMjMuNDU3IDEzLjU1NFY0Ny4zMjZMOTguNzc5IDMzLjc2Wm01Ni45NDIgMGwtMjMuNDU3IDEzLjU2NnYyNy4wOTZMMTU1LjcyIDYwLjg4VjMzLjc2Wm0tMjguNDg0LTIyLjIwN0wxMDMuNzggMjUuMTA3bDIzLjQ1NyAxMy41NTRsMjMuNDgyLTEzLjU1NGwtMjMuNDgyLTEzLjU1NFoiLz48L3N2Zz4=",
|
|
241
|
+
url: "https://trpc.io",
|
|
242
|
+
spectrum: "beaten_path",
|
|
243
|
+
tagline: "End-to-end typesafe APIs made easy",
|
|
244
|
+
repo: "trpc/trpc",
|
|
245
|
+
links: [{
|
|
246
|
+
label: "Getting started",
|
|
247
|
+
href: "https://trpc.io/docs/getting-started"
|
|
248
|
+
}, {
|
|
249
|
+
label: "Docs",
|
|
250
|
+
href: "https://trpc.io/docs"
|
|
251
|
+
}]
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
category: "Data fetching",
|
|
255
|
+
label: "ts-rest",
|
|
256
|
+
flag: "ts-rest",
|
|
257
|
+
image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTE2JyBoZWlnaHQ9JzExNScgdmlld0JveD0nMCAwIDExNiAxMTUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGcgY2xpcC1wYXRoPSd1cmwoI2NsaXAwXzEzXzIwKSc+PHJlY3Qgd2lkdGg9JzExNicgaGVpZ2h0PScxMTYnIHJ4PScyNicgZmlsbD0nIzkzMzNFQScvPjxwYXRoIGQ9J002Mi40ODcgNTkuOTU2Nkw5NS4xMTY2IDYwLjEyNjJMOTUuMTQ5MyA1My44MjEyTDYyLjUxOTggNTMuNjUxN0w2Mi40ODcgNTkuOTU2NlpNNjIuNTg2MyA0MC44NDY5TDk1LjIxNTkgNDEuMDE2NEw5NS4yNDkzIDM0LjU4MTVMNjIuNjE5NyAzNC40MTJMNjIuNTg2MyA0MC44NDY5Wk02Mi40MTY4IDczLjQ3NjVMOTUuMDQ2MyA3My42NDZMOTUuMDEyOSA4MC4wODA5TDYyLjM4MzMgNzkuOTExNEw2Mi40MTY4IDczLjQ3NjVaJyBmaWxsPSd3aGl0ZScvPjxwYXRoIGQ9J000Ni4wNiA2NC45MkM1Mi4zIDYyLjU4IDU1Ljg3NSA1Ny41MSA1NS44NzUgNTAuNTU1QzU1Ljg3NSA0MC41NDUgNDguNTk1IDM0LjUgMzYuNyAzNC41SDE4LjVWNDAuOTM1SDM2LjQ0QzQ0LjMwNSA0MC45MzUgNDguNCA0NC40NDUgNDguNCA1MC41NTVDNDguNCA1Ni42IDQ0LjMwNSA2MC4xNzUgMzYuNDQgNjAuMTc1SDE4LjVWODBIMjUuOTFWNjYuNDhIMzYuN0MzNy40OCA2Ni40OCAzOC4zMjUgNjYuNDggMzkuMDQgNjYuNDE1TDQ4LjU5NSA4MEg1Ni42NTVMNDYuMDYgNjQuOTJaJyBmaWxsPSd3aGl0ZScvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9J2NsaXAwXzEzXzIwJz48cmVjdCB3aWR0aD0nMTE2JyBoZWlnaHQ9JzExNScgZmlsbD0nd2hpdGUnLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=",
|
|
258
|
+
url: "https://ts-rest.com",
|
|
259
|
+
tagline: "Incrementally adoptable type-safety for your new and existing APIs",
|
|
260
|
+
repo: "ts-rest/ts-rest",
|
|
261
|
+
links: [{
|
|
262
|
+
label: "Quickstart",
|
|
263
|
+
href: "https://ts-rest.com/docs/quickstart"
|
|
264
|
+
}, {
|
|
265
|
+
label: "Docs",
|
|
266
|
+
href: "https://ts-rest.com/docs/intro"
|
|
267
|
+
}]
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
category: "Server",
|
|
271
|
+
label: "Hono",
|
|
272
|
+
flag: "hono",
|
|
273
|
+
llms: "https://hono.dev/llms.txt",
|
|
274
|
+
image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgd2lkdGg9IjUwMHB4IiBoZWlnaHQ9IjUwMHB4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTkzIiBmaWxsPSIjZmY1YjExIiBkPSJNIDI1Ny41LDAuNSBDIDI1OC44MjIsMC4zMzAwMzQgMjU5Ljk4OSwwLjY2MzM2OCAyNjEsMS41QyAyOTguMTkzLDQ2Ljg5MzYgMzMzLjE5Myw5My44OTM2IDM2NiwxNDIuNUMgMzkwLjI4OSwxNzkuMDY5IDQxMC45NTUsMjE3LjczNSA0MjgsMjU4LjVDIDQ1NS4yMjEsMzMxLjEwNCA0NDEuMDU0LDM5NC4yNzEgMzg1LjUsNDQ4QyAzMzYuODkyLDQ4OS4wODIgMjgwLjg5Miw1MDUuMDgyIDIxNy41LDQ5NkMgMTQxLjcyNyw0ODAuNTUxIDkwLjIyNjUsNDM2LjcxOCA2MywzNjQuNUMgNTUuOTA4MSwzNDAuOTg5IDUzLjU3NDgsMzE2Ljk4OSA1NiwyOTIuNUMgNjAuMDM4NCwyNTAuMzQ3IDcwLjAzODQsMjA5LjY4IDg2LDE3MC41QyA5Mi42NTA5LDE1NC41MTQgMTAxLjMxOCwxMzkuODQ4IDExMiwxMjYuNUMgMTIwLjcxNSwxMzYuODggMTI5LjA0OCwxNDcuNTQ3IDEzNywxNTguNUMgMTQwLjY4MiwxNjIuMzQ5IDE0NC41MTUsMTY2LjAxNiAxNDguNSwxNjkuNUMgMTc4LjkxNywxMDkuMTM2IDIxNS4yNTEsNTIuODAyOCAyNTcuNSwwLjUgWiIvPjwvZz4KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MSIgZmlsbD0iI2ZmOTc1OCIgZD0iTSAyNTAuNSw4MS41IEMgMjg3LjE5MywxMjQuMDYgMzIwLjM2LDE2OS4zOTMgMzUwLDIxNy41QyAzNTkuMjkzLDIzMy40MTggMzY2Ljk1OSwyNTAuMDg1IDM3MywyNjcuNUMgMzg1LjU4NCwzMTcuMDA4IDM3Mi4wODQsMzU3Ljg0MiAzMzIuNSwzOTBDIDI5NC4yMTYsNDE2LjkzOSAyNTIuMjE2LDQyNC45MzkgMjA2LjUsNDE0QyAxNTcuMjAxLDM5OC43MDIgMTI4LjcwMSwzNjUuNTM1IDEyMSwzMTQuNUMgMTE5LjEzMSwyOTguNDA5IDEyMC43OTgsMjgyLjc0MiAxMjYsMjY3LjVDIDEzMy40MTgsMjQ4LjY2MyAxNDIuNDE4LDIzMC42NjMgMTUzLDIxMy41QyAxNjMsMTk4LjgzMyAxNzMsMTg0LjE2NyAxODMsMTY5LjVDIDIwNS43MTYsMTQwLjI5IDIyOC4yMTYsMTEwLjk1NyAyNTAuNSw4MS41IFoiLz48L2c+Cjwvc3ZnPgo=",
|
|
275
|
+
url: "https://hono.dev",
|
|
276
|
+
tagline: "Fast, lightweight, built on web standards. Support for any JavaScript runtime.",
|
|
277
|
+
repo: "honojs/hono",
|
|
278
|
+
links: [{
|
|
279
|
+
label: "Getting started",
|
|
280
|
+
href: "https://hono.dev/top"
|
|
281
|
+
}, {
|
|
282
|
+
label: "API",
|
|
283
|
+
href: "https://hono.dev/api/hono"
|
|
284
|
+
}]
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
category: "Server",
|
|
288
|
+
label: "Express",
|
|
289
|
+
flag: "express",
|
|
290
|
+
llms: "https://expressjs.com/llms.txt",
|
|
291
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+PHN0eWxlPiBwYXRoe2ZpbGw6YmxhY2s7fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7cGF0aHtmaWxsOndoaXRlO319PC9zdHlsZT48cGF0aCBkPSJNMTI2LjY3IDk4LjQ0Yy00LjU2IDEuMTYtNy4zOC4wNS05LjkxLTMuNzUtNS42OC04LjUxLTExLjk1LTE2LjYzLTE4LTI0LjktLjc4LTEuMDctMS41OS0yLjEyLTIuNi0zLjQ1Qzg5IDc2IDgxLjg1IDg1LjIgNzUuMTQgOTQuNzdjLTIuNCAzLjQyLTQuOTIgNC45MS05LjQgMy43bDI2LjkyLTM2LjEzTDY3LjYgMjkuNzFjNC4zMS0uODQgNy4yOS0uNDEgOS45MyAzLjQ1IDUuODMgOC41MiAxMi4yNiAxNi42MyAxOC42NyAyNS4yMSA2LjQ1LTguNTUgMTIuOC0xNi42NyAxOC44LTI1LjExIDIuNDEtMy40MiA1LTQuNzIgOS4zMy0zLjQ2LTMuMjggNC4zNS02LjQ5IDguNjMtOS43MiAxMi44OC00LjM2IDUuNzMtOC42NCAxMS41My0xMy4xNiAxNy4xNC0xLjYxIDItMS4zNSAzLjMuMDkgNS4xOUMxMDkuOSA3NiAxMTguMTYgODcuMSAxMjYuNjcgOTguNDR6TTEuMzMgNjEuNzRjLjcyLTMuNjEgMS4yLTcuMjkgMi4yLTEwLjgzIDYtMjEuNDMgMzAuNi0zMC4zNCA0Ny41LTE3LjA2QzYwLjkzIDQxLjY0IDYzLjM5IDUyLjYyIDYyLjkgNjVINy4xYy0uODQgMjIuMjEgMTUuMTUgMzUuNjIgMzUuNTMgMjguNzggNy4xNS0yLjQgMTEuMzYtOCAxMy40Ny0xNSAxLjA3LTMuNTEgMi44NC00LjA2IDYuMTQtMy4wNi0xLjY5IDguNzYtNS41MiAxNi4wOC0xMy41MiAyMC42Ni0xMiA2Ljg2LTI5LjEzIDQuNjQtMzguMTQtNC44OUM1LjI2IDg1Ljg5IDMgNzguOTIgMiA3MS4zOWMtLjE1LTEuMi0uNDYtMi4zOC0uNy0zLjU3cS4wMy0zLjA0LjAzLTYuMDh6bTUuODctMS40OWg1MC40M2MtLjMzLTE2LjA2LTEwLjMzLTI3LjQ3LTI0LTI3LjU3LTE1LS4xMi0yNS43OCAxMS4wMi0yNi40MyAyNy41N3oiIC8+PC9zdmc+",
|
|
292
|
+
url: "https://expressjs.com",
|
|
293
|
+
spectrum: "beaten_path",
|
|
294
|
+
tagline: "Fast, unopinionated, minimalist web framework for Node.js",
|
|
295
|
+
repo: "expressjs/express",
|
|
296
|
+
links: [{
|
|
297
|
+
label: "Getting started",
|
|
298
|
+
href: "https://expressjs.com/en/starter/installing.html"
|
|
299
|
+
}, {
|
|
300
|
+
label: "API",
|
|
301
|
+
href: "https://expressjs.com/en/4x/api.html"
|
|
302
|
+
}]
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
category: "Server",
|
|
306
|
+
label: "Fastify",
|
|
307
|
+
flag: "fastify",
|
|
308
|
+
llms: "https://fastify.dev/llms.txt",
|
|
309
|
+
image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nODQ5JyBoZWlnaHQ9JzU0NScgdmlld0JveD0nMCAwIDg0OSA1NDUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTgyMi4xOCA3Ny4zMkw4NDguOSA4LjExTDg0Ny43NSAzLjgzTDU4My40MSA3My40OEM2MTEuNTUgMzIuNyA2MDEuOSAwIDYwMS45IDBDNjAxLjkgMCA1MTcuNDkgNTMuOTEgNDUzLjY0IDUyLjQ5QzM4OS43OSA1MS4wNyAzNjkuMjMgMzQuMDUgMjcxLjMzIDY1LjI2QzE3My40MyA5Ni40NyAxNDUuNzcgMTkyLjI2IDExNy40IDIxMi44MUM4OS4wMyAyMzMuMzYgMCAzMDAuNDIgMCAzMDAuNDJMMC4xOTAwMDIgMzAxLjYyTDgwLjQ1IDI3Ni4wNkM4MC40NSAyNzYuMDYgNTguNDUgMjk2LjgxIDExLjY4IDM1OS44M0MxMS42OCAzNTkuODMgMTAuODYgMzU5LjA4IDkuNSAzNTcuODNMOS41NyAzNTguMjZDOS41NyAzNTguMjYgNDcuMTcgNDE1LjcyIDg0LjA2IDQwNS4wOEM4OC4zNzQ0IDQwMy43MzkgOTIuNTU1NSA0MDIuMDAxIDk2LjU1IDM5OS44OUMxMTEuNCA0MDguMTYgMTMwLjc5IDQxNi4yOSAxNTIuMiA0MTguNTNDMTQyLjU2OCA0MDcuMTIgMTMzLjY4OSAzOTUuMDk0IDEyNS42MiAzODIuNTNMMTM1LjYyIDM3Ni4wMkwxMzQuMDYgMzc3LjE0TDE2NC42MyAzODguMzZMMTYxLjIzIDM1OS42TDE2MS41MyAzNTkuNDFMMTkxLjUzIDM3MC40MUwxODcuNzkgMzQ0LjI4QzE5MS41OSAzNDIuMjggMTk1LjQgMzQwLjQxIDE5OS4xOSAzMzguNjVMMjMwLjU1IDIyMC4yNkwzNjAuMDEgMTMxLjk0TDM0OS43MyAxNTcuODNDMzIzLjQ3IDIyMi4zOSAyNzQuMTcgMjM3LjYgMjc0LjE3IDIzNy42TDI1My42IDI0NS40QzIzOC4yOSAyNjMuNDkgMjMxLjg2IDI2Ny45NCAyMjYuNiAzMjguNjVDMjM4LjkzIDMyNS41NCAyNTAuNzIgMzI0LjgyIDI2MS40IDMyNy42NUMzMTYuNzMgMzQyLjU1IDMzNS44OSA0MDkuMjMgMzIwLjk5IDQyNy42NUMzMTcuMjYgNDMyLjI3IDMwOC4zOCA0NDAuMTcgMjk3LjE3IDQ0OS40MkgyNzQuNzJMMjc0LjQzIDQ2Ny42MUwyNzIuMTIgNDY5LjQxSDI0OS4yOEwyNDguOTkgNDg3LjE2QzI0Ni45OSA0ODguNyAyNDQuOTkgNDkwLjIxIDI0Mi45OSA0OTEuNjhDMjIxLjUyIDQ5Mi4xMyAxOTQuMzQgNDczLjQxIDE5NC4zNCA0NzMuNDFDMTk0LjM0IDQ5MC40MSAyMDguNTMgNTE2LjY4IDIwOC41MyA1MTYuNjhMMjExLjA0IDUxNS40NkwyMDguODkgNTE3LjAzQzIwOC44OSA1MTcuMDMgMjY2LjM1IDU1NS4zNCAzMDIuNTIgNTQxLjE1QzMzNC43MiA1MjguNiA0MTcuOTkgNDYyLjk3IDQ4OS44OCA0MzEuOUw3MDcuNDIgMzc0LjZMNzM2LjExIDMwMC4yOUw1NzAuMzMgMzQzLjk1VjI3Ny4xOUw3NjQuOCAyMjUuOTVMNzkzLjQ5IDE1MS42TDU3MC4zMyAyMTAuNFYxNDMuNjhMODIyLjE4IDc3LjMyWk00MjcuMzYgMjE4Ljc5TDQ3OC45OCAyMDUuMTlMNDc5LjY3IDIwNy43OEw0NjMuNTUgMjQ5LjVMNDEwLjA3IDI2My42TDQyNy4zNiAyMTguNzlaTTQ0NS4xOCAzMDguMDlMMzkxLjY4IDMyMi4xOUw0MDguOTcgMjc3LjM4TDQ2MC41NSAyNjMuNzhMNDYxLjI0IDI2Ni4zN0w0NDUuMTggMzA4LjA5Wk01MTQuODkgMjkzLjA5TDQ2MS4zOCAzMDcuMTlMNDc4LjY4IDI2Mi4zOUw1MzAuMyAyNDguNzhMNTMwLjk5IDI1MS4zN0w1MTQuODkgMjkzLjA5WicgZmlsbD0nIzIxNUZGNicvPjwvc3ZnPgo=",
|
|
310
|
+
url: "https://fastify.dev",
|
|
311
|
+
tagline: "Fast and low overhead web framework, for Node.js",
|
|
312
|
+
repo: "fastify/fastify",
|
|
313
|
+
links: [{
|
|
314
|
+
label: "Getting started",
|
|
315
|
+
href: "https://fastify.dev/docs/latest/Guides/Getting-Started/"
|
|
316
|
+
}, {
|
|
317
|
+
label: "API",
|
|
318
|
+
href: "https://fastify.dev/docs/latest/Reference/"
|
|
319
|
+
}]
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
category: "Server",
|
|
323
|
+
label: "Elysia",
|
|
324
|
+
flag: "elysia",
|
|
325
|
+
llms: "https://elysiajs.com/llms.txt",
|
|
326
|
+
image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MjQuNDA0IDQ3MC44MTZDNDc4LjA4OSA0MjMuODg5IDUxMiAzNTQuOTA1IDUxMiAyNzhDNTEyIDEzNi42MTUgMzk3LjM4NSAyMiAyNTYgMjJDMTE0LjYxNSAyMiAwIDEzNi42MTUgMCAyNzhDMCAzNTIuNjU4IDMxLjk1ODMgNDE5Ljg1MSA4Mi45NDA5IDQ2Ni42NDZMODMuMTc2NyA0NjVMNDE5LjE0NCAzNTVMNDI0LjQwNCA0NzAuODE2WiIgZmlsbD0iIzMzMzMzMyIvPjxwYXRoIGQ9Ik0xODkuOTE1IDUyLjc0MTJMMTQ0LjUgNDZMMTUxLjMwMyA0My45MDY5QzE1NS40MDIgNDIuNjQ1NSAxNTkuMjQ4IDQwLjY3MTkgMTYyLjY2MiAzOC4wNzY1TDE2My43MyAzNy4yNjU0QzE2Ny44NDUgMzQuMTM3NSAxNzEuMTIgMzAuMDM2NCAxNzMuMjU5IDI1LjMzMDRDMTc0LjQxNCAyMi43ODgzIDE3NS4yMjQgMjAuMTAyNyAxNzUuNjY1IDE3LjM0NTRMMTc2LjE3MyAxNC4xNjk4QzE3Ni43MiAxMC43NDczIDE3Ni42OTIgNy4yNTc0MSAxNzYuMDkgMy44NDQxNkMxNzUuODM0IDIuMzk0MjkgMTc3LjI3OSAxLjIzMjM5IDE3OC42NCAxLjc5Mjk2TDE4MC40OTggMi41NTgxNUMxODIuODI5IDMuNTE3OTggMTg1LjA4NCA0LjY1NDM0IDE4Ny4yNDIgNS45NTczMkwxOTQuOTY1IDEwLjYyMDVDMjA1LjIyOSAxNi44MTc0IDIxNC4yMjYgMjQuOTAyMyAyMjEuNDggMzQuNDQ3N0wyMjYuNjE2IDQxLjIwNTFDMjI4LjUyOSA0My43MjI4IDIzMC43ODMgNDUuOTYyNSAyMzMuMzEzIDQ3Ljg1OTlDMjM2LjA4OCA0OS45NDExIDIzOS4xNjQgNTEuNTg3NCAyNDIuNDM1IDUyLjc0MThMMjQ2IDU0TDIyNy4yNzQgNTQuNzQ5QzIxNC43ODUgNTUuMjQ4NiAyMDIuMjc4IDU0LjU3NjQgMTg5LjkxNSA1Mi43NDEyWiIgZmlsbD0iI0NDQ0NDQyIvPjxwYXRoIGQ9Ik0xNzguMzIxIDkzLjAwNkwxOTEuNzkgNjguMzg0NEMxOTEuOTIyIDY4LjE0MyAxOTEuOTMgNjcuODUyOCAxOTEuODEyIDY3LjYwNDJMMTg3LjIyIDU3LjkzNjFDMTg0LjMzNyA1MS44NjczIDE3OC4yMTkgNDggMTcxLjUgNDhMMTcwLjIzIDQ3Ljk1NjJDMTYxLjQzNyA0Ny42NTMgMTUyLjcwNCA0Ni4zODI5IDE0NC4xODggNDQuMTY5TDE0Mi41MDQgNDMuNzMxQzEzNS41MjEgNDEuOTE1MyAxMjguNzQ2IDM5LjM3MzIgMTIyLjI5MyAzNi4xNDYzTDExOS40NDYgMzQuNzIzQzExNS4xNTkgMzIuNTc5NyAxMTEuMDk5IDMwLjAxMiAxMDcuMzI1IDI3LjA1ODRMMTAzLjU1IDI0LjEwNDNDMTAyLjQyOCAyMy4yMjY1IDEwMC44MDMgMjMuNDUwNiA5OS45NjA2IDI0LjU5OTJDOTcuMzY1MSAyOC4xMzg0IDk1LjczNzkgMzIuMjkzNSA5NS4yMzk1IDM2LjY1NDFMOTQuNTUzNSA0Mi42NTcxQzk0LjE4NTQgNDUuODc3NCA5NC4xNDQ2IDQ5LjEyNjcgOTQuNDMxNiA1Mi4zNTUyTDk2LjEwMzEgNzEuMTU5NUM5Ny4zNDY3IDg1LjE1MDEgMTAyLjE3NSA5OC41ODQgMTEwLjEyMyAxMTAuMTY1TDExMS44MjUgMTEyLjY0NUMxMTQuMjY3IDExNi4yMDMgMTE3LjExMyAxMTkuNDY2IDEyMC4zMDYgMTIyLjM2OUMxMjAuNzU2IDEyMi43NzggMTIxLjMyOSAxMjMuMDMgMTIxLjkzNiAxMjMuMDg0QzE0NS4wMjkgMTI1LjE1NiAxNjcuMTk0IDExMy4zNDggMTc4LjMyMSA5My4wMDZaIiBmaWxsPSIjQ0NDQ0NDIi8+PHBhdGggZD0iTTEyNy4zNzggMTIzLjUzOEwxNDMuMzc2IDExNi42MTNDMTUwLjQzOCAxMTMuNTU3IDE1Mi41ODggMTA0LjU3NyAxNDcuNjc2IDk4LjY1MzNDMTQzLjY4MyA5My44Mzc4IDEzNi41OCA5My4wODAzIDEzMS42NjEgOTYuOTQ1M0wxMjcuODY3IDk5LjkyNTZDMTI2Ljk1OCAxMDAuNjQgMTI2LjEyNyAxMDEuNDQ4IDEyNS4zODcgMTAyLjMzNkwxMTYuMjYzIDExMy4yODRDMTE0Ljk4MiAxMTQuODIyIDExNS4wODQgMTE3LjA4NCAxMTYuNSAxMTguNUwxMTkuMzE4IDEyMS43MjFDMTE5Ljc3IDEyMi4yMzcgMTIwLjI5NiAxMjIuNjg1IDEyMC44NzggMTIzLjA0OUMxMjIuODMzIDEyNC4yNzEgMTI1LjI2MyAxMjQuNDUzIDEyNy4zNzggMTIzLjUzOFoiIGZpbGw9IiNFREVERUQiLz48cGF0aCBkPSJNMTQ3Ljk4OCA0NC44NDM3TDE0Ny41IDQ1TDE0OC45NjIgNDUuNDY1MUMxNTUuMjk0IDQ3LjQ3OTggMTYxLjg2MSA0OC42NiAxNjguNDk4IDQ4Ljk3NjFDMTY4LjgzIDQ4Ljk5MTkgMTY5LjE2MyA0OC45NTM0IDE2OS40ODMgNDguODYxOUwxNzIuNSA0OEwxNzQgNDcuNUwxNjQuNDE5IDQ1LjQxNzJDMTYzLjE1OCA0NS4xNDMxIDE2MS45ODIgNDQuNTY4NyAxNjAuOTkxIDQzLjc0MjZDMTYwLjIxOCA0My4wOTgxIDE2MC4yMjMgNDEuOTA4NCAxNjEuMDAyIDQxLjI3MDhMMTYyLjQyMyA0MC4xMDg0QzE2NC4xMiAzOC43MTk3IDE2NS40OTMgMzYuOTc2IDE2Ni40NDQgMzVDMTYwLjkzNCAzOS4zNjQyIDE1NC42ODIgNDIuNjk4OCAxNDcuOTg4IDQ0Ljg0MzdaIiBmaWxsPSIjQjJCMkIyIi8+PHBhdGggZD0iTTIwMi43NzYgMjE5LjQyOEw3Mi4yOTA1IDQ1Mi42OTNDNzEuNjQzIDQ1My44NTEgNzAuMDY4NyA0NTQuMDY5IDY5LjEzMDggNDUzLjEzMUw2Ni41IDQ1MC41TDU1LjUgNDM4TDQ4LjQ4ODggNDI4LjkyN0M0MS44NDA3IDQyMC4zMjMgMzUuOTA1MiA0MTEuMTkyIDMwLjc0MTQgNDAxLjYyNEwyOS43NDM0IDM5OS43NzVDMjQuMjU4MSAzODkuNjExIDE5LjY2MzUgMzc4Ljk5MSAxNi4wMTEyIDM2OC4wMzRMMTIuNSAzNTcuNUM3LjIyNTE5IDMzOC4zNzkgNi4wMTQ0NyAzMTguMzY1IDguOTQ1ODMgMjk4Ljc0N0w5LjA2OTYxIDI5Ny45MTlDMTAuMzU0IDI4OS4zMjMgMTIuNDAzNCAyODAuODYgMTUuMTkzNSAyNzIuNjI5TDIxIDI1NS41TDI1LjMzMzQgMjQ2LjM4NUMzMi4wNTM3IDIzMi4yNDkgNDEuMzE5MyAyMTkuNDcyIDUyLjY2NjkgMjA4LjY5MUw1OC4xNzE5IDIwMy40NjJDNjkuNTUyOSAxOTIuNjUgODMuMzkzNyAxODQuNzY5IDk4LjUgMTgwLjVDOTQuOTY3IDE4MS40OTggOTEuMzYwOCAxODIuMjE2IDg3LjcxNDkgMTgyLjY0N0w4MC41IDE4My41TDc1IDE4NEw2OSAxODVMNjMgMTg1LjU2MUw1OSAxODZMNTYuMTE4NiAxODYuMThDNTUuMTkyNyAxODYuMjM4IDU0Ljc1NzYgMTg1LjA1NyA1NS40OTk4IDE4NC41TDU1LjUwMDIgMTg0LjVMNTkuNTI3MyAxODIuNTdDNzIuNTA2NiAxNzYuMzUxIDgzLjE3NjYgMTY2LjE3MiA5MCAxNTMuNUw5NC40NDc1IDE0Ni41NjJDOTkuNzUxMSAxMzguMjg4IDEwNi44MDcgMTMxLjI4IDExNS4xMTYgMTI2LjAzMkwxMTYuODMzIDEyNC45NDhDMTE5LjkzNSAxMjIuOTg5IDEyMy4yNDYgMTIxLjM4NCAxMjYuNzA1IDEyMC4xNjNMMTQyLjQ0NiAxMTQuNjA3QzE0NS4zNDggMTEzLjU4MyAxNDcuNjkgMTExLjM5IDE0OC45MDMgMTA4LjU2MUwxNDkuMTQzIDEwOEMxNDkuNzA1IDEwNi42ODcgMTQ5LjkzMiAxMDUuMjU1IDE0OS44MDMgMTAzLjgzM0MxNDkuNjA4IDEwMS42ODkgMTQ4LjYxNiA5OS42OTY2IDE0Ny4wMjMgOTguMjQ4NUwxNDQuMjU2IDk1LjczMjhDMTQ0LjA4NiA5NS41Nzc5IDE0My45MyA5NS40MDczIDE0My43OTIgOTUuMjIzMkwxMjYgNzEuNUwxMTEuODAzIDUxLjkzMTVDMTA4Ljk5NCA0OC4wNTkyIDEwNy4zNTkgNDMuNDU5OSAxMDcuMDk0IDM4LjY4MzJDMTA3LjA1MSAzNy45MjYzIDEwNy44MzYgMzcuNDAxNSAxMDguNTIgMzcuNzI5NUwxMjMuODgxIDQ1LjEwMjhDMTM3LjE3NCA1MS40ODM0IDE1Mi4zMyA1Mi44MjUgMTY2LjUzNyA0OC44Nzg2QzE2OS44NCA0Ny45NjEyIDE3My4yMTQgNDcuMzI0MiAxNzYuNjI0IDQ2Ljk3NDVMMTgzLjY3NSA0Ni4yNTEzQzIwMS40MDYgNDQuNDMyOCAyMTkuMzIgNDUuOTA1NCAyMzYuNTE2IDUwLjU5NTNMMjM4IDUxTDI1NC43OTggNTcuMDQ3MkMyNzUuODY5IDY0LjYzMjkgMjkyLjU2NyA4MS4wNTcxIDMwMC41IDEwMkwzMDQuMDIyIDExNS43MzRDMzA1LjAwNCAxMTkuNTY3IDMwNi4zOTIgMTIzLjI4NSAzMDguMTYyIDEyNi44MjRDMzEyLjMyMSAxMzUuMTQyIDMxOC40OTUgMTQyLjI4OSAzMjYuMTIxIDE0Ny42MTNMMzM1LjA4NCAxNTMuODdDMzM5LjAyMyAxNTYuNjIgMzQzLjE1NyAxNTkuMDc4IDM0Ny40NTMgMTYxLjIyN0wzNjcuMjg5IDE3MS4xNDVDMzY4LjE3OCAxNzEuNTg5IDM2OC40NDQgMTcyLjczMiAzNjcuODQzIDE3My41MjNDMzYyLjM3MiAxODAuNzIxIDM1NS4xNDggMTg2LjM5NSAzNDYuODU5IDE5MC4wMDVMMzM1LjM3MSAxOTUuMDA4QzMzMC43OTcgMTk3IDMyNi4wODEgMTk4LjY1IDMyMS4yNjIgMTk5Ljk0NUwzMTIuODIyIDIwMi4yMTJDMzAwLjk5MiAyMDUuMzkgMjg4Ljc5NiAyMDcgMjc2LjU0NiAyMDdIMjU2LjMzM0MyNTIuMTQ4IDIwNyAyNDguMDAxIDIwNi4yMTMgMjQ0LjEwOCAyMDQuNjc5QzIyOC41ODEgMTk4LjU2MiAyMTAuOTIzIDIwNC44NjMgMjAyLjc3NiAyMTkuNDI4WiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMjcxLjE4NSAxMzUuMzE2TDI3OS45ODcgMTM1LjQxOEMyODEuMTgyIDEzNS40MzIgMjgxLjQ1MiAxMzMuNzQ4IDI4MC4zMTIgMTMzLjM4OEMyNzguNDQxIDEzMi43OTcgMjc2LjYyMyAxMzIuMDQ4IDI3NC44NzkgMTMxLjE1TDI2OC4wMDggMTI3LjYxQzI2My4zNSAxMjUuMjExIDI1OC45NjkgMTIyLjMwOCAyNTQuOTQ0IDExOC45NTNMMjUzLjU5MiAxMTcuODI3QzI1MC41NCAxMTUuMjgzIDI0Ny43NyAxMTIuNDE4IDI0NS4zMyAxMDkuMjgyTDI0My43NjggMTA3LjI3M0MyNDMuMjM0IDEwNi41ODYgMjQyLjEzNCAxMDcuMDA1IDI0Mi4xOTIgMTA3Ljg3M0MyNDMuMjEyIDEyMy4xODYgMjU1LjgzOSAxMzUuMTM4IDI3MS4xODUgMTM1LjMxNloiIGZpbGw9IiM2NjY2NjYiLz48cGF0aCBkPSJNODIuMjIzMSA0NTYuMzk1TDIzMS4zMTMgMzIzLjRDMjQ1LjM2NyAzMTAuODYzIDI1Ny41OCAyOTYuNDAzIDI2Ny41OSAyODAuNDVMMjY4LjUgMjc5QzI3My40MDQgMjY5LjE5MiAyNzUuNDk3IDI1OC4yMTcgMjc0LjU0NyAyNDcuMjkzTDI3My4yNCAyMzIuMjU4QzI3Mi40MzYgMjIzLjAwOSAyNjguNjE4IDIxNC4yOCAyNjIuMzczIDIwNy40MUMyNjIuMTMxIDIwNy4xNDQgMjYxLjgxIDIwNi45NjEgMjYxLjQ1NyAyMDYuODg5TDIzNy41IDIwMkMyMjAuMTE3IDE5Ni43NTIgMjAxLjY4OCAxOTUuOTk1IDE4My45MzMgMTk5LjhMMTgzIDIwMEwxNjkuMDYgMjAzLjI1OUMxMjguNDA1IDIxMi43NjMgOTIuNTc0MiAyMzYuNjg1IDY4LjIxMTYgMjcwLjU5Mkw2Ny41OTcgMjcxLjQ0N0M2MC44ODQ2IDI4MC43ODkgNTUuMTgyMiAyOTAuODE3IDUwLjU4NTYgMzAxLjM2Mkw0OS43NjUgMzAzLjI0NUMzOC4xNTQ0IDMyOS44ODEgMzQuMjQwOSAzNTkuMjM4IDM4LjQ2ODQgMzg3Ljk4NUwzOS44NTExIDM5Ny4zODdDNDEuMjc1MSA0MDcuMDcgNDQuMTkzMSA0MTYuNDc0IDQ4LjUwMTEgNDI1LjI2MkM1Mi40Nzk4IDQzMy4zNzkgNTcuNjAxNCA0NDAuODgzIDYzLjcwOTUgNDQ3LjU0N0w3MS4zMTc3IDQ1NS44NDdDNzQuMTkxMSA0NTguOTgxIDc5LjA0OTggNDU5LjIyNSA4Mi4yMjMxIDQ1Ni4zOTVaIiBmaWxsPSIjQ0NDQ0NDIi8+PHBhdGggZD0iTTIxMi43NDkgMjc4Ljg1OEwyMTIuMjY3IDI3OS4xMzNDMTk5LjY4NiAyODYuMzIyIDE5Mi45MTggMjk5Ljg5MiAxOTMuNTggMzE0LjM2N0MxOTMuNzY4IDMxOC40ODQgMTk3Ljg5MyAzMjIuMjU1IDIwMS44NTggMzIxLjEzMkwyMDkuMTYzIDMxOS4wNjJDMjE4LjYwNyAzMTYuMzg2IDIyNy4zNTMgMzExLjY4MSAyMzQuNzg5IDMwNS4yNzRMMjU2IDI4N0wyNjIuMjkyIDI4Mi4zNDNDMjk4Ljg3MSAyNTUuMjY5IDM0NC44MzMgMjQ0LjExMyAzODkuNzU0IDI1MS40MDVDMzkxLjE0IDI1MS42MyAzOTEuMTg0IDI1My42MDcgMzg5LjgxIDI1My44OTRMMzg0LjUgMjU1TDM4Mi4wOTMgMjU1Ljg0MkMzNzcuMTUgMjU3LjU3MiAzNzIuODU2IDI2MC43NzYgMzY5Ljc5IDI2NS4wMjJDMzY5LjIxNCAyNjUuODE5IDM2OS45ODIgMjY2Ljg5IDM3MC45MjIgMjY2LjYwMUwzNzIuNjYzIDI2Ni4wNjVDMzgyLjQ2NyAyNjMuMDQ5IDM5Mi43NTEgMjYxLjkwNCA0MDIuOTc4IDI2Mi42OTFMNDA3IDI2M0M0MjguODQzIDI2My45NSA0NDkuMTE0IDI3NC42MjYgNDYyLjI1NCAyOTIuMUw0NjcuMTc5IDI5OC42NUM0ODEuNzc2IDMxOC4wNjMgNDg3Ljk1MyAzNDIuNTMgNDg0LjMxOSAzNjYuNTQ1TDQ4Mi40MjEgMzc5LjA4N0M0NzkuODM3IDM5Ni4xNjMgNDczLjYxOCA0MTIuNDg2IDQ2NC4xODQgNDI2Ljk1Mkw0NjMuNSA0MjhMNDUzIDQ0Mkw0NDEuNSA0NTVMNDMwLjk2NSA0NjUuMTE0QzQyMS4zNDYgNDc0LjM0OCA0MTAuODI3IDQ4Mi41OTcgMzk5LjU2NyA0ODkuNzM4TDM5NiA0OTJMMzg5LjE3NSA0OTUuMjVDMzg3LjQxNyA0OTYuMDg3IDM4NS45NSA0OTMuNjc4IDM4Ny41IDQ5Mi41TDM5NyA0ODMuNUwzOTguOTUzIDQ4MS40NDlDNDA0LjIzMiA0NzUuOTA2IDQwOC4wMjcgNDY5LjEyIDQwOS45ODYgNDYxLjcyMUw0MTAuODg5IDQ1OC4zMDlDNDExLjI5NSA0NTYuNzc2IDQxMS41IDQ1NS4xNzQgNDExLjUgNDUzLjU4OEM0MTEuNSA0NDQuOTA5IDQwNS4zNTQgNDM3LjI5OCAzOTYuODM2IDQzNS42MzFDMzkxLjU1NCA0MzQuNTk3IDM4Ni4wODUgNDM1Ljk2MiAzODEuOTA3IDQzOS4zNTZMMzcyLjUgNDQ3TDM1NS44OTQgNDYwLjU4N0MzNDQuOTk1IDQ2OS41MDQgMzMzLjE4NSA0NzcuMjQ1IDMyMC42NiA0ODMuNjgyTDMwMy41IDQ5Mi41TDI3NC41IDUwMy41TDI2OC40MTIgNTA1LjE2QzI1Ny44MjIgNTA4LjA0OSAyNDcuMDEyIDUxMC4wNiAyMzYuMDkyIDUxMS4xNzRMMjI4IDUxMkgyMDJMMTY3LjUgNTA4LjI1TDE0OC44MzIgNTA0LjIxQzEzOC45ODUgNTAyLjA3OSAxMjkuNDU2IDQ5OC42ODIgMTIwLjQ4MiA0OTQuMTAzQzExMy4xODEgNDkwLjM3OCAxMDYuMjkzIDQ4NS44OTQgOTkuOTMxIDQ4MC43MjVMODUuNSA0NjlDNjguMDA1IDQ1NS42NCA1Ny4wNDQ5IDQzNS40NDggNTUuMzc0OSA0MTMuNDk4TDU0LjUgNDAyTDU1LjUyOTUgMzg1LjgyMkM1Ny4xMzQgMzYwLjYwOCA2Ni43OTExIDMzNi41NzYgODMuMDc5MiAzMTcuMjYzQzg5LjY2NTIgMzA5LjQ1NCA5Ny4yMzc2IDMwMi41MzQgMTA1LjYwNiAyOTYuNjc1TDEwOC42NzcgMjk0LjUyNkMxMjEuNDU4IDI4NS41NzkgMTM1LjcyIDI3OC45NjEgMTUwLjgwNSAyNzQuOTc2TDE2MC45NDcgMjcyLjI5N0MxNzQuMTM1IDI2OC44MTMgMTg3Ljk1MiAyNjguNDQ1IDIwMS4zMDcgMjcxLjIyTDIxMS44ODcgMjczLjQxOEMyMTQuNTQyIDI3My45NyAyMTUuMTAzIDI3Ny41MTMgMjEyLjc0OSAyNzguODU4WiIgZmlsbD0iIzVFNUU1RSIvPjwvc3ZnPg==",
|
|
327
|
+
url: "https://elysiajs.com",
|
|
328
|
+
tagline: "Ergonomic web framework for building backend servers, fast and type-safe.",
|
|
329
|
+
repo: "elysiajs/elysia",
|
|
330
|
+
links: [{
|
|
331
|
+
label: "Getting started",
|
|
332
|
+
href: "https://elysiajs.com/quick-start"
|
|
333
|
+
}]
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
category: "Database",
|
|
337
|
+
label: "SQLite",
|
|
338
|
+
flag: "sqlite",
|
|
339
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+Cgk8ZGVmcz4KCQk8bGluZWFyR3JhZGllbnQgaWQ9ImRldmljb25TcWxpdGUwIiB4MT0iLTE1LjYxNSIgeDI9Ii02Ljc0MSIgeTE9Ii05LjEwOCIgeTI9Ii05LjEwOCIgZ3JhZGllbnRUcmFuc2Zvcm09InJvdGF0ZSg5MCAtOTAuNDg2IDY0LjYzNClzY2FsZSg5LjI3MTIpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CgkJCTxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzk1ZDdmNCIgLz4KCQkJPHN0b3Agb2Zmc2V0PSIuOTIiIHN0b3AtY29sb3I9IiMwZjdmY2MiIC8+CgkJCTxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzBmN2ZjYyIgLz4KCQk8L2xpbmVhckdyYWRpZW50PgoJPC9kZWZzPgoJPHBhdGggZmlsbD0iIzBiN2ZjYyIgZD0iTTY5LjUgOTkuMTc2Yy0uMDU5LS43My0uMDk0LTEuMi0uMDk0LTEuMlM2Ny4yIDgzLjA4NyA2NC41NyA3OC42NDJjLS40MTQtLjcwNy4wNDMtMy41OTQgMS4yMDctNy44OGMuNjggMS4xNjkgMy41NCA2LjE5MiA0LjExOCA3LjgxYy42NDggMS44MjQuNzggMi4zNDcuNzggMi4zNDdzLTEuNTctOC4wODItNC4xNDQtMTIuNzk3YTE2MiAxNjIgMCAwIDEgMi4wMDQtNi4yNjVjLjk3MyAxLjcxIDMuMzEzIDUuODU5IDMuODI4IDcuM2MuMTAyLjI5My4xOTIuNTQzLjI3Ljc3NGwuMDc0LS40MTRjLS41OS0yLjUwNC0xLjc1LTYuODYtMy4zMzYtMTAuMDgyYzMuNTItMTguMzI4IDE1LjUzMS00Mi44MjQgMjcuODQtNTMuNzU0SDE2LjljLTUuMzg3IDAtOS43ODkgNC40MDYtOS43ODkgOS43ODl2ODguNTdjMCA1LjM4MyA0LjQwNiA5Ljc4OSA5Ljc5IDkuNzg5aDUyLjg5N2ExMTkgMTE5IDAgMCAxLS4yOTctMTQuNjUyIiAvPgoJPHBhdGggZmlsbD0idXJsKCNkZXZpY29uU3FsaXRlMCkiIGQ9Ik02NS43NzcgNzAuNzYyYy42OCAxLjE2OCAzLjU0IDYuMTg4IDQuMTE3IDcuODA5Yy42NDkgMS44MjQuNzgxIDIuMzQ3Ljc4MSAyLjM0N3MtMS41Ny04LjA4Mi00LjE0NC0xMi43OTdhMTY1IDE2NSAwIDAgMSAyLjAwNC02LjI3Yy44ODcgMS41NjcgMi45MjIgNS4xNjkgMy42NTIgNi44NzJsLjA4Mi0uOTYxYy0uNjQ4LTIuNDk2LTEuNjMzLTUuNzY2LTIuODk4LTguMzI4YzMuMjQyLTE2Ljg3MSAxMy42OC0zOC45NyAyNC45MjYtNTAuODk4SDE2Ljg5OWE2Ljk0IDYuOTQgMCAwIDAtNi45MzQgNi45MzN2ODIuMTFjMTcuNTI3LTYuNzMxIDM4LjY2NC0xMi44OCA1Ni44NTUtMTIuNjE0Yy0uNjcyLTIuNjA1LTEuNDQxLTQuOTYtMi4yNS02LjMyNGMtLjQxNC0uNzA3LjA0My0zLjU5NyAxLjIwNy03Ljg3OSIgLz4KCTxwYXRoIGZpbGw9IiMwMDM5NTYiIGQ9Ik0xMTUuOTUgMi43ODFjLTUuNS00LjkwNi0xMi4xNjQtMi45MzMtMTguNzM0IDIuODk5YTQ0IDQ0IDAgMCAwLTIuOTE0IDIuODU5Yy0xMS4yNSAxMS45MjYtMjEuNjg0IDM0LjAyMy0yNC45MjYgNTAuODk1YzEuMjYyIDIuNTYzIDIuMjUgNS44MzIgMi44OTQgOC4zMjhjLjE2OC42NC4zMiAxLjI0Mi40NDIgMS43NTRjLjI4NSAxLjIwNy40MzcgMS45OTYuNDM3IDEuOTk2cy0uMTAxLS4zODMtLjUxNS0xLjU4MmMtLjA3OC0uMjMtLjE2OC0uNDg0LS4yNy0uNzczYTggOCAwIDAgMC0uMTcyLS40MzRjLS43MzQtMS43MDMtMi43NjUtNS4zMDUtMy42NTYtNi44NjdjLS43NjIgMi4yNS0xLjQzNyA0LjM2LTIuMDA0IDYuMjY1YzIuNTc4IDQuNzE1IDQuMTQ5IDEyLjc5NyA0LjE0OSAxMi43OTdzLS4xMzctLjUyMy0uNzgyLTIuMzQ3Yy0uNTc4LTEuNjIxLTMuNDQxLTYuNjQtNC4xMTctNy44MDljLTEuMTY0IDQuMjgxLTEuNjI1IDcuMTcyLTEuMjA3IDcuODhjLjgwOSAxLjM2MiAxLjU3NCAzLjcyMiAyLjI1IDYuMzIzYzEuNTI0IDUuODY3IDIuNTg2IDEzLjAxMiAyLjU4NiAxMy4wMTJzLjAzMS40NjkuMDk0IDEuMmExMTkgMTE5IDAgMCAwIC4yOTcgMTQuNjUxYy41MDQgNi4xMSAxLjQ1MyAxMS4zNjMgMi42NjQgMTQuMTcybC44MjgtLjQ0OWMtMS43ODEtNS41MzUtMi41MDQtMTIuNzkzLTIuMTg4LTIxLjE1NmMuNDgtMTIuNzkzIDMuNDIyLTI4LjIxNSA4Ljg1Ni00NC4yODljOS4xOTEtMjQuMjcgMjEuOTM4LTQzLjczOCAzMy42MDItNTMuMDM1Yy0xMC42MzMgOS42MDItMjUuMDIzIDQwLjY4NC0yOS4zMzIgNTIuMTk1Yy00LjgyIDEyLjg5MS04LjIzOCAyNC45ODQtMTAuMzAxIDM2LjU3NGMzLjU1LTEwLjg2MyAxNS4wNDctMTUuNTMgMTUuMDQ3LTE1LjUzczUuNjM3LTYuOTU4IDEyLjIyNy0xNi44ODhjLTMuOTUuOTAzLTEwLjQzIDIuNDQyLTEyLjU5OCAzLjM1MmMtMy4yIDEuMzQ0LTQuMDY3IDEuOC00LjA2NyAxLjhzMTAuMzcxLTYuMzEyIDE5LjI3LTkuMTcxYzEyLjIzNC0xOS4yNyAyNS41NjItNDYuNjQ4IDEyLjE0MS01OC42MjEiIC8+Cjwvc3ZnPg==",
|
|
340
|
+
url: "https://www.sqlite.org/",
|
|
341
|
+
tagline: "SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine",
|
|
342
|
+
repo: "sqlite/sqlite",
|
|
343
|
+
links: [{
|
|
344
|
+
label: "better-sqlite3: API",
|
|
345
|
+
href: "https://github.com/WiseLibs/better-sqlite3/blob/master/docs/api.md"
|
|
346
|
+
}, {
|
|
347
|
+
label: "D1: Getting started",
|
|
348
|
+
href: "https://developers.cloudflare.com/d1/get-started/"
|
|
349
|
+
}]
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
category: "Database",
|
|
353
|
+
label: "PostgreSQL",
|
|
354
|
+
flag: "postgres",
|
|
355
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggMTI4Ij48cGF0aCBkPSJNOTMuODA5IDkyLjExMmMuNzg1LTYuNTMzLjU1LTcuNDkyIDUuNDE2LTYuNDMzbDEuMjM1LjEwOGMzLjc0Mi4xNyA4LjYzNy0uNjAyIDExLjUxMy0xLjkzOCA2LjE5MS0yLjg3MyA5Ljg2MS03LjY2OCAzLjc1OC02LjQwOS0xMy45MjQgMi44NzMtMTQuODgxLTEuODQyLTE0Ljg4MS0xLjg0MiAxNC43MDMtMjEuODE1IDIwLjg0OS00OS41MDggMTUuNTQzLTU2LjI4Ny0xNC40Ny0xOC40ODktMzkuNTE3LTkuNzQ2LTM5LjkzNi05LjUybC0uMTM0LjAyNWMtMi43NTEtLjU3MS01LjgzLS45MTItOS4yODktLjk2OC02LjMwMS0uMTA0LTExLjA4MiAxLjY1Mi0xNC43MDkgNC40MDIgMCAwLTQ0LjY4My0xOC40MDktNDIuNjA0IDIzLjE1MS40NDIgOC44NDEgMTIuNjcyIDY2Ljg5OCAyNy4yNiA0OS4zNjIgNS4zMzItNi40MTIgMTAuNDg0LTExLjgzNCAxMC40ODQtMTEuODM0IDIuNTU4IDEuNjk5IDUuNjIyIDIuNTY3IDguODM0IDIuMjU1bC4yNDktLjIxMmMtLjA3OC43OTYtLjA0NCAxLjU3NS4wOTkgMi40OTctMy43NTcgNC4xOTktMi42NTMgNC45MzYtMTAuMTY2IDYuNDgyLTcuNjAyIDEuNTY2LTMuMTM2IDQuMzU1LS4yMjEgNS4wODQgMy41MzUuODg0IDExLjcxMiAyLjEzNiAxNy4yMzgtNS41OThsLS4yMi44ODJjMS40NzQgMS4xOCAxLjM3NSA4LjQ3NyAxLjU4MyAxMy42OS4yMDkgNS4yMTQuNTU4IDEwLjA3OSAxLjYyMSAxMi45NDggMS4wNjMgMi44NjggMi4zMTcgMTAuMjU2IDEyLjE5MSA4LjE0IDguMjUyLTEuNzY0IDE0LjU2MS00LjMwOSAxNS4xMzYtMjcuOTg1Ij48L3BhdGg+PHBhdGggZD0iTTc1LjQ1OCAxMjUuMjU2Yy00LjM2NyAwLTcuMjExLTEuNjg5LTguOTM4LTMuMzItMi42MDctMi40Ni0zLjY0MS01LjYyOS00LjI1OS03LjUyMmwtLjI2Ny0uNzljLTEuMjQ0LTMuMzU4LTEuNjY2LTguMTkzLTEuOTE2LTE0LjQxOS0uMDM4LS45MzUtLjA2NC0xLjg5OC0uMDkzLTIuOTE5LS4wMjEtLjc0Ny0uMDQ3LTEuNjg0LS4wODUtMi42NjRhMTguOCAxOC44IDAgMDEtNC45NjIgMS41NjhjLTMuMDc5LjUyNi02LjM4OS4zNTYtOS44NC0uNTA3LTIuNDM1LS42MDktNC45NjUtMS44NzEtNi40MDctMy44Mi00LjIwMyAzLjY4MS04LjIxMiAzLjE4Mi0xMC4zOTYgMi40NTMtMy44NTMtMS4yODUtNy4zMDEtNC44OTYtMTAuNTQyLTExLjAzNy0yLjMwOS00LjM3NS00LjU0Mi0xMC4wNzUtNi42MzgtMTYuOTQzLTMuNjUtMTEuOTYtNS45NjktMjQuNTU3LTYuMTc1LTI4LjY5M0M0LjI5MiAyMy42OTggNy43NzcgMTQuNDQgMTUuMjk2IDkuMTI5IDI3LjE1Ny43NTEgNDUuMTI4IDUuNjc4IDUxLjY4IDcuOTE1YzQuNDAyLTIuNjUzIDkuNTgxLTMuOTQ0IDE1LjQzMy0zLjg1MSAzLjE0My4wNTEgNi4xMzYuMzI3IDguOTE2LjgyMyAyLjktLjkxMiA4LjYyOC0yLjIyMSAxNS4xODUtMi4xMzkgMTIuMDgxLjE0NCAyMi4wOTIgNC44NTIgMjguOTQ5IDEzLjYxNSA0Ljg5NCA2LjI1MiAyLjQ3NCAxOS4zODEuNTk3IDI2LjY1MS0yLjY0MiAxMC4yMjYtNy4yNzEgMjEuMTAyLTEyLjk1NyAzMC41NyAxLjU0NC4wMTEgMy43ODEtLjE3NCA2Ljk2MS0uODMxIDYuMjc0LTEuMjk1IDguMTA5IDIuMDY5IDguNjA3IDMuNTc1IDEuOTk1IDYuMDQyLTYuNjc3IDEwLjYwOC05LjM4MiAxMS44NjQtMy40NjYgMS42MDktOS4xMTcgMi41ODktMTMuNzQ1IDIuMzc3bC0uMjAyLS4wMTMtMS4yMTYtLjEwNy0uMTIgMS4wMTQtLjExNi45OTFjLS4zMTEgMTEuOTk5LTIuMDI1IDE5LjU5OC01LjU1MiAyNC42MTktMy42OTcgNS4yNjQtOC44MzUgNi43MzktMTMuMzYxIDcuNzA5LTEuNTQ0LjMzLTIuOTQ3LjQ3NC00LjIxOS40NzR6bS05LjE5LTQzLjY3MWMyLjgxOSAyLjI1NiAzLjA2NiA2LjUwMSAzLjI4NyAxNC40MzQuMDI4Ljk5LjA1NCAxLjkyNy4wODkgMi44MDIuMTA2IDIuNjUuMzU1IDguODU1IDEuMzI3IDExLjQ3Ny4xMzcuMzcxLjI2Ljc0Ny4zOSAxLjE0NiAxLjA4MyAzLjMxNiAxLjYyNiA0Ljk3OSA2LjMwOSAzLjk3OCAzLjkzMS0uODQzIDUuOTUyLTEuNTk5IDcuNTM0LTMuODUxIDIuMjk5LTMuMjc0IDMuNTg1LTkuODYgMy44MjEtMTkuNTc1bDQuNzgzLjExNi00Ljc1LS41Ny4xNC0xLjE4NmMuNDU1LTMuOTEuNzgzLTYuNzM0IDMuMzk2LTguNjAyIDIuMDk3LTEuNDk4IDQuNDg2LTEuMzUzIDYuMzg5LTEuMDEtMi4wOTEtMS41OC0yLjY2OS0zLjQzMy0yLjgyMy00LjE5M2wtLjM5OS0xLjk2NSAxLjEyMS0xLjY2M2M2LjQ1Ny05LjU4IDExLjc4MS0yMS4zNTQgMTQuNjA5LTMyLjMwNCAyLjkwNi0xMS4yNTEgMi4wMi0xNy4yMjYgMS4xMzQtMTguMzU2LTExLjcyOS0xNC45ODctMzIuMDY4LTguNzk5LTM0LjE5Mi04LjA5N2wtLjM1OS4xOTQtMS44LjMzNS0uOTIyLS4xOTFjLTIuNTQyLS41MjgtNS4zNjYtLjgyLTguMzkzLS44NjktNC43NTYtLjA4LTguNTkzIDEuMDQ0LTExLjczOSAzLjQzMWwtMi4xODMgMS42NTUtMi41MzMtMS4wNDNjLTUuNDEyLTIuMjEzLTIxLjMwOC02LjY2Mi0yOS42OTYtLjcyMS00LjY1NiAzLjI5OC02Ljc3NyA5Ljc2LTYuMzA1IDE5LjIwNy4xNTYgMy4xMTkgMi4yNzUgMTQuOTI2IDUuNzcxIDI2LjM3NyA0LjgzMSAxNS44MjUgOS4yMjEgMjEuMDgyIDExLjA1NCAyMS42OTMuMzIuMTA4IDEuMTUtLjUzNyAxLjk3Ni0xLjUyOWEyNzAuNzA4IDI3MC43MDggMCAwMTEwLjY5NC0xMi4wN2wyLjc3LTIuOTE1IDMuMzQ5IDIuMjI1YzEuMzUuODk3IDIuODM5IDEuNDA2IDQuMzY4IDEuNTAybDcuOTg3LTYuODEyLTEuMTU3IDExLjgwOGMtLjAyNi4yNjUtLjAzOS42MjYuMDY1IDEuMjk2bC4zNDggMi4yMzgtMS41MSAxLjY4OC0uMTc0LjE5NiA0LjM4OCAyLjAyNSAxLjgzNi0yLjMwMXoiPjwvcGF0aD48cGF0aCBmaWxsPSIjMzM2NzkxIiBkPSJNMTE1LjczMSA3Ny40NGMtMTMuOTI1IDIuODczLTE0Ljg4Mi0xLjg0Mi0xNC44ODItMS44NDIgMTQuNzAzLTIxLjgxNiAyMC44NDktNDkuNTEgMTUuNTQ1LTU2LjI4N0MxMDEuOTI0LjgyMyA3Ni44NzUgOS41NjYgNzYuNDU3IDkuNzkzbC0uMTM1LjAyNGMtMi43NTEtLjU3MS01LjgzLS45MTEtOS4yOTEtLjk2Ny02LjMwMS0uMTAzLTExLjA4IDEuNjUyLTE0LjcwNyA0LjQwMiAwIDAtNDQuNjg0LTE4LjQwOC00Mi42MDYgMjMuMTUxLjQ0MiA4Ljg0MiAxMi42NzIgNjYuODk5IDI3LjI2IDQ5LjM2MyA1LjMzMi02LjQxMiAxMC40ODMtMTEuODM0IDEwLjQ4My0xMS44MzQgMi41NTkgMS42OTkgNS42MjIgMi41NjcgOC44MzMgMi4yNTVsLjI1LS4yMTJjLS4wNzguNzk2LS4wNDIgMS41NzUuMSAyLjQ5Ny0zLjc1OCA0LjE5OS0yLjY1NCA0LjkzNi0xMC4xNjcgNi40ODItNy42MDIgMS41NjYtMy4xMzYgNC4zNTUtLjIyIDUuMDg0IDMuNTM0Ljg4NCAxMS43MTIgMi4xMzYgMTcuMjM3LTUuNTk4bC0uMjIxLjg4MmMxLjQ3MyAxLjE4IDIuNTA3IDcuNjcyIDIuMzM0IDEzLjU1Ny0uMTc0IDUuODg1LS4yOSA5LjkyNi44NzEgMTMuMDgyIDEuMTYgMy4xNTYgMi4zMTYgMTAuMjU2IDEyLjE5MiA4LjE0IDguMjUyLTEuNzY4IDEyLjUyOC02LjM1MSAxMy4xMjQtMTMuOTk1LjQyMi01LjQzNSAxLjM3Ny00LjYzMSAxLjQzOC05LjQ5bC43NjctMi4zYy44ODQtNy4zNjcuMTQtOS43NDMgNS4yMjUtOC42MzhsMS4yMzUuMTA4YzMuNzQyLjE3IDguNjM5LS42MDIgMTEuNTE0LTEuOTM4IDYuMTktMi44NzEgOS44NjEtNy42NjcgMy43NTgtNi40MDh6Ij48L3BhdGg+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTc1Ljk1NyAxMjIuMzA3Yy04LjIzMiAwLTEwLjg0LTYuNTE5LTExLjkwNy05LjE4NS0xLjU2Mi0zLjkwNy0xLjg5OS0xOS4wNjktMS41NTEtMzEuNTAzYTEuNTkgMS41OSAwIDAxMS42NC0xLjU1IDEuNTk0IDEuNTk0IDAgMDExLjU1IDEuNjM5Yy0uNDAxIDE0LjM0MS4xNjggMjcuMzM3IDEuMzI0IDMwLjIyOSAxLjgwNCA0LjUwOSA0LjU0IDguNDUzIDEyLjI3NSA2Ljc5NiA3LjM0My0xLjU3NSAxMC4wOTMtNC4zNTkgMTEuMzE4LTExLjQ2Ljk0LTUuNDQ5IDIuNzk5LTIwLjk1MSAzLjAyOC0yNC4wMWExLjU5MyAxLjU5MyAwIDAxMS43MS0xLjQ3MiAxLjU5NyAxLjU5NyAwIDAxMS40NzIgMS43MWMtLjIzOSAzLjE4NS0yLjA4OSAxOC42NTctMy4wNjUgMjQuMzE1LTEuNDQ2IDguMzg3LTUuMTg1IDEyLjE5MS0xMy43OTQgMTQuMDM3LTEuNDYzLjMxMy0yLjc5Mi40NTMtNCAuNDU0ek0zMS4zMjEgOTAuNDY2YTYuNzEgNi43MSAwIDAxLTIuMTE2LS4zNWMtNS4zNDctMS43ODQtMTAuNDQtMTAuNDkyLTE1LjEzOC0yNS44ODUtMy41NzYtMTEuNzE3LTUuODQyLTIzLjk0Ny02LjA0MS0yNy45MjItLjU4OS0xMS43ODQgMi40NDUtMjAuMTIxIDkuMDItMjQuNzc4IDEzLjAwNy05LjIxNiAzNC44ODgtLjQ0IDM1LjgxMy0uMDYyYTEuNTk2IDEuNTk2IDAgMDEtMS4yMDcgMi45NTVjLS4yMTEtLjA4Ni0yMS4xOTMtOC40OTItMzIuNzY4LS4yODUtNS42MjIgMy45ODYtOC4yMDMgMTEuMzkyLTcuNjcyIDIyLjAxMS4xNjcgMy4zNDkgMi4yODQgMTUuMjg1IDUuOTA2IDI3LjE0OSA0LjE5NCAxMy43NDIgOC45NjcgMjIuNDEzIDEzLjA5NiAyMy43OS42NDguMjE2IDIuNjIuODczIDUuNDM5LTIuNTE3QTI0NS4yNzIgMjQ1LjI3MiAwIDAxNDUuODggNzMuMDQ2YTEuNTk2IDEuNTk2IDAgMDEyLjMwNCAyLjIwOGMtLjA0OC4wNS00Ljg0NyA1LjA2Ny0xMC4wNzcgMTEuMzU5LTIuNDc3IDIuOTc5LTQuODUxIDMuODUzLTYuNzg2IDMuODUzem02OS40MjktMTMuNDQ1YTEuNTk2IDEuNTk2IDAgMDEtMS4zMjItMi40ODdjMTQuODYzLTIyLjA1NSAyMC4wOC00OC43MDQgMTUuNjEyLTU0LjQxNC01LjYyNC03LjE4Ni0xMy41NjUtMTAuOTM5LTIzLjYwNC0xMS4xNTYtNy40MzMtLjE2LTEzLjM0MSAxLjczOC0xNC4zMDcgMi4wNjlsLS4yNDMuMDk5Yy0uOTcxLjMwNS0xLjcxNi0uMjI3LTEuOTk3LS44NDlhMS42IDEuNiAwIDAxLjYzMS0yLjAyNWMuMDQ2LS4wMjcuMTkyLS4wODkuNDI5LS4xNzZsLS4wMjEuMDA2LjAyMS0uMDA3YzEuNjQxLS42MDEgNy42MzktMi40IDE1LjA2OC0yLjMxNSAxMS4xMDguMTE4IDIwLjI4NCA0LjQwMSAyNi41MzQgMTIuMzg4IDIuOTU3IDMuNzc5IDIuOTY0IDEyLjQ4NS4wMTkgMjMuODg3LTMuMDAyIDExLjYyNS04LjY1MSAyNC4xMTgtMTUuNDk3IDM0LjI3Ny0uMzA2LjQ1Ny0uODEuNzAzLTEuMzIzLjcwM3ptLjc2IDEwLjIxYy0yLjUzOCAwLTQuODEzLS4zNTgtNi4xNzUtMS4xNzQtMS40LS44MzktMS42NjctMS45NzktMS43MDItMi41ODQtLjM4Mi02LjcxIDMuMzItNy44NzggNS4yMDgtOC40MTEtLjI2My0uMzk4LS42MzctLjg2Ni0xLjAyNC0xLjM0OS0xLjEwMS0xLjM3Ni0yLjYwOS0zLjI2LTMuNzcxLTYuMDc4LS4xODItLjQ0LS43NTItMS40NjMtMS40MTItMi42NDgtMy41NzktNi40MTgtMTEuMDI2LTE5Ljc3My02LjI0Mi0yNi42MTIgMi4yMTQtMy4xNjUgNi42MjMtNC40MTEgMTMuMTE5LTMuNzE2Qzk3LjYgMjguODM3IDg4LjUgMTAuNjI1IDY2LjkwNyAxMC4yNzFjLTYuNDk0LS4xMDgtMTEuODIgMS44ODktMTUuODIyIDUuOTMtOC45NiA5LjA0OS04LjYzNiAyNS40MjItOC42MzEgMjUuNTg2YTEuNTk1IDEuNTk1IDAgMTEtMy4xOS4wODRjLS4wMi0uNzI3LS4zNTQtMTcuOTA5IDkuNTU0LTI3LjkxNkM1My40NTUgOS4yNzIgNTkuNTU5IDYuOTYgNjYuOTYgNy4wODFjMTMuODE0LjIyNyAyMi43MDYgNy4yNSAyNy43MzIgMTMuMTAxIDUuNDc5IDYuMzc3IDguMTY1IDEzLjQxMSA4LjM4NiAxNS43NTkuMTY1IDEuNzQ2LTEuMDg4IDIuMDk1LTEuMzQxIDIuMTQ3bC0uNTc2LjAxM2MtNi4zNzUtMS4wMjEtMTAuNDY1LS4zMTItMTIuMTU2IDIuMTA0LTMuNjM5IDUuMjAxIDMuNDA2IDE3LjgzNCA2LjQxNCAyMy4yMjkuNzY4IDEuMzc2IDEuMzIyIDIuMzcxIDEuNTc2IDIuOTg1Ljk4OCAyLjM5NiAyLjI3NyA0LjAwNiAzLjMxMiA1LjMuOTExIDEuMTM4IDEuNyAyLjEyNSAxLjk4MiAzLjI4My4xMzEuMjMgMS45OSAyLjk4IDEzLjAyMS43MDMgMi43NjUtLjU3IDQuNDIzLS4wODMgNC45MyAxLjQ1Ljk5NyAzLjAxNS00LjU5NyA2LjUzMi03LjY5NCA3Ljk3LTIuNzc1IDEuMjktNy4yMDQgMi4xMDYtMTEuMDM2IDIuMTA2em0tNC42OTYtNC4wMjFjLjM1LjM1MyAyLjEwMS45NjIgNS43MjcuODA2IDMuMjI0LS4xMzggNi42MjQtLjgzOSA4LjY2NC0xLjc4NiAyLjYwOS0xLjIxMiA0LjM1MS0yLjU2NyA1LjI1My0zLjQ5MmwtLjUuMDkyYy03LjA1MyAxLjQ1Ni0xMi4wNDIgMS4yNjItMTQuODI4LS41NzdhNi4xNjIgNi4xNjIgMCAwMS0uNTQtLjQwMWMtLjMwMi4xMTktLjU4MS4xOTctLjc4LjI1My0xLjU4LjQ0My0zLjIxNC45MDItMi45OTYgNS4xMDV6bS00NS41NjIgOC45MTVjLTEuNzUyIDAtMy41OTYtLjIzOS01LjQ3OS0uNzEtMS45NTEtLjQ4OC01LjI0LTEuOTU3LTUuMTktNC4zNy4wNTctMi43MDcgMy45OTQtMy41MTkgNS40NzYtMy44MjQgNS4zNTQtMS4xMDMgNS43MDMtMS41NDUgNy4zNzYtMy42Ny40ODgtLjYxOSAxLjA5NS0xLjM5IDEuOTIzLTIuMzE0IDEuMjI5LTEuMzc2IDIuNTcyLTIuMDczIDMuOTkyLTIuMDczLjk4OSAwIDEuOC4zMzUgMi4zMzYuNTU4IDEuNzA4LjcwOCAzLjEzMyAyLjQyIDMuNzE5IDQuNDY3LjUyOSAxLjg0Ny4yNzYgMy42MjUtLjcxIDUuMDA2LTMuMjM3IDQuNTMzLTcuODg2IDYuOTMtMTMuNDQzIDYuOTN6bS03LjIyMi00Ljk0M2MuNDgxLjM3MiAxLjQ0NS44NjkgMi41MTggMS4xMzcgMS42MzEuNDA4IDMuMjEzLjYxNSA0LjcwNS42MTUgNC41NDYgMCA4LjE5Ni0xLjg4MiAxMC44NDctNS41OTQuNTUzLS43NzQuMzg3LTEuNzU3LjIzOS0yLjI3NC0uMzEtMS4wODMtMS4wOC0yLjA2OC0xLjg3My0yLjM5Ny0uNDMtLjE3OC0uNzg3LS4zMTQtMS4xMTUtLjMxNC0uMTc2IDAtLjcxMiAwLTEuNjE0IDEuMDA5YTQxLjE0NiA0MS4xNDYgMCAwMC0xLjc5NCAyLjE2MmMtMi4wODQgMi42NDYtMy4wMzkgMy41NDQtOS4yMzkgNC44MjEtMS41MTMuMzEtMi4yODkuNjI2LTIuNjc0LjgzNXptMTIuMjY5LTcuMzZhMS41OTYgMS41OTYgMCAwMS0xLjU3NS0xLjM1NCA4LjIxOCA4LjIxOCAwIDAxLS4wOC0uNzk5Yy00LjA2NC0uMDc2LTcuOTg1LTEuODItMTAuOTYyLTQuOTI2LTMuNzY0LTMuOTI3LTUuNDc3LTkuMzY4LTQuNjk5LTE0LjkyNy44NDUtNi4wMzcuNTI5LTExLjM2Ni4zNTktMTQuMjI5LS4wNDctLjc5Ni0uMDgxLTEuMzcxLS4wNzktMS43NjkuMDAzLS41MDUuMDEzLTEuODQ0IDQuNDg5LTQuMTEzIDEuNTkyLS44MDcgNC43ODQtMi4yMTUgOC4yNzEtMi41NzYgNS43NzctLjU5NyA5LjU4NSAxLjk3NiAxMC43MjUgNy4yNDYgMy4wNzcgMTQuMjI4LjI0NCAyMC41MjEtMS44MjUgMjUuMTE3LS4zODUuODU2LS43NDkgMS42NjQtMS4wNCAyLjQ0N2wtLjI1Ny42OWMtMS4wOTMgMi45MzEtMi4wMzggNS40NjMtMS43NDggNy4zNTRhMS41OTUgMS41OTUgMCAwMS0xLjMzNSAxLjgxOWwtLjI0NC4wMnpNNDIuNDY0IDQyLjI2bC4wNjIgMS4xMzljLjE3NiAyLjk3NC41MDQgOC41MDgtLjM4NCAxNC44Ni0uNjQxIDQuNTg1Ljc1OSA5LjA2IDMuODQzIDEyLjI3NiAyLjQzNyAyLjU0MiA1LjY0NCAzLjk0NSA4Ljk0IDMuOTQ1aC4wNjhjLjM2OS0xLjU1NS45ODItMy4xOTcgMS42NDItNC45NjZsLjI1NS0uNjg2Yy4zMjktLjg4NC43MTQtMS43NCAxLjEyMi0yLjY0NiAxLjk5MS00LjQyNCA0LjQ3LTkuOTMxIDEuNjE1LTIzLjEzMi0uNTY1LTIuNjE1LTEuOTM2LTQuMTI4LTQuMTg5LTQuNjI3LTQuNjI4LTEuMDIyLTExLjUyNSAyLjQ1OS0xMi45NzQgMy44Mzd6bTkuNjMtLjY3N2MtLjA4LjU2NCAxLjAzMyAyLjA3IDIuNDg1IDIuMjcxIDEuNDQ5LjIwMyAyLjY4OS0uOTc1IDIuNzY4LTEuNTM5LjA3OS0uNTY0LTEuMDMzLTEuMTg2LTIuNDg1LTEuMzg4LTEuNDUxLS4yMDItMi42OTEuMDkyLTIuNzY4LjY1NnptMi44MTggMi44MjZsLS40MDctLjAyOGMtLjktLjEyNS0xLjgxLS42OTItMi40MzMtMS41MTgtLjIxOS0uMjktLjU3Ni0uODUyLS41MDUtMS4zNTQuMTAxLS43MzYuOTk5LTEuMTc3IDIuNC0xLjE3Ny4zMTMgMCAuNjM5LjAyMy45NjcuMDY5Ljc2Ni4xMDYgMS40NzcuMzI3IDIuMDAyLjYyLjkxLjUwOC45NzcgMS4wNzUuOTM2IDEuMzY4LS4xMTIuODEzLTEuNDA1IDIuMDItMi45NiAyLjAyem0tMi4yODktMi43MzJjLjA0NS4zNDguOTA3IDEuNDk2IDIuMDI5IDEuNjUxbC4yNjEuMDE4YzEuMDM2IDAgMS44MS0uODE1IDEuOTAxLTEuMDgyLS4wOTYtLjE4Mi0uNzYyLS42MzQtMi4wMjUtLjgxYTUuODIzIDUuODIzIDAgMDAtLjgyMS0uMDU5Yy0uODEyIDAtMS4yNDMuMTgzLTEuMzQ1LjI4MnptNDMuNjA1LTEuMjQ1Yy4wNzkuNTY0LTEuMDMzIDIuMDctMi40ODQgMi4yNzItMS40NS4yMDItMi42OTEtLjk3NS0yLjc3MS0xLjUzOS0uMDc2LS41NjQgMS4wMzYtMS4xODcgMi40ODYtMS4zODggMS40NS0uMjAzIDIuNjg5LjA5MiAyLjc2OS42NTV6bS0yLjgxOSAyLjU2Yy0xLjM5NiAwLTIuNjAxLTEuMDg2LTIuNy0xLjc5MS0uMTE1LS44NDYgMS4yNzgtMS40ODkgMi43MTItMS42ODguMzE2LS4wNDQuNjI5LS4wNjYuOTMtLjA2NiAxLjIzOCAwIDIuMDU4LjM2MyAyLjE0Ljk0OS4wNTMuMzc5LS4yMzguOTY0LS43MzkgMS40OTItLjMzMS4zNDctMS4wMjYuOTQ4LTEuOTczIDEuMDc5bC0uMzcuMDI1em0uOTQzLTMuMDEzYy0uMjc2IDAtLjU2NC4wMjEtLjg1Ni4wNjEtMS40NDEuMjAxLTIuMzAxLjc3OS0yLjI1OSAxLjA4OS4wNDguMzQxLjk2OCAxLjMzMiAyLjE3MyAxLjMzMmwuMjk3LS4wMjFjLjc4Ny0uMTA5IDEuMzc4LS42MjMgMS42Ni0uOTE5LjQ0My0uNDY1LjYxOS0uOTAzLjU5OC0xLjA1Mi0uMDI4LS4xOTgtLjU2LS40OS0xLjYxMy0uNDl6bTMuOTY1IDMyLjg0M2ExLjU5NCAxLjU5NCAwIDAxLTEuMzI0LTIuNDgzYzMuMzk4LTUuMDc1IDIuNzc2LTEwLjI1IDIuMTc1LTE1LjI1NS0uMjU3LTIuMTMyLS41MjEtNC4zMzctLjQ1My02LjQ1My4wNy0yLjE3Ny4zNDctMy45NzMuNjE0LTUuNzEuMzE3LTIuMDU4LjYxNy00LjAwMi40OTMtNi4zMWExLjU5NSAxLjU5NSAwIDExMy4xODYtLjE3MmMuMTQyIDIuNjM4LS4xOTcgNC44MzgtLjUyNSA2Ljk2Ny0uMjUzIDEuNjQzLS41MTUgMy4zNDItLjU3OCA1LjMyNy0uMDYxIDEuODc0LjE3OCAzLjg2NC40MzEgNS45Ny42NCA1LjMyMiAxLjM2NSAxMS4zNTQtMi42OTEgMTcuNDExYTEuNTk2IDEuNTk2IDAgMDEtMS4zMjguNzA4eiI+PC9wYXRoPjwvc3ZnPg==",
|
|
356
|
+
url: "https://www.postgresql.org/",
|
|
357
|
+
tagline: "The world's most advanced open source relational database",
|
|
358
|
+
repo: "postgres/postgres",
|
|
359
|
+
links: [{
|
|
360
|
+
label: "Docs",
|
|
361
|
+
href: "https://www.postgresql.org/docs/"
|
|
362
|
+
}, {
|
|
363
|
+
label: "postgres.js (client)",
|
|
364
|
+
href: "https://github.com/porsager/postgres"
|
|
365
|
+
}]
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
category: "ORM / Query builder",
|
|
369
|
+
label: "Drizzle",
|
|
370
|
+
flag: "drizzle",
|
|
371
|
+
llms: "https://orm.drizzle.team/llms.txt",
|
|
372
|
+
image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgd2lkdGg9IjI4MHB4IiBoZWlnaHQ9IjI4MHB4IiBzdHlsZT0ic2hhcGUtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjsgdGV4dC1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uOyBpbWFnZS1yZW5kZXJpbmc6b3B0aW1pemVRdWFsaXR5OyBmaWxsLXJ1bGU6ZXZlbm9kZDsgY2xpcC1ydWxlOmV2ZW5vZGQiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MSIgZmlsbD0iIzAwMDAwMCIgZD0iTSAtMC41LC0wLjUgQyA5Mi44MzMzLC0wLjUgMTg2LjE2NywtMC41IDI3OS41LC0wLjVDIDI3OS41LDkyLjgzMzMgMjc5LjUsMTg2LjE2NyAyNzkuNSwyNzkuNUMgMTg2LjE2NywyNzkuNSA5Mi44MzMzLDI3OS41IC0wLjUsMjc5LjVDIC0wLjUsMTg2LjE2NyAtMC41LDkyLjgzMzMgLTAuNSwtMC41IFoiLz48L2c+CjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjEiIGZpbGw9IiNjMWYyNGQiIGQ9Ik0gMTMzLjUsODQuNSBDIDE0Mi44MTQsODIuNzI2OSAxNDYuNjQ3LDg2LjM5MzUgMTQ1LDk1LjVDIDEzNS45MDYsMTEyLjAyOCAxMjYuNTcyLDEyOC4zNjIgMTE3LDE0NC41QyAxMTEuMjQ5LDE0OS45ODQgMTA2LjI0OSwxNDkuMzE3IDEwMiwxNDIuNUMgMTAxLjMzMywxNDAuODMzIDEwMS4zMzMsMTM5LjE2NyAxMDIsMTM3LjVDIDExMS41NDcsMTE5LjA0MSAxMjIuMDQ3LDEwMS4zNzUgMTMzLjUsODQuNSBaIi8+PC9nPgo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eToxIiBmaWxsPSIjYzBmMTRkIiBkPSJNIDIyMy41LDg0LjUgQyAyMzMuNTM5LDgzLjY5NzIgMjM3LjAzOSw4OC4wMzA1IDIzNCw5Ny41QyAyMjUuMzQ3LDExMi44MDEgMjE2LjY4MSwxMjguMTM1IDIwOCwxNDMuNUMgMjAzLjM4NywxNDkuNzM3IDE5OC4zODcsMTUwLjA3MSAxOTMsMTQ0LjVDIDE5MS41NzgsMTQxLjk3IDE5MS4yNDUsMTM5LjMwMyAxOTIsMTM2LjVDIDIwMC41MiwxMjIuNzk0IDIwOC41MiwxMDguNzk0IDIxNiw5NC41QyAyMTguMjg5LDkwLjg4MTIgMjIwLjc4OSw4Ny41NDc5IDIyMy41LDg0LjUgWiIvPjwvZz4KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MSIgZmlsbD0iI2MwZjE0ZCIgZD0iTSA3NS41LDEyMC41IEMgODMuOTg4NSwxMTkuNjE4IDg3LjgyMTgsMTIzLjI4NSA4NywxMzEuNUMgNzcuOTA1NywxNDguMDI4IDY4LjU3MjQsMTY0LjM2MiA1OSwxODAuNUMgNTYuMDQ1MywxODQuMjc3IDUyLjIxMiwxODUuNDQzIDQ3LjUsMTg0QyA0My44Njk3LDE4MC45NSA0Mi43MDMsMTc3LjExNyA0NCwxNzIuNUMgNTMsMTU2LjUgNjIsMTQwLjUgNzEsMTI0LjVDIDcyLjM5NjgsMTIyLjkzIDczLjg5NjgsMTIxLjU5NiA3NS41LDEyMC41IFoiLz48L2c+CjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjEiIGZpbGw9IiNjMWYyNGQiIGQ9Ik0gMTY1LjUsMTIwLjUgQyAxNzQuMTY0LDExOS4zMzIgMTc3Ljk5NywxMjIuOTk5IDE3NywxMzEuNUMgMTY3LjQxNCwxNDcuNjcxIDE1OC4wOCwxNjQuMDA0IDE0OSwxODAuNUMgMTQ2LjM5OCwxODQuMjEyIDE0Mi44OTgsMTg1LjM3OCAxMzguNSwxODRDIDEzMy45MzEsMTgxLjQ1OSAxMzIuNDMxLDE3Ny42MjUgMTM0LDE3Mi41QyAxNDMuNTcyLDE1Ni4zNjIgMTUyLjkwNiwxNDAuMDI4IDE2MiwxMjMuNUMgMTYzLjE0NSwxMjIuMzY0IDE2NC4zMTIsMTIxLjM2NCAxNjUuNSwxMjAuNSBaIi8+PC9nPgo8L3N2Zz4K",
|
|
373
|
+
url: "https://orm.drizzle.team/",
|
|
374
|
+
tagline: "Headless TypeScript ORM that feels like SPA with SSR",
|
|
375
|
+
repo: "drizzle-team/drizzle-orm",
|
|
376
|
+
links: [{
|
|
377
|
+
label: "Docs & Getting started",
|
|
378
|
+
href: "https://orm.drizzle.team/docs/overview"
|
|
379
|
+
}]
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
category: "ORM / Query builder",
|
|
383
|
+
label: "Kysely",
|
|
384
|
+
flag: "kysely",
|
|
385
|
+
llms: "https://kysely.dev/llms.txt",
|
|
386
|
+
image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTMyJyBoZWlnaHQ9JzEzMicgdmlld0JveD0nMCAwIDEzMiAxMzInIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGcgY2xpcC1wYXRoPSd1cmwoI2NsaXAwXzhfMyknPjxyZWN0IHg9JzInIHk9JzInIHdpZHRoPScxMjgnIGhlaWdodD0nMTI4JyByeD0nMTYnIGZpbGw9J3doaXRlJy8+PHBhdGggZD0nTTQxLjI5ODMgMTA5VjIzLjkwOTFINDYuNDkxOFY3My4zMUg0Ny4wNzM1TDkxLjk0NTcgMjMuOTA5MUg5OC44NDI3TDYxLjkwNjIgNjQuMTY5NEw5OC41MTAzIDEwOUg5Mi4wMjg4TDU4LjU4MjQgNjcuOTA4N0w0Ni40OTE4IDgxLjI4NzNWMTA5SDQxLjI5ODNaJyBmaWxsPSdibGFjaycvPjwvZz48cmVjdCB4PScyJyB5PScyJyB3aWR0aD0nMTI4JyBoZWlnaHQ9JzEyOCcgcng9JzE2JyBzdHJva2U9JyMxMjEyMTInIHN0cm9rZS13aWR0aD0nNCcvPjxkZWZzPjxjbGlwUGF0aCBpZD0nY2xpcDBfOF8zJz48cmVjdCB4PScyJyB5PScyJyB3aWR0aD0nMTI4JyBoZWlnaHQ9JzEyOCcgcng9JzE2JyBmaWxsPSd3aGl0ZScvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPgo=",
|
|
387
|
+
url: "https://kysely.dev/",
|
|
388
|
+
tagline: "The type-safe SQL query builder for TypeScript",
|
|
389
|
+
repo: "kysely-org/kysely",
|
|
390
|
+
links: [{
|
|
391
|
+
label: "Docs & Getting started",
|
|
392
|
+
href: "https://kysely.dev/docs/getting-started"
|
|
393
|
+
}]
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
category: "ORM / Query builder",
|
|
397
|
+
label: "Prisma",
|
|
398
|
+
flag: "prisma",
|
|
399
|
+
llms: "https://www.prisma.io/docs/llms.txt",
|
|
400
|
+
image: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48c3R5bGU+IHBhdGh7ZmlsbDpibGFjazt9QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtwYXRoe2ZpbGw6d2hpdGU7fX08L3N0eWxlPjxwYXRoIGQ9Ik0yMS44MDY4IDE4LjI4NDhMMTMuNTUyOC43NTY1Yy0uMjA3LS40MzgyLS42MzktLjcyNzMtMS4xMjg2LS43NTQxLS41MDIzLS4wMjkzLS45NTIzLjIxMy0xLjIwNjIuNjI1M0wyLjI2NiAxNS4xMjcxYy0uMjc3My40NTE4LS4yNzE4IDEuMDA5MS4wMTU4IDEuNDU1NWw0LjM3NTkgNi43Nzg2Yy4yNjA4LjQwNDYuNzEyNy42Mzg4IDEuMTgyMy42Mzg4LjEzMzIgMCAuMjY3LS4wMTg4LjM5ODctLjA1NzdsMTIuNzAxOS0zLjc1NjhjLjM4OTEtLjExNTEuNzA3Mi0uMzkwNC44NzM3LS43NTUzcy4xNjMzLS43ODI4LS4wMDc1LTEuMTQ1NHptLTEuODQ4MS43NTE5TDkuMTgxNCAyMi4yMjQyYy0uMzI5Mi4wOTc1LS42NDQ4LS4xODczLS41NzU2LS41MTk0bDMuODUwMS0xOC40Mzg2Yy4wNzItLjM0NDguNTQ4Ni0uMzk5Ni42OTktLjA4MDNsNy4xMjg4IDE1LjEzOGMuMTM0NC4yODU2LS4wMTkuNjIyNC0uMzI1LjcxMjh6Ii8+PC9zdmc+",
|
|
401
|
+
url: "https://www.prisma.io",
|
|
402
|
+
spectrum: "beaten_path",
|
|
403
|
+
tagline: "Next-generation Node.js and TypeScript ORM",
|
|
404
|
+
repo: "prisma/prisma",
|
|
405
|
+
links: [{
|
|
406
|
+
label: "Getting started",
|
|
407
|
+
href: "https://www.prisma.io/docs/getting-started"
|
|
408
|
+
}, {
|
|
409
|
+
label: "Docs",
|
|
410
|
+
href: "https://www.prisma.io/docs"
|
|
411
|
+
}]
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
category: "Analytics",
|
|
415
|
+
label: "Plausible.io",
|
|
416
|
+
flag: "plausible.io",
|
|
417
|
+
image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bG9nbzwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgICA8cmFkaWFsR3JhZGllbnQgY3g9Ijc5LjEzMDUyNjMlIiBjeT0iODcuNjQ0ODE1OCUiIGZ4PSI3OS4xMzA1MjYzJSIgZnk9Ijg3LjY0NDgxNTglIiByPSI5Ni45ODk3NzYzJSIgaWQ9InJhZGlhbEdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjQ0MEU2IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NjYxQjMiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSIxLjUwNjEwNDU3ZS0wNSUiIGN5PSIzMC4yMTk4OTQxJSIgZng9IjEuNTA2MTA0NTdlLTA1JSIgZnk9IjMwLjIxOTg5NDElIiByPSI2Mi4yNjg4NzczJSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwwLjMwMjE5OSksc2NhbGUoMS4wMDAwMDAsMC43MjI1MTkpLHJvdGF0ZSg2MS43MzQ1MjIpLHRyYW5zbGF0ZSgtMC4wMDAwMDAsLTAuMzAyMTk5KSIgaWQ9InJhZGlhbEdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjU3NENEIiBzdG9wLW9wYWNpdHk9IjAuNSIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjU3NENEIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxvZ28iPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9IkJpdG1hcCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi41MzEwMTcsIDAuMDQ5NjI4KSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy40Njg5ODMsIDkuOTY3NTIzKSBzY2FsZSgtMSwgMSkgcm90YXRlKC0xODAuMDAwMDAwKSB0cmFuc2xhdGUoLTcuNDY4OTgzLCAtOS45Njc1MjMpIHRyYW5zbGF0ZSgwLjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsPSJ1cmwoI3JhZGlhbEdyYWRpZW50LTEpIiBjeD0iNy40Njg5ODI2NCIgY3k9IjEyLjQ2NjA2MjciIHI9IjcuNDY4OTgyNjQiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02LjE4ODU4NTYyLDE5Ljg1MTExNjYgQzQuNjQ1MTYxMywxOS41ODMxMjY2IDMuMzQ0OTEzMTgsMTguOTI4MDM5NyAyLjI2Nzk5MDEsMTcuODc1OTMwNSBDMS4xNjEyOTAzNCwxNi43OTQwNDQ3IDAuNDc2NDI2ODE4LDE1LjUzMzQ5ODggMC4xNDM5MjA2MTUsMTMuOTYwMjk3OCBMMC4wMjk3NzY2OTQsMTMuNDI0MzE3NiBMMC4wMTQ4ODgzNTY2LDYuNzE0NjQwMTkgTDEuOTE2MDAwMDNlLTA4LC00LjkyOTM5MDIzZS0xNiBMMC4xMzg5NTc4MzYsLTQuOTI5MzkwMjNlLTE2IEMwLjIxODM2MjMwMiwtNC45MjkzOTAyM2UtMTYgMC40NzE0NjQwNCwwLjAyNDgxMzg5NTggMC42OTk3NTE4OCwwLjA0OTYyNzc5MTYgQzIuNjUwMTI0MDgsMC4yODc4NDExOTEgNC4zMDc2OTIzMiwxLjQ2ODk4MjYzIDUuMjEwOTE4MTQsMy4yNjA1NDU5MSBDNS40MzkyMDU5OCwzLjcxNzEyMTU5IDUuNjAyOTc3NjgsNC4yNDMxNzYxNyA1LjcxNzEyMTYsNC44OTgyNjMwMyBDNS44MTE0MTQ0Miw1LjQ1NDA5NDI5IDUuODE2Mzc3Miw1LjYzNzcxNzEzIDUuODAxNDg4ODYsOC41MzU5ODAxNSBMNS43ODY2MDA1MiwxMS41ODgwODkzIEw1LjkwNTcwNzIyLDExLjg4NTg1NjEgQzYuMDY5NDc4OTIsMTIuMjkyODA0IDYuNTIxMDkxODQsMTIuNzQ0NDE2OSA2LjkyODAzOTcyLDEyLjkwODE4ODYgTDcuMjI1ODA2NDgsMTMuMDI3Mjk1MyBMMTAuMDA0OTYyOCwxMy4wMzIyNTgxIEMxMS41MzM0OTg4LDEzLjAzMjI1ODEgMTIuODczNDQ5MiwxMy4wNTIxMDkyIDEyLjk3NzY2NzUsMTMuMDcxOTYwMyBDMTMuNDY0MDE5OSwxMy4xNjYyNTMxIDEzLjk4NTExMTcsMTMuNTczMjAxIDE0LjE5MzU0ODQsMTQuMDI0ODEzOSBDMTQuMjUzMTAxOCwxNC4xNDg4ODM0IDE0LjMzMjUwNjIsMTQuMzkyMDU5NiAxNC4zNjcyNDU3LDE0LjU1NTgzMTMgQzE0LjQyMTgzNjIsMTQuODI4Nzg0MSAxNC40MTY4NzM1LDE0LjkwMzIyNTggMTQuMzM3NDY5LDE1LjIxMDkxODEgQzE0LjA4OTMzLDE2LjEyNDA2OTUgMTMuMjE1ODgwOSwxNy4zODk1NzgyIDEyLjMyMjU4MDcsMTguMTI5MDMyMyBDMTEuMzEwMTczNywxOC45Njc3NDE5IDEwLjE5MzU0ODQsMTkuNTI4NTM2IDguOTg3NTkzMDgsMTkuODExNDE0NCBDOC4zNTIzNTczNCwxOS45NTUzMzUgNi45MTMxNTEzOCwxOS45ODAxNDg5IDYuMTg4NTg1NjIsMTkuODUxMTE2NiBaIiBpZD0iUGF0aCIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC0yKSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",
|
|
418
|
+
url: "https://plausible.io",
|
|
419
|
+
tagline: "Easy to use and privacy-friendly Google Analytics alternative",
|
|
420
|
+
repo: "plausible/analytics"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
category: "Analytics",
|
|
424
|
+
label: "Google Analytics",
|
|
425
|
+
flag: "google-analytics",
|
|
426
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjkxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI4NCI+PHBhdGggZmlsbD0iI0Y5QUIwMCIgZD0iTTI1Ni4wMDMgMjQ3LjkzM2EzNS4yMjQgMzUuMjI0IDAgMCAxLTM5LjM3NiAzNS4xNjFjLTE4LjA0NC0yLjY3LTMxLjI2Ni0xOC4zNzEtMzAuODI2LTM2LjYwNlYzNi44NDVDMTg1LjM2NSAxOC41OTEgMTk4LjYyIDIuODgxIDIxNi42ODcuMjRhMzUuMjIxIDM1LjIyMSAwIDAgMSAzOS4zMTYgMzUuMTZ2MjEyLjUzM1oiLz48cGF0aCBmaWxsPSIjRTM3NDAwIiBkPSJNMzUuMTAxIDIxMy4xOTNjMTkuMzg2IDAgMzUuMTAxIDE1LjcxNiAzNS4xMDEgMzUuMTAxYzAgMTkuMzg2LTE1LjcxNSAzNS4xMDEtMzUuMTAxIDM1LjEwMVMwIDI2Ny42OCAwIDI0OC4yOTVjMC0xOS4zODYgMTUuNzE1LTM1LjEwMiAzNS4xMDEtMzUuMTAyWm05Mi4zNTgtMTA2LjM4N2MtMTkuNDc3IDEuMDY4LTM0LjU5IDE3LjQwNi0zNC4xMzcgMzYuOTA4djk0LjI4NWMwIDI1LjU4OCAxMS4yNTkgNDEuMTIyIDI3Ljc1NSA0NC40MzNhMzUuMTYxIDM1LjE2MSAwIDAgMCA0Mi4xNDYtMzQuNTZWMTQyLjA4OWEzNS4yMjIgMzUuMjIyIDAgMCAwLTM1Ljc2NC0zNS4yODJaIi8+PC9zdmc+",
|
|
427
|
+
url: "https://analytics.google.com/"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
category: "Analytics",
|
|
431
|
+
label: "Segment",
|
|
432
|
+
flag: "segment",
|
|
433
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjk3ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI2NSI+PHBhdGggZmlsbD0iIzRGQjU4QiIgZD0ibTIzMy41NiAxNDEuOTI3bC4xNy4wMTNsMTcuODkyIDEuODdhNC45MjcgNC45MjcgMCAwIDEgMy4yMjUgMS43MDdsLjEzMy4xNjNsLS4xNy4wODVhNC45MyA0LjkzIDAgMCAxIDEuMDIgMy43NGExMzMuMjcyIDEzMy4yNzIgMCAwIDEtNDEuNjA0IDgxLjA4M2ExMjguODYgMTI4Ljg2IDAgMCAxLTg3LjYyOSAzNC4zOGExMjcuNDg4IDEyNy40ODggMCAwIDEtNDYuMTU2LTguNTdsLS44MDItLjMxMmE0LjcxNiA0LjcxNiAwIDAgMS0yLjY4Ni0yLjUzM2wtLjA3Ny0uMTg3YTQuODkxIDQuODkxIDAgMCAxLS4wODMtMy42Nmw3LjA2Mi0xNy4yM2E0Ljg0NiA0Ljg0NiAwIDAgMSA2LjExOC0yLjc5OWwuMTYzLjA2YzM2LjA5NyAxMy45MzkgNzYuOTggNi4wODkgMTA1LjM0OS0yMC4yMjdhMTA0LjQ1NSAxMDQuNDU1IDAgMCAwIDMyLjg5MS02My4zMmE0LjkzIDQuOTMgMCAwIDEgNS4wMTMtNC4yN2wuMTcuMDA3Wm0tMTkwLjA4IDY0LjMxbC4yNTEtLjAwMmwuMjUzLjAwMmM4LjEyLjA5MyAxNC42NTggNi42NTkgMTQuNzQ2IDE0Ljc0OXYuMjUzYzAgLjA4NCAwIC4xNjgtLjAwMi4yNTJjLS4xNDEgOC4yODQtNi45NyAxNC44ODYtMTUuMjU0IDE0Ljc0NWMtOC4yODQtLjE0MS0xNC44ODUtNi45Ny0xNC43NDUtMTUuMjU0Yy4xMzktOC4xMTUgNi42OTUtMTQuNjE1IDE0Ljc1LTE0Ljc0NVpNNC45MyAxNDcuMDgyaDE0Ni4zMTZhNC45NzMgNC45NzMgMCAwIDEgNC45MjggNC44NDRsLjAwMi4xNzF2MTguMzE2YTQuOTc0IDQuOTc0IDAgMCAxLTQuNzYgNS4wMWwtLjE3LjAwNUg0LjkzQTQuOTc1IDQuOTc1IDAgMCAxIDAgMTcwLjU4NHYtMTguNjU5YTQuOTc1IDQuOTc1IDAgMCAxIDQuNzU1LTQuODM4bC4xNzUtLjAwNVpNMTY5LjU2IDcuMzExYTQuOTc0IDQuOTc0IDAgMCAxIDIuODQ4IDIuNjM1YTUuMDk2IDUuMDk2IDAgMCAxIDAgMy44NjdsLTYuMzc1IDE2Ljk5OWE0Ljg0NSA0Ljg0NSAwIDAgMS02LjE2MiAyLjk3NEExMDEuMjI4IDEwMS4yMjggMCAwIDAgNjIuMTMgNTEuMjUyYTEwNS4yNjcgMTA1LjI2NyAwIDAgMC0zNC41MDcgNTQuOTlhNC45MyA0LjkzIDAgMCAxLTQuNzYgMy42OThoLTEuMTA1TDQuMjUgMTA1LjczM2E0Ljg4NiA0Ljg4NiAwIDAgMS0zLjEwMy0yLjI5NWgtLjA4NUE0LjkyOSA0LjkyOSAwIDAgMSAuNTEgOTkuNTdhMTMzLjM5MyAxMzMuMzkzIDAgMCAxIDQ0LjQxLTcwLjIwNEM3OS43MzkuNyAxMjcuMDE5LTcuNjY2IDE2OS41NiA3LjMxMVptLTY0LjgwNyA3My40MzRIMjUxLjA3YTQuOTcyIDQuOTcyIDAgMCAxIDQuOTIyIDQuNjdsLjAwOC4xNzR2MTguMzE3YTQuOTczIDQuOTczIDAgMCAxLTQuNzYgNS4wMWwtLjE3LjAwNUgxMDQuNzU0YTQuOTcyIDQuOTcyIDAgMCAxLTQuODg2LTQuODQybC0uMDAyLS4xNzNWODUuNzU5YTQuOTcyIDQuOTcyIDAgMCAxIDQuNzE1LTUuMDA4bC4xNzMtLjAwNlptMTAxLjU3Mi01NS44ODNsLjI1Mi0uMDAybC4yNTMuMDAyYzguMTIuMDkzIDE0LjY1OCA2LjY1OSAxNC43NDYgMTQuNzQ4di4yNTNjMCAuMDg1IDAgLjE3LS4wMDIuMjUzYy0uMTQgOC4yODQtNi45NyAxNC44ODUtMTUuMjU0IDE0Ljc0NGMtOC4yODQtLjE0LTE0Ljg4NS02Ljk3LTE0Ljc0NC0xNS4yNTNjLjEzOC04LjExNiA2LjY5NC0xNC42MTYgMTQuNzQ5LTE0Ljc0NVoiLz48L3N2Zz4=",
|
|
434
|
+
url: "https://segment.com",
|
|
435
|
+
disabled: true
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
category: "Hosting",
|
|
439
|
+
label: "DIY",
|
|
440
|
+
flag: "hosting-diy",
|
|
441
|
+
image: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjgwMHB4IiB3aWR0aD0iODAwcHgiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCAzOTIuNTk4IDM5Mi41OTgiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIHN0eWxlPSJmaWxsOiMxOTRGODI7IiBkPSJNMzI3LjMwNSwxMDQuNTAxYy02LjAxMiwwLTEwLjkyNS00Ljg0OC0xMC45MjUtMTAuOTI1VjUxLjg3OWMwLTYuMDEyLDQuODQ4LTEwLjkyNSwxMC45MjUtMTAuOTI1IHMxMC45MjUsNC44NDgsMTAuOTI1LDEwLjkyNXY0MS42OTdDMzM4LjIzLDk5LjY1MywzMzMuMzE3LDEwNC41MDEsMzI3LjMwNSwxMDQuNTAxeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMxOTRGODI7IiBkPSJNMjYyLjg1MywxMDQuNTAxYy02LjAxMiwwLTEwLjkyNS00Ljg0OC0xMC45MjUtMTAuOTI1VjUxLjg3OWMwLTYuMDEyLDQuODQ4LTEwLjkyNSwxMC45MjUtMTAuOTI1IGM2LjAxMiwwLDEwLjkyNSw0Ljg0OCwxMC45MjUsMTAuOTI1djQxLjY5N0MyNzMuNzc4LDk5LjY1MywyNjguOTI5LDEwNC41MDEsMjYyLjg1MywxMDQuNTAxeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMxOTRGODI7IiBkPSJNMTM1LjE3Niw4My42Mkg2NS4yMjhjLTYuMDEyLDAtMTAuOTI1LTQuODQ4LTEwLjkyNS0xMC45MjVjMC02LjAxMiw0Ljg0OC0xMC45MjUsMTAuOTI1LTEwLjkyNSBoNjkuOTQ3YzYuMDEyLDAsMTAuOTI1LDQuODQ4LDEwLjkyNSwxMC45MjVDMTQ2LjAzNiw3OC43NzIsMTQxLjE4OCw4My42MiwxMzUuMTc2LDgzLjYyeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMxOTRGODI7IiBkPSJNMzI3LjMwNSwyMjguMDRjLTYuMDEyLDAtMTAuOTI1LTQuODQ4LTEwLjkyNS0xMC45MjV2LTQxLjY5N2MwLTYuMDEyLDQuODQ4LTEwLjkyNSwxMC45MjUtMTAuOTI1IHMxMC45MjUsNC44NDgsMTAuOTI1LDEwLjkyNXY0MS42OTdDMzM4LjIzLDIyMy4xOTIsMzMzLjMxNywyMjguMDQsMzI3LjMwNSwyMjguMDR6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0yNjIuODUzLDIyOC4wNGMtNi4wMTIsMC0xMC45MjUtNC44NDgtMTAuOTI1LTEwLjkyNXYtNDEuNjk3YzAtNi4wMTIsNC44NDgtMTAuOTI1LDEwLjkyNS0xMC45MjUgYzYuMDEyLDAsMTAuOTI1LDQuODQ4LDEwLjkyNSwxMC45MjV2NDEuNjk3QzI3My43NzgsMjIzLjE5MiwyNjguOTI5LDIyOC4wNCwyNjIuODUzLDIyOC4wNHoiLz48cGF0aCBzdHlsZT0iZmlsbDojMTk0RjgyOyIgZD0iTTEzNS4xNzYsMjA3LjIyNEg2NS4yMjhjLTYuMDEyLDAtMTAuOTI1LTQuODQ4LTEwLjkyNS0xMC45MjVzNC44NDgtMTAuOTI1LDEwLjkyNS0xMC45MjVoNjkuOTQ3IGM2LjAxMiwwLDEwLjkyNSw0Ljg0OCwxMC45MjUsMTAuOTI1QzE0Ni4wMzYsMjAyLjMxMSwxNDEuMTg4LDIwNy4yMjQsMTM1LjE3NiwyMDcuMjI0eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMxOTRGODI7IiBkPSJNMzI3LjMwNSwzNTEuNjQ0Yy02LjAxMiwwLTEwLjkyNS00Ljg0OS0xMC45MjUtMTAuOTI1di00MS42OTdjMC02LjAxMiw0Ljg0OC0xMC45MjUsMTAuOTI1LTEwLjkyNSBzMTAuOTI1LDQuODQ4LDEwLjkyNSwxMC45MjV2NDEuNjk3QzMzOC4yMywzNDYuNzMxLDMzMy4zMTcsMzUxLjY0NCwzMjcuMzA1LDM1MS42NDR6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0yNjIuODUzLDM1MS42NDRjLTYuMDEyLDAtMTAuOTI1LTQuODQ5LTEwLjkyNS0xMC45MjV2LTQxLjY5N2MwLTYuMDEyLDQuODQ4LTEwLjkyNSwxMC45MjUtMTAuOTI1IGM2LjAxMiwwLDEwLjkyNSw0Ljg0OCwxMC45MjUsMTAuOTI1djQxLjY5N0MyNzMuNzc4LDM0Ni43MzEsMjY4LjkyOSwzNTEuNjQ0LDI2Mi44NTMsMzUxLjY0NHoiLz48cGF0aCBzdHlsZT0iZmlsbDojMTk0RjgyOyIgZD0iTTEzNS4xNzYsMzMwLjc2NEg2NS4yMjhjLTYuMDEyLDAtMTAuOTI1LTQuODQ5LTEwLjkyNS0xMC45MjVjMC02LjAxMiw0Ljg0OC0xMC45MjUsMTAuOTI1LTEwLjkyNSBoNjkuOTQ3YzYuMDEyLDAsMTAuOTI1LDQuODQ4LDEwLjkyNSwxMC45MjVDMTQ2LjAzNiwzMjUuOTE1LDE0MS4xODgsMzMwLjc2NCwxMzUuMTc2LDMzMC43NjR6Ii8+PC9nPjxwYXRoIHN0eWxlPSJmaWxsOiM1NkFDRTA7IiBkPSJNMzU5LjgyMiwyNjkuMDI2SDMyLjcxMWMtNi4wMTIsMC0xMC45MjUsNC44NDgtMTAuOTI1LDEwLjkyNXY3OS45MDMgYzAsNi4wMTIsNC44NDgsMTAuOTI1LDEwLjkyNSwxMC45MjVoMzI3LjExMWM2LjAxMiwwLDEwLjkyNS00Ljg0OSwxMC45MjUtMTAuOTI1di03OS45NjggQzM3MC43NDcsMjczLjg3NSwzNjUuODM0LDI2OS4wMjYsMzU5LjgyMiwyNjkuMDI2eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiNGRkMxMEQ7IiBkPSJNMzU5LjgyMiwxNDUuMzU4SDMyLjcxMWMtNi4wMTIsMC0xMC45MjUsNC44NDgtMTAuOTI1LDEwLjkyNXY3OS45NjggYzAsNi4wMTIsNC44NDgsMTAuOTI1LDEwLjkyNSwxMC45MjVoMzI3LjExMWM2LjAxMiwwLDEwLjkyNS00Ljg0OCwxMC45MjUtMTAuOTI1di03OS45MDMgQzM3MC43NDcsMTUwLjMzNSwzNjUuODM0LDE0NS4zNTgsMzU5LjgyMiwxNDUuMzU4eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NkFDRTA7IiBkPSJNMzIuNzExLDEyMy41NzJoMzI3LjExMWM2LjAxMiwwLDEwLjkyNS00Ljg0OCwxMC45MjUtMTAuOTI1VjMyLjc0MyBjMC02LjAxMi00Ljg0OC0xMC45MjUtMTAuOTI1LTEwLjkyNUgzMi43MTFjLTYuMDEyLDAtMTAuOTI1LDQuODQ4LTEwLjkyNSwxMC45MjV2NzkuOTY4IEMyMS43ODYsMTE4LjcyMywyNi42OTksMTIzLjU3MiwzMi43MTEsMTIzLjU3MnoiLz48Zz48cGF0aCBzdHlsZT0iZmlsbDojMTk0RjgyOyIgZD0iTTM1OS44MjIsMC4wMzJIMzIuNzExQzE0LjY3NSwwLjAzMiwwLDE0LjcwNywwLDMyLjc0M3Y3OS45NjhjMCw4LjMzOSwzLjE2OCwxNS45NjgsOC40MDQsMjEuNzg2IEMzLjE2OCwxNDAuMzE1LDAsMTQ3Ljk0MywwLDE1Ni4zNDd2NzkuOTY4YzAsOC4zMzksMy4xNjgsMTUuOTY4LDguNDA0LDIxLjc4NkMzLjE2OCwyNjMuOTE5LDAsMjcxLjQ4MywwLDI3OS44ODd2NzkuOTY4IGMwLDE4LjAzNiwxNC42NzUsMzIuNzExLDMyLjcxMSwzMi43MTFoMzI3LjExMWMxOC4wMzYsMCwzMi43MTEtMTQuNjc1LDMyLjcxMS0zMi43MTF2LTc5Ljk2OGMwLTguMzM5LTMuMTY4LTE1Ljk2OC04LjQwNC0yMS43ODYgYzUuMTcyLTUuODE4LDguNDA0LTEzLjQ0Niw4LjQwNC0yMS43ODZ2LTc5Ljk2OGMwLTguMzM5LTMuMTY4LTE1Ljk2OC04LjQwNC0yMS43ODZjNS4xNzItNS44MTgsOC40MDQtMTMuNDQ2LDguNDA0LTIxLjc4NlYzMi43NDMgaDAuMDY1QzM5Mi41MzMsMTQuNzA3LDM3Ny44NTksMC4wMzIsMzU5LjgyMiwwLjAzMnogTTIxLjc4NiwzMi43NDNjMC02LjAxMiw0Ljg0OC0xMC45MjUsMTAuOTI1LTEwLjkyNWgzMjcuMTExIGM2LjAxMiwwLDEwLjkyNSw0Ljg0OCwxMC45MjUsMTAuOTI1djc5Ljk2OGMwLDYuMDEyLTQuODQ4LDEwLjkyNS0xMC45MjUsMTAuOTI1SDMyLjcxMWMtNi4wMTIsMC0xMC45MjUtNC44NDgtMTAuOTI1LTEwLjkyNSBWMzIuNzQzeiBNMzU5LjgyMiwzNzAuNzhIMzIuNzExYy02LjAxMiwwLTEwLjkyNS00Ljg0OS0xMC45MjUtMTAuOTI1di03OS45NjhjMC02LjAxMiw0Ljg0OC0xMC45MjUsMTAuOTI1LTEwLjkyNWgzMjcuMTExIGM2LjAxMiwwLDEwLjkyNSw0Ljg0OSwxMC45MjUsMTAuOTI1djc5Ljk2OGgwLjA2NUMzNzAuNzQ3LDM2NS45MzEsMzY1Ljg5OSwzNzAuNzgsMzU5LjgyMiwzNzAuNzh6IE0zNTkuODIyLDI0Ny4xNzZIMzIuNzExIGMtNi4wMTIsMC0xMC45MjUtNC44NDgtMTAuOTI1LTEwLjkyNXYtNzkuOTAzYzAtNi4wMTIsNC44NDgtMTAuOTI1LDEwLjkyNS0xMC45MjVoMzI3LjExMWM2LjAxMiwwLDEwLjkyNSw0Ljg0OCwxMC45MjUsMTAuOTI1IHY3OS45MDNoMC4wNjVDMzcwLjc0NywyNDIuMjYzLDM2NS44OTksMjQ3LjE3NiwzNTkuODIyLDI0Ny4xNzZ6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0zMjcuMzA1LDEwNC41MDFjNi4wMTIsMCwxMC45MjUtNC44NDgsMTAuOTI1LTEwLjkyNVY1MS44NzljMC02LjAxMi00Ljg0OC0xMC45MjUtMTAuOTI1LTEwLjkyNSBjLTYuMDEyLDAtMTAuOTI1LDQuODQ4LTEwLjkyNSwxMC45MjV2NDEuNjk3QzMxNi40NDQsOTkuNjUzLDMyMS4yOTMsMTA0LjUwMSwzMjcuMzA1LDEwNC41MDF6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0yNjIuODUzLDEwNC41MDFjNi4wMTIsMCwxMC45MjUtNC44NDgsMTAuOTI1LTEwLjkyNVY1MS44NzljMC02LjAxMi00Ljg0OC0xMC45MjUtMTAuOTI1LTEwLjkyNSBjLTYuMDEyLDAtMTAuOTI1LDQuODQ4LTEwLjkyNSwxMC45MjV2NDEuNjk3QzI1MS45OTIsOTkuNjUzLDI1Ni44NCwxMDQuNTAxLDI2Mi44NTMsMTA0LjUwMXoiLz48cGF0aCBzdHlsZT0iZmlsbDojMTk0RjgyOyIgZD0iTTY1LjIyOCw4My42Mmg3MC4wMTJjNi4wMTIsMCwxMC45MjUtNC44NDgsMTAuOTI1LTEwLjkyNWMwLTYuMDc3LTQuOTc4LTEwLjkyNS0xMC45OS0xMC45MjVINjUuMjI4IGMtNi4wMTIsMC0xMC45MjUsNC44NDgtMTAuOTI1LDEwLjkyNUM1NC4zMDMsNzguNzcyLDU5LjIxNiw4My42Miw2NS4yMjgsODMuNjJ6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0zMjcuMzA1LDE2NC41NThjLTYuMDEyLDAtMTAuOTI1LDQuODQ4LTEwLjkyNSwxMC45MjV2NDEuNjk3YzAsNi4wMTIsNC44NDgsMTAuOTI1LDEwLjkyNSwxMC45MjUgYzYuMDEyLDAsMTAuOTI1LTQuODQ4LDEwLjkyNS0xMC45MjV2LTQxLjY5N0MzMzguMjMsMTY5LjQwNiwzMzMuMzE3LDE2NC41NTgsMzI3LjMwNSwxNjQuNTU4eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMxOTRGODI7IiBkPSJNMjYyLjg1MywxNjQuNTU4Yy02LjAxMiwwLTEwLjkyNSw0Ljg0OC0xMC45MjUsMTAuOTI1djQxLjY5N2MwLDYuMDEyLDQuODQ4LDEwLjkyNSwxMC45MjUsMTAuOTI1IGM2LjAxMiwwLDEwLjkyNS00Ljg0OCwxMC45MjUtMTAuOTI1di00MS42OTdDMjczLjc3OCwxNjkuNDA2LDI2OC45MjksMTY0LjU1OCwyNjIuODUzLDE2NC41NTh6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0xMzUuMjQsMTg1LjM3NEg2NS4yMjhjLTYuMDEyLDAtMTAuOTI1LDQuODQ4LTEwLjkyNSwxMC45MjVzNC44NDgsMTAuOTI1LDEwLjkyNSwxMC45MjVoNzAuMDEyIGM2LjAxMiwwLDEwLjkyNS00Ljg0OCwxMC45MjUtMTAuOTI1QzE0Ni4xMDEsMTkwLjI4NywxNDEuMjUzLDE4NS4zNzQsMTM1LjI0LDE4NS4zNzR6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0zMjcuMzA1LDI4OC4wOTdjLTYuMDEyLDAtMTAuOTI1LDQuODQ4LTEwLjkyNSwxMC45MjV2NDEuNjk3YzAsNi4wMTIsNC44NDgsMTAuOTI1LDEwLjkyNSwxMC45MjUgYzYuMDEyLDAsMTAuOTI1LTQuODQ4LDEwLjkyNS0xMC45MjV2LTQxLjY5N0MzMzguMjMsMjkyLjk0NSwzMzMuMzE3LDI4OC4wOTcsMzI3LjMwNSwyODguMDk3eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMxOTRGODI7IiBkPSJNMjYyLjg1MywyODguMDk3Yy02LjAxMiwwLTEwLjkyNSw0Ljg0OC0xMC45MjUsMTAuOTI1djQxLjY5N2MwLDYuMDEyLDQuODQ4LDEwLjkyNSwxMC45MjUsMTAuOTI1IGM2LjAxMiwwLDEwLjkyNS00Ljg0OCwxMC45MjUtMTAuOTI1di00MS42OTdDMjczLjc3OCwyOTIuOTQ1LDI2OC45MjksMjg4LjA5NywyNjIuODUzLDI4OC4wOTd6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzE5NEY4MjsiIGQ9Ik0xMzUuMTc2LDMwOC45NzhINjUuMjI4Yy02LjAxMiwwLTEwLjkyNSw0Ljg0OC0xMC45MjUsMTAuOTI1czQuOTEzLDEwLjg2MSwxMC45MjUsMTAuODYxaDcwLjAxMiBjNi4wMTIsMCwxMC45MjUtNC44NDksMTAuOTI1LTEwLjkyNUMxNDYuMDM2LDMxMy44MjYsMTQxLjE4OCwzMDguOTc4LDEzNS4xNzYsMzA4Ljk3OHoiLz48L2c+PC9zdmc+",
|
|
442
|
+
invisibleCli: true,
|
|
443
|
+
invisibleDescription: true,
|
|
444
|
+
selected: true,
|
|
445
|
+
tooltip: "Set up deployment yourself"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
category: "Hosting",
|
|
449
|
+
label: "Cloudflare",
|
|
450
|
+
flag: "cloudflare",
|
|
451
|
+
llms: "https://developers.cloudflare.com/workers/llms.txt",
|
|
452
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyLjE5ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDExNyI+PHBhdGggZmlsbD0iI2ZiYWQ0MSIgZD0iTTIwNS41MiA1MC44MTNjLS44NTggMC0xLjcwNS4wMy0yLjU1MS4wNThxLS4yMDcuMDEyLS4zOTguMDk0YTEuNDIgMS40MiAwIDAgMC0uOTIuOTk0bC0zLjYyOCAxMi42NzJjLTEuNTY1IDUuNDQ5LS45ODMgMTAuNDggMS42NDYgMTQuMTc0YzIuNDEgMy40MTYgNi40MiA1LjQyMSAxMS4yODkgNS42NTVsMTkuNjc5IDEuMTk0Yy41ODUuMDMgMS4wOTIuMzEyIDEuNC43NzZhMS45MiAxLjkyIDAgMCAxIC4yIDEuNjkyYTIuNSAyLjUgMCAwIDEtMi4xMzQgMS42NjJsLTIwLjQ0OCAxLjE5M2MtMTEuMTEuNTE1LTIzLjA2MiA5LjU4LTI3LjI1NSAyMC42MzNsLTEuNDc0IDMuOWExLjA5MiAxLjA5MiAwIDAgMCAuOTY3IDEuNDloNzAuNDI1YTEuODcgMS44NyAwIDAgMCAxLjgxLTEuMzY1QTUxLjIgNTEuMiAwIDAgMCAyNTYgMTAxLjgyOGMwLTI4LjE2LTIyLjU4Mi01MC45ODQtNTAuNDQ5LTUwLjk4NCIvPjxwYXRoIGZpbGw9IiNmNjgyMWYiIGQ9Im0xNzQuNzgyIDExNS4zNjJsMS4zMDMtNC41ODNjMS41NjgtNS40NDkuOTg3LTEwLjQ4LTEuNjM5LTE0LjE3M2MtMi40MTgtMy40MTctNi40MjQtNS40MjItMTEuMjk2LTUuNjU2bC05Mi4zMTItMS4xOTNhMS44MiAxLjgyIDAgMCAxLTEuNDU5LS43NzZhMS45MiAxLjkyIDAgMCAxLS4yMDMtMS42OTNhMi41IDIuNSAwIDAgMSAyLjE1NC0xLjY2Mmw5My4xNzMtMS4xOTNjMTEuMDYzLS41MTEgMjMuMDE1LTkuNTggMjcuMjA4LTIwLjYzM2w1LjMxMy0xNC4wNGMuMjE0LS41OTYuMjctMS4yMzguMTU2LTEuODZDMTkxLjEyNiAyMC41MSAxNjYuOTEgMCAxMzcuOTYgMEMxMTEuMjY5IDAgODguNjI2IDE3LjQwMyA4MC41IDQxLjU5NmEyNyAyNyAwIDAgMC0xOS4xNTYtNS4zNTlDNDguNTQ5IDM3LjUyNCAzOC4yNSA0Ny45NDYgMzYuOTc5IDYwLjg4YTI3LjkgMjcuOSAwIDAgMCAuNzAyIDkuNjQyQzE2Ljc3MyA3MS4xNDUgMCA4OC40NTQgMCAxMDkuNzI2YzAgMS45MjMuMTM3IDMuODE4LjQxMyA1LjY2N2MuMTE1Ljg5Ny44NzkgMS41NyAxLjc4MyAxLjU2OGgxNzAuNDhhMi4yMiAyLjIyIDAgMCAwIDIuMTA2LTEuNjMiLz48L3N2Zz4=",
|
|
453
|
+
url: "https://developers.cloudflare.com/",
|
|
454
|
+
tagline: "Create full-stack applications that are instantly deployed to the Cloudflare global network",
|
|
455
|
+
repo: "cloudflare/workers-sdk",
|
|
456
|
+
links: [{
|
|
457
|
+
label: "Docs",
|
|
458
|
+
href: "https://developers.cloudflare.com/workers/"
|
|
459
|
+
}, {
|
|
460
|
+
label: "Vike integration",
|
|
461
|
+
href: "https://vike.dev/cloudflare"
|
|
462
|
+
}]
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
category: "Hosting",
|
|
466
|
+
label: "EdgeOne Pages",
|
|
467
|
+
flag: "edgeone",
|
|
468
|
+
llms: "https://edgeone.ai/llms.txt",
|
|
469
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyOCAyOCI+CiAgPHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTI3Ljc3OCAxNi40OTRhMTQuMSAxNC4xIDAgMCAwIC4wNjMtNC42MTEuNTQ1LjU0NSAwIDAgMC0uNTQzLS40NTloLTkuMDA0YS40NDguNDQ4IDAgMCAxLS40MzMtLjU2NGwxLjA2Ni0zLjk3OGEuNjcuNjcgMCAwIDEgLjY0OS0uNDk4aDUuMzQ4Yy4zNTUgMCAuNTY2LS4zOTIuMzU1LS42NzhBMTMuOTggMTMuOTggMCAwIDAgMTQgMEM2LjI2OCAwIDAgNi4yNjggMCAxNGMwIDMuNTIgMS4zIDYuNzM3IDMuNDQ0IDkuMTk3LjIyOS4yNjIuNjQ4LjE1My43MzgtLjE4MmwzLjA5Ny0xMS42MTZhLjMzNi4zMzYgMCAwIDAtLjMyNC0uNDIzaC0yLjY5YS40NDguNDQ4IDAgMCAxLS40MzQtLjU2M2wuODc0LTMuMjc2YS41Ny41NyAwIDAgMSAuNTQzLS40MiAxOC40IDE4LjQgMCAwIDAgOC4zOTktMi4yMzNjLjI2Ni0uMTQ1LjU4Ny4wOTguNTEuMzlsLTUuNyAyMS4zNjlhLjY1LjY1IDAgMCAwIC4zOC43NzZjMS41OTguNjM0IDMuMzQuOTgyIDUuMTYyLjk4MiA0LjQyIDAgOC4zNi0yLjA0NyAxMC45MjYtNS4yNDUuMjI3LS4yODQuMDE4LS42OTEtLjM0NS0uNjkxaC05LjEzOGEuNDQ4LjQ0OCAwIDAgMS0uNDMzLS41NjRsMS4wNjYtMy45NzhhLjY3LjY3IDAgMCAxIC42NDktLjQ5OGgxMC40MDdhLjY1LjY1IDAgMCAwIC42NDYtLjUzIi8+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSI0LjgxNiIgeDI9IjIyLjI4OCIgeTE9IjIuMzUyIiB5Mj0iMjMuMTg0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwZGYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMGM2MGYyIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+Cg==",
|
|
470
|
+
url: "https://pages.edgeone.ai",
|
|
471
|
+
tagline: "A better way to build full-stack Web",
|
|
472
|
+
links: [{
|
|
473
|
+
label: "Docs",
|
|
474
|
+
href: "https://pages.edgeone.ai/document/framework-vike"
|
|
475
|
+
}, {
|
|
476
|
+
label: "Vike integration",
|
|
477
|
+
href: "https://vike.dev/edgeone-pages"
|
|
478
|
+
}]
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
category: "Hosting",
|
|
482
|
+
label: "Vercel",
|
|
483
|
+
flag: "vercel",
|
|
484
|
+
llms: "https://vercel.com/llms.txt",
|
|
485
|
+
image: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48c3R5bGU+IHBhdGh7ZmlsbDpibGFjazt9QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtwYXRoe2ZpbGw6d2hpdGU7fX08L3N0eWxlPjxwYXRoIGQ9Im0xMiAxLjYwOCAxMiAyMC43ODRIMFoiLz48L3N2Zz4=",
|
|
486
|
+
url: "https://vercel.com",
|
|
487
|
+
tagline: "Develop with your favorite tools. Launch globally, instantly. Keep pushing",
|
|
488
|
+
repo: "vercel/vercel",
|
|
489
|
+
links: [{
|
|
490
|
+
label: "Guides",
|
|
491
|
+
href: "https://vercel.com/guides"
|
|
492
|
+
}, {
|
|
493
|
+
label: "Docs",
|
|
494
|
+
href: "https://vercel.com/docs"
|
|
495
|
+
}]
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
category: "Hosting",
|
|
499
|
+
label: "Netlify",
|
|
500
|
+
flag: "netlify",
|
|
501
|
+
llms: "https://docs.netlify.com/llms.txt",
|
|
502
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNiI+PHBhdGggZmlsbD0iIzA1QkRCQSIgZD0iTTY5LjE4MSAxODguMDg3aC0yLjQxN2wtMTIuMDY1LTEyLjA2NXYtMi40MTdsMTguNDQ0LTE4LjQ0NGgxMi43NzhsMS43MDQgMS43MDR2MTIuNzc4ek01NC42OTkgNTEuNjI4di0yLjQxN2wxMi4wNjUtMTIuMDY1aDIuNDE3TDg3LjYyNSA1NS41OXYxMi43NzhsLTEuNzA0IDEuNzA0SDczLjE0M3oiLz48cGF0aCBmaWxsPSIjMDE0ODQ3IiBkPSJNMTYwLjkwNiAxNDkuMTk4aC0xNy41NTJsLTEuNDY2LTEuNDY2di00MS4wODljMC03LjMxLTIuODczLTEyLjk3Ni0xMS42ODktMTMuMTc0Yy00LjUzNy0uMTE5LTkuNzI3IDAtMTUuMjc0LjIxOGwtLjgzMy44NTJ2NTMuMTczbC0xLjQ2NiAxLjQ2Nkg5NS4wNzRsLTEuNDY2LTEuNDY2di03MC4xOWwxLjQ2Ni0xLjQ2N2gzOS41MDNjMTUuMzU0IDAgMjcuNzk1IDEyLjQ0MSAyNy43OTUgMjcuNzk1djQzLjg4MmwtMS40NjYgMS40NjZaIi8+PHBhdGggZmlsbD0iIzA1QkRCQSIgZD0iTTcxLjY3NyAxMjIuODg5SDEuNDY2TDAgMTIxLjQyM1YxMDMuODNsMS40NjYtMS40NjZoNzAuMjExbDEuNDY2IDEuNDY2djE3LjU5M3ptMTgyLjg1NyAwaC03MC4yMTFsLTEuNDY2LTEuNDY2VjEwMy44M2wxLjQ2Ni0xLjQ2Nmg3MC4yMTFMMjU2IDEwMy44M3YxNy41OTN6TTExNy44NzYgNTQuMTI0VjEuNDY2TDExOS4zNDIgMGgxNy41OTNsMS40NjYgMS40NjZ2NTIuNjU4bC0xLjQ2NiAxLjQ2NmgtMTcuNTkzem0wIDE2OS42NjN2LTUyLjY1OGwxLjQ2Ni0xLjQ2NmgxNy41OTNsMS40NjYgMS40NjZ2NTIuNjU4bC0xLjQ2NiAxLjQ2NWgtMTcuNTkzeiIvPjwvc3ZnPg==",
|
|
503
|
+
url: "https://www.netlify.com",
|
|
504
|
+
tagline: "Push your ideas to the web",
|
|
505
|
+
repo: "netlify/primitives",
|
|
506
|
+
links: [{
|
|
507
|
+
label: "Docs",
|
|
508
|
+
href: "https://docs.netlify.com/build/frameworks/framework-setup-guides/vite/"
|
|
509
|
+
}]
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
category: "Hosting",
|
|
513
|
+
label: "AWS",
|
|
514
|
+
flag: "aws",
|
|
515
|
+
image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iODBweCIgaGVpZ2h0PSI4MHB4IiB2aWV3Qm94PSIwIDAgODAgODAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDY0ICg5MzUzNykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+SWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtQ2xvdWQtRGV2ZWxvcG1lbnQtS2l0XzY0PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjEwMCUiIHgyPSIxMDAlIiB5Mj0iMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzJFMjdBRCIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNTI3RkZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9Ikljb24tQXJjaGl0ZWN0dXJlLzY0L0FyY2hfQVdTLUNsb3VkLURldmVsb3BtZW50LUtpdF82NCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ikljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0RldmVsb3Blci1Ub29scyIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSI+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIHg9IjAiIHk9IjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCI+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBkPSJNNjgsMzkuMzA1NTI0OSBDNjgsNDYuMjM0NzA3OCA2My4yNjYyNDk1LDQ4Ljc3NjA0MTMgNjAuNDQ1MjU1OSw0OS42NzQ4MDU2IEw1OS44NDU3MjAzLDQ3Ljc2ODMwNTYgQzYyLjY1OTc2NTcsNDYuODcyNTQwNSA2Ni4wMTQ3ODI4LDQ0LjY3NzExNjIgNjYuMDE0NzgyOCwzOS4zMDU1MjQ5IEM2Ni4wMTQ3ODI4LDMyLjUxNDMwNTggNjAuNDU2MTc0NiwzMC44MTg3NTA1IDU4LjA2Njk2NTYsMzAuNDA0ODU5IEM1Ny41MzM5MzQ4LDMwLjMxMjg4MzEgNTcuMTczNjE3OSwyOS44MDgwMTU1IDU3LjI1MzAyNjYsMjkuMjcwMTU2NiBMNTcuMjUzMDI2NiwyOS4yNzAxNTY2IEM1Ny4wMTY3ODU3LDI2LjE3NTk2OCA1NS41Nzc1MDMyLDIzLjk1MDU1MTYgNTMuMzkwNzg2NSwyMy4zMDY3MjA0IEM1MS41NzQzMTI3LDIyLjc3Mjg2MDQgNDkuNjIyODQ0MiwyMy40ODA2NzQ4IDQ4LjQyNTc1ODIsMjUuMTE0MjQ2NCBDNDguMjA4Mzc2OSwyNS40MTExNjg2IDQ3Ljg0MTExMTcsMjUuNTYyMTI5IDQ3LjQ4MDc5NDgsMjUuNTA5MTQyOSBDNDcuMTE3NSwyNS40NTUxNTcgNDYuODEzNzYxOCwyNS4yMDIyMjM0IDQ2LjY5MTY3MSwyNC44NTMzMTQ5IEM0NS44NjY4MTMyLDIyLjUwMzkzMSA0NC42NzE3MTI0LDIwLjUyNzQ0OTMgNDMuMTQwMTE3MywxOC45Nzg4NTU0IEM0MS4yNjAxMTY2LDE3LjA3OTM1MzUgMzYuMTAyNTIyMywxMi45OTQ0MjQ4IDI4LjgxMjgwNDcsMTYuMTAxNjA5OSBDMjQuNjAzMTUxNSwxNy44OTcxMzkxIDIxLjMwNTcwNTcsMjMuMDY5NzgyNiAyMS4zMDU3MDU3LDI3Ljg3NjUyMjEgQzIxLjMwNTcwNTcsMjguNDExMzgxOCAyMS4zMzc0NjkyLDI4Ljk1MDI0MDUgMjEuNDAwOTk2MiwyOS40NzkxMDE4IEMyMS40NTk1NjAxLDI5Ljk3Njk3MTIgMjEuMTQyOTE3OSwzMC40NDE4NDkzIDIwLjY2MDUxMDEsMzAuNTY1ODE2OCBDMTguMTY3MDc3MywzMS4yMDY2NDg4IDEzLjk4NTIxNzIsMzMuMTgyMTMwNyAxMy45ODUyMTcyLDM5LjIyMTU0NjkgQzEzLjk4NTIxNzIsMzkuNDE3NDk1NSAxMy45OTAxODAzLDM5LjYwOTQ0NTIgMTQuMDAwMTA2NCwzOS43OTgzOTU2IEMxNC4xODY3MTY4LDQzLjY4NjM3NiAxNy4wMjc1NjI2LDQ3LjAyNjUwMDEgMjAuOTEwNjQ3NSw0Ny45MjMyNjUgTDIwLjQ2NTk1ODgsNDkuODcxNzU0IEMxNS43MjEyODk3LDQ4Ljc3NTA0MTYgMTIuMjQ2MTY2OSw0NC42NzQxMTcgMTIuMDE2ODc0MywzOS44OTgzNjk0IEMxMi4wMDQ5NjMsMzkuNjgwNDI2NiAxMiwzOS40NTI0ODY0IDEyLDM5LjIyMTU0NjkgQzEyLDMyLjMxNDM1ODMgMTYuNjM3NDY3NCwyOS43NjcwMjYzIDE5LjM1MjI1MiwyOC44NjkyNjE3IEMxOS4zMzE0MDcyLDI4LjUzODM0ODUgMTkuMzIwNDg4NSwyOC4yMDY0MzU1IDE5LjMyMDQ4ODUsMjcuODc2NTIyMSBDMTkuMzIwNDg4NSwyMi4yMzQwMDE4IDIzLjA2ODU3ODYsMTYuMzgwNTM2OCAyOC4wMzk1NjI1LDE0LjI2MDA5MjkgQzMzLjg2NDE4OTksMTEuNzc0NzQ0NiA0MC4wMzYyMzAyLDEzLjAxMTQyMDMgNDQuNTQ1NjUxMSwxNy41NjcyMjU2IEM0NS45NDgyMDcxLDE4Ljk4NDg1MzggNDcuMDk3NjQ3OSwyMC43MDQ0MDI5IDQ3Ljk3NDEyMTMsMjIuNjk0ODgwOSBDNDkuNjQyNjk2NCwyMS4yODIyNTEzIDUxLjg0OTI2NTMsMjAuNzcwMzg1NiA1My45NDc2Mzk5LDIxLjM4ODIyMzYgQzU2LjgyNjIwNDksMjIuMjM1MDAxNSA1OC43NTI4NTgyLDI0LjkwNjMwMSA1OS4xODI2NTc3LDI4LjU5NDMzMzggQzYxLjk5ODY4ODMsMjkuMjU3MTYgNjgsMzEuNTgwNTUwNyA2OCwzOS4zMDU1MjQ5IEw2OCwzOS4zMDU1MjQ5IFogTTU2Ljg5ODY2NTMsNjEuMzEzNzUzNCBMNDkuOTYzMzA4OSw2NS4xOTk3MzQzIEw0OS45NjMzMDg5LDU2LjU1NDAwMTYgTDU2Ljg5ODY2NTMsNTIuNjEyMDM1NCBMNTYuODk4NjY1Myw2MS4zMTM3NTM0IFogTTM5LjAwNzg4NzcsNjEuMjg4NzYgTDMyLjA4NzQyMDUsNjUuMjc2NzE0MiBMMzIuMDg3NDIwNSw1Ni41MjAwMTA1IEwzOS4wMDc4ODc3LDUyLjU5MDA0MTEgTDM5LjAwNzg4NzcsNjEuMjg4NzYgWiBNMzEuMDkxODM0LDU0Ljc5MDQ2NDEgTDI0LjE2OTM4MTYsNTAuOTA1NDgyOSBMMzEuMTAzNzQ1Myw0Ny4wMjA1MDE3IEwzNy45NzE2MDQzLDUwLjg4MjQ4ODkgTDMxLjA5MTgzNCw1NC43OTA0NjQxIFogTTIzLjEyMTE4NjksNTIuNjA2MDM2OSBMMzAuMTAyMjAzMiw1Ni41MjQwMDk1IEwzMC4xMDIyMDMyLDY1LjI4MTcxMjggTDIzLjEyMTE4NjksNjEuMjg2NzYwNSBMMjMuMTIxMTg2OSw1Mi42MDYwMzY5IFogTTQwLjAyOTI4MiwzMi4wNTM0MjY3IEw0Ni45MTEwMzc1LDM1Ljg5ODQxODQgTDQwLjAwMDQ5NjMsMzkuNzYzNDA0OCBMMzMuMTQ0NTQ4NiwzNS45MTg0MTMxIEw0MC4wMjkyODIsMzIuMDUzNDI2NyBaIE00Mi4wMzIzNjYxLDUwLjg4NDQ4ODQgTDQ4Ljk1NDgxODYsNDcuMDA0NTA1OSBMNTUuODY1MzU5Nyw1MC45MDM0ODM0IEw0OC45NzA3MDAzLDU0LjgyMjQ1NTcgTDQyLjAzMjM2NjEsNTAuODg0NDg4NCBaIE00MC45OTMxMDQ5LDUyLjU4OTA0MTQgTDQ3Ljk3ODA5MTcsNTYuNTU0MDAxNiBMNDcuOTc4MDkxNyw2NS4xOTk3MzQzIEw0MC45OTMxMDQ5LDYxLjI4MDc2MjEgTDQwLjk5MzEwNDksNTIuNTg5MDQxNCBaIE00Ny45NjQxOTUyLDQ1LjI3MTk2MDIgTDQwLjk5MzEwNDksNDkuMTc3OTM1OSBMNDAuOTkzMTA0OSw0MS40OTQ5NTA3IEw0Ny45NjQxOTUyLDM3LjU5Njk3MjkgTDQ3Ljk2NDE5NTIsNDUuMjcxOTYwMiBaIE0zMi4wOTczNDY1LDM3LjYxODk2NzIgTDM5LjAwNzg4NzcsNDEuNDkzOTUxIEwzOS4wMDc4ODc3LDQ5LjE3NDkzNjcgTDMyLjA5NzM0NjUsNDUuMjg4OTU1OCBMMzIuMDk3MzQ2NSwzNy42MTg5NjcyIFogTTU4LjM5MTU0ODYsNTAuMDM2NzEwNyBDNTguMzg2NTg1Niw1MC4wMzM3MTE1IDU4LjM4MDYzLDUwLjAzMjcxMTggNTguMzc1NjY2OSw1MC4wMjk3MTI2IEw1OC4zNzY2NTk1LDUwLjAyNzcxMzEgTDQ5Ljk0OTQxMjQsNDUuMjczOTU5NyBMNDkuOTQ5NDEyNCwzNS44OTg0MTg0IEM0OS45NDk0MTI0LDM1LjU0MzUxMTQgNDkuNzYzNzk0NiwzNS4yMTY1OTcyIDQ5LjQ2MDA1NjQsMzUuMDM2NjQ0NCBDNDkuNDUyMTE1NSwzNS4wMzI2NDU0IDQ5LjQ0NTE2NzIsMzUuMDMwNjQ1OSA0OS40MzcyMjY0LDM1LjAyNjY0NyBMNDkuNDM5MjExNiwzNS4wMjM2NDc4IEw0MC41MTA2OTcxLDMwLjAzNTk1NTggQzQwLjIwODk0NDEsMjkuODY4OTk5NSAzOS44NDM2NjQxLDI5Ljg2ODk5OTUgMzkuNTQ1ODgxNiwzMC4wMzY5NTU1IEwzMC42MjIzMzAxLDM1LjA0NTY0MiBMMzAuNjIzMzIyOCwzNS4wNDc2NDE1IEMzMC42MTYzNzQ1LDM1LjA1MTY0MDQgMzAuNjA4NDMzNiwzNS4wNTI2NDAyIDMwLjYwMTQ4NTQsMzUuMDU2NjM5MSBDMzAuMjk4NzM5NywzNS4yMzY1OTE5IDMwLjExMjEyOTMsMzUuNTY0NTA1OSAzMC4xMTIxMjkzLDM1LjkxODQxMzEgTDMwLjExMjEyOTMsNDUuMjg2OTU2MyBMMjEuNjQ2MTcwNSw1MC4wMzA3MTIzIEwyMS42NDgxNTU3LDUwLjAzMjcxMTggQzIxLjY0MDIxNDgsNTAuMDM2NzEwNyAyMS42MzIyNzQsNTAuMDM4NzEwMiAyMS42MjUzMjU3LDUwLjA0MjcwOTIgQzIxLjMyMjU4MDEsNTAuMjIxNjYyMiAyMS4xMzU5Njk3LDUwLjU1MDU3NiAyMS4xMzU5Njk3LDUwLjkwNDQ4MzIgTDIxLjEzNTk2OTcsNjEuODY4NjA3OSBDMjEuMTM1OTY5Nyw2Mi4yMjg1MTM1IDIxLjMyNzU0MzEsNjIuNTYwNDI2NSAyMS42MzgyMjk2LDYyLjczNzM4MDEgTDMwLjU5NjUyMjMsNjcuODY1MDM1NCBMMzAuNjA0NDYzMiw2Ny44NzAwMzQxIEwzMC42MDQ0NjMyLDY3Ljg2OTAzNDMgQzMwLjc1NzMyNDksNjcuOTU2MDExNSAzMC45MjYwNjg0LDY4IDMxLjA5NDgxMTgsNjggQzMxLjI2NDU0NzksNjggMzEuNDM1Mjc2Niw2Ny45NTYwMTE1IDMxLjU4ODEzODMsNjcuODY4MDM0NiBMNDAuMDA3NDQ0Niw2My4wMTYzMDY5IEw0OC40ODgyOTI1LDY3Ljc3NDA1OTMgTDQ4LjQ4OTI4NTEsNjcuNzcxMDYgQzQ4LjYzOTE2OSw2Ny44NTUwMzggNDguODAzOTQyMSw2Ny45MDAwMjYyIDQ4Ljk3MDcwMDMsNjcuOTAwMDI2MiBDNDkuMTM2NDY2LDY3LjkwMDAyNjIgNDkuMzAzMjI0Miw2Ny44NTgwMzcyIDQ5LjQ1MzEwODEsNjcuNzc0MDU5MyBMNTguMzc0Njc0Myw2Mi43NzUzNzAxIEM1OC42ODkzMzEyLDYyLjU5ODQxNjUgNTguODgzODgyNSw2Mi4yNjQ1MDQxIDU4Ljg4Mzg4MjUsNjEuOTAxNTk5MyBMNTguODgzODgyNSw1MC45MDA0ODQyIEM1OC44ODM4ODI1LDUwLjU0NDU3NzUgNTguNjk3MjcyMSw1MC4yMTY2NjM1IDU4LjM5MTU0ODYsNTAuMDM2NzEwNyBMNTguMzkxNTQ4Niw1MC4wMzY3MTA3IFoiIGlkPSJBV1MtQ2xvdWQtRGV2ZWxvcG1lbnQtS2l0X0ljb25fNjRfU3F1aWQiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+",
|
|
516
|
+
url: "https://aws.amazon.com",
|
|
517
|
+
tagline: "Deploy to AWS Lambda with Infrastructure as Code with the AWS CDK",
|
|
518
|
+
repo: "aws/aws-cdk",
|
|
519
|
+
links: [{
|
|
520
|
+
label: "Docs",
|
|
521
|
+
href: "https://github.com/aws/aws-cdk"
|
|
522
|
+
}]
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
category: "Hosting",
|
|
526
|
+
label: "Docker",
|
|
527
|
+
flag: "docker",
|
|
528
|
+
llms: "https://docs.docker.com/llms.txt",
|
|
529
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggMTI4Ij48cGF0aCBkPSJNMTI0LjggNTIuMWMtNC4zLTIuNS0xMC0yLjgtMTQuOC0xLjQtLjYtNS4yLTQtOS43LTgtMTIuOWwtMS42LTEuMy0xLjQgMS42Yy0yLjcgMy4xLTMuNSA4LjMtMy4xIDEyLjMuMyAyLjkgMS4yIDUuOSAzIDguMy0xLjQuOC0yLjkgMS45LTQuMyAyLjQtMi44IDEtNS45IDItOC45IDJINzlWNDlINjZWMjRINTF2MTJIMjZ2MTNIMTN2MTRIMS44bC0uMiAxLjVjLS41IDYuNC4zIDEyLjYgMyAxOC41bDEuMSAyLjIuMS4yYzcuOSAxMy40IDIxLjcgMTkgMzYuOCAxOSAyOS4yIDAgNTMuMy0xMy4xIDY0LjMtNDAuNiA3LjQuNCAxNS0xLjggMTguNi04LjlsLjktMS44LTEuNi0xek0yOCAzOWgxMHYxMUgyOFYzOXptMTMuMSA0NC4yYzAgMS43LTEuNCAzLjEtMy4xIDMuMS0xLjcgMC0zLjEtMS40LTMuMS0zLjEgMC0xLjcgMS40LTMuMSAzLjEtMy4xIDEuNy4xIDMuMSAxLjQgMy4xIDMuMXpNMjggNTJoMTB2MTFIMjhWNTJ6bS0xMyAwaDExdjExSDE1VjUyem0yNy43IDUwLjJjLTE1LjgtLjEtMjQuMy01LjQtMzEuMy0xMi40IDIuMS4xIDQuMS4yIDUuOS4yIDEuNiAwIDMuMiAwIDQuNy0uMSAzLjktLjIgNy4zLS43IDEwLjEtMS41IDIuMyA1LjMgNi41IDEwLjIgMTQgMTMuOGgtMy40ek01MSA2M0g0MFY1MmgxMXYxMXptMC0xM0g0MFYzOWgxMXYxMXptMTMgMTNINTNWNTJoMTF2MTF6bTAtMTNINTNWMzloMTF2MTF6bTAtMTNINTNWMjZoMTF2MTF6bTEzIDI2SDY2VjUyaDExdjExek0zOC44IDgxLjJjLS4yLS4xLS41LS4yLS44LS4yLTEuMiAwLTIuMiAxLTIuMiAyLjIgMCAxLjIgMSAyLjIgMi4yIDIuMnMyLjItMSAyLjItMi4yYzAtLjMtLjEtLjYtLjItLjgtLjIuMy0uNC41LS44LjUtLjUgMC0uOS0uNC0uOS0uOS4xLS40LjMtLjcuNS0uOHoiIGZpbGw9IiMwMTlCQzYiPjwvcGF0aD48L3N2Zz4=",
|
|
530
|
+
url: "https://www.docker.com/",
|
|
531
|
+
tagline: "A safer container ecosystem, for everyone",
|
|
532
|
+
links: [{
|
|
533
|
+
label: "Docs",
|
|
534
|
+
href: "https://docs.docker.com"
|
|
535
|
+
}]
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
category: "Hosting",
|
|
539
|
+
label: "Dokploy",
|
|
540
|
+
flag: "dokploy",
|
|
541
|
+
llms: "https://docs.dokploy.com/llms.txt",
|
|
542
|
+
dependsOn: ["docker"],
|
|
543
|
+
image: "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNjAwLDYwMCIgd2lkdGg9IjYwMCIgaGVpZ2h0PSI2MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHN0eWxlPiBwYXRoe2ZpbGw6YmxhY2s7fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7cGF0aHtmaWxsOndoaXRlO319PC9zdHlsZT48cGF0aCBkPSJtIDQxNS42NDY5NCwxMzUuMTMwNTggYyAtNC4xMzAyNSwwLjg4NzE2IC00LjcwODgyLDQuOTgzMTUgLTQuMTMwMTUsMTUuODg3OTUgMC42MTU2LDExLjYwMDQgNS4zOTg1MywyOC4xMTAxMiAyNi45NTM2MSw0My42ODAzMiA5LjM3NTc5LDcuMDA3MyAyMC4yODU3NSw1LjE0NTUyIDE2Ljg0Mzk2LDExLjQ4MzM1IC05LjQxNzExLDE0LjQ3OTI1IC0xMy44NDk5NywxNy4wNzIxMyAtMzMuMTMzODMsMjMuMDI3NDMgLTguOTUyNzMsMi43NjQ4MSAtMjQuMDU2NDIsMS41NDQ0IC00MS42MDkwNSwtMy4zNDg2OCAtMTcuNTUyNjIsLTQuODkzMDcgLTM3LjQ2OTcxLC0xMy4wMzI2NCAtNTYuOTk3MzYsLTIxLjgyNjk4IC0xOS41Mjc2LC04Ljc5NDM1IC0zOC42ODEwMiwtMTguMjI1MzIgLTU1LjIxNTIzLC0yNS43MzAwMiAtMTYuNTM0MTYsLTcuNTA0NjggLTI5LjUzNjUsLTEzLjM0MzU4IC00MS4yODQ2MywtMTQuMjk2MDUgLTYuMTE2MjIsLTAuNDk1ODUgLTEyLjM0OTU2LC0wLjcyMjQgLTE4LjgzOTY3LC0wLjc4NDI5IC0xOS40NzAzMiwtMC4xODU2OCAtNDEuMjQ4NjksMS4xMTY5MSAtNjkuMDk2NTQsMS4xMTY5MSAtMTguODcwNjcsMCAtMzIuOTE0NjMsNi4zMTU3OCAtMzkuNzE4MDg4LDE3LjgyMzM1IC02LjgwMzQ1OCwxMS41MDc1NiAtNi44NDI2MTksMjQuNTI3ODkgLTcuMjEyNjk5LDM4LjU5MDkxIC0wLjM2MTUzNCwxMy43MzgyOSAtMS4wMjQyLDIzLjk2MzMgLTAuMzQ0OTI4LDMzLjIxMTY4IDAuNjc5MjczLDkuMjQ4MzYgMy4xOTMyODUsMTguMDQ2NDUgOS4wMDA5ODUsMjUuNDQyNTcgMi42MjE0MywzLjMzODQgNS4zMTAxNyw1LjI5NzAxIDkuMzA4OTYsOC4yMjY5NiAzLjk5ODc5LDIuOTI5OTIgOS4wNjM4OCw2LjI5MDYxIDE1LjEwNSw5Ljk3MDA2IDEyLjA4MjIyLDcuMzU4ODkgMjguMDQwMjMsMTUuOTY3MTYgNDYuNDMxODcsMjQuMjM1MzMgMzYuNzgzMjcsMTYuNTM2MzQgODMuMTY4MjksMzEuODQ0MjggMTI3LjY5OTQ1LDMxLjg0NDI4IDEwMy4xNzAxMywwIDIwMi42MzMxMSwtNzkuODI2MjggMjAyLjYzMzExLC03OS44MjYyOCA0LjU2MTc2LC0zLjU5MTEyIDUuMzQ4NjIsLTEwLjIwMDM1IDEuNzU3NDksLTE0Ljc2MjEyIC0zLjU5MTEyLC00LjU2MTc2IC0xMC4yMDAzNSwtNS4zNDg2MiAtMTQuNzYyMTEsLTEuNzU3NDggMCwwIC05Ny41OTg2Myw3NS4zMjE2NyAtMTg5LjYyODQ5LDc1LjMyMTY3IC0zOS42MTQyNiwwIC04My45NjIxOSwtMTQuMjA5NjEgLTExOS4wNzgzLC0yOS45OTY0NSAtMTcuNTU4MDUsLTcuODkzNDEgLTMyLjg0MzE5LC0xNi4xNDk4OSAtNDQuMTE1OTMsLTIzLjAxNTc2IC01LjYzNjM3LC0zLjQzMjkyIC0xMC4yNzgxLC02LjUyNjIyIC0xMy42MTY0NSwtOC45NzIyMyAtMy4zMzgzNSwtMi40NDYwMyAtNS42MTc1OSwtNC43ODU3MiAtNS4xOTg1NywtNC4yNTIwNyAtMS4yODA5OCwtMS42MzEzNyAtMi4xNTM3NSwtMy4xOTg2MSAtMi44MzUzOSwtNC45NTAxMyBoIDUzLjg0NTc4IGMgMTkuMTA2NzksMCAzMi44MzI1OCw3Ljc0Njc1IDUyLjMyNDQsMTYuNzIwODIgMTkuNDkxODIsOC45NzQwNSA0NC4xNDQwOCwxOC4zNTQwMSA4MS4wNjQzMywxNy42NzM0NyA1Mi44NDgxNywtMC45NzQxNyA4NC41OTQ1OCwtMTEuNDI0OSAxMTQuODI4MywtMjguODQ2NyAxNy40ODAyOSwtMTAuMDcyOCAzMC40NjM0NSwtMTguNTg5OSA0MS43NTQ3MiwtMzEuMDk4NTcgNy4zMTgyNSwtOC41NjAyNCAxMS43NDM5MiwtMTQuNTEyIDE3LjQwNDI4LC0yNC4yNTc3MyAzLjQ2MjExLC02LjA4NzU0IDkuOTc4ODcsLTYuNzc0NCAxOC4wNjA1OCwtNi43MTcxMiAxNS4zOTk1LDAuMTA5MTUgMzUuMTM5NjEsLTE5LjIwMjg4IDQxLjcxNzY4LC0zMC4zMzQwNSA2LjU3ODA5LC0xMS4xMzExOCA5Ljk5NjgsLTIyLjIxODc2IDAuNDA5MzIsLTIyLjI2NjYxIC05LjU4NzQ3LC0wLjA0NzggLTkuMTg0NjksOS42NjY5NiAtMjMuMjI2NywxMC45MDE5NCAtMTMuOTk2MjksMC40NTczOCAtMzEuODQ0ODEsMi4zNjIwNyAtMzkuNTI5MDUsMTcuMjczMTUgLTEuMzcyMTksLTUuNDg4NzQgLTguMTA5OTIsLTIxLjQwNDU4IC0zMC4yNTEwMywtMjcuMDY4NjcgLTIyLjE0MTEyLC01LjY2NDA4IC0xMy41MjU4OSwtMjEuMjg2OTcgLTI3LjMxOTYzLC0xOC4zMjQxNiB6IG0gLTIwNy42MTk3MSw0OS4xNDgwNCBjIDE4LjU1OTM3LC0xLjMxODc3IDM0Ljk4NDMzLDUuNzU0NzYgNTEuNjQyNzYsMTMuMTcwOTEgMTYuMDU0NjIsNy4yODcwMiAzNS4zMDkxNCwxNi43NjQ5MSA1NS4yNzA2NiwyNS43NTQ2NSAxOS45NjE1Miw4Ljk4OTc1IDQwLjYxNywxNy41MDk5NSA1OS45ODQ2OSwyMi45MDkgOS4xNTc3MywyLjU1Mjg2IDE4LjAxNjM0LDQuNDE4NzkgMjYuNTI2NjMsNS4yNDU3OCAtMjYuMzY2MzgsMTQuNDkyOTQgLTUyLjQ5MTYxLDIyLjYxMzU0IC0xMDAuMDQxNTUsMjMuNDkwMDQgLTMzLjMyNjQsMC42MTQzIC01My4zMTY5MywtNy4yMDQwNCAtNzEuODgyNjYsLTE1Ljc1MTc0IC0xOC41NjU3MywtOC41NDc2OSAtMzYuMzE0OTEsLTE4LjY0NjY1IC02MS4xMTgwMiwtMTguNjQ2NjUgaCAtNTUuNzAxODMgYyAwLjEwNjc3LC01LjM4Mjk0IDAuMzE3MTMsLTExLjYxMTI2IDAuNTE1MzUsLTE5LjE0MzU0IDAuMzYxNzUsLTEzLjc0NjU3IDEuNTU4MTMsLTIzLjgxNDc1IDQuMjk1MTgsLTI4LjQ0NDI3IDIuNzM3MDMsLTQuNjI5NTEgNi41NDA4NiwtNy40OTgwOCAyMS42MTk2MSwtNy40OTgwOCAyOC40NzU3NSwwIDUwLjQ2MjMyLC0xLjIyMjUgNjguODg5MTgsLTEuMDg2MSB6IG0gLTI1LjcxMTU1LDIwLjIxMzIgYyAtNS45NjE1NSwtNWUtNCAtMTAuNzk0OCw0LjgzMTgyIC0xMC43OTU0MywxMC43OTMzOSAtNWUtNCw1Ljk2MjM1IDQuODMzMDgsMTAuNzk1OTQgMTAuNzk1NDMsMTAuNzk1NDMgNS45NjE1NywtNi4zZS00IDEwLjc5MzksLTQuODMzODggMTAuNzkzNCwtMTAuNzk1NDMgLTYuM2UtNCwtNS45NjA3NyAtNC44MzI2MywtMTAuNzkyNzYgLTEwLjc5MzQsLTEwLjc5MzM5IHogbSAtNzIuMTcwMDksMTAxLjc0MzYgYyAtMC42NzU3OSwtMC4wMTggLTEuMzU2MDQsMC4wMDIgLTIuMDM2NzIsMC4wNjE3IC00Ljc0NDEsMC40MTcwNCAtOS4yNDU1NDYsMy4wOTcxNiAtMTEuODY1MTI0LDYuNjQ4MDkgLTIuNjE5NTc3LDMuNTUwOTMgLTMuNjU4NzA0LDcuNjgxNzEgLTMuNjU4NzA0LDExLjczNzgzIC00LjgxZS00LDEwNy43OTU1NiA5Mi44MzU5MTgsMTg4Ljc1OTg2IDIwNy40MTQ4NjgsMTg4Ljc2IDExNC41Nzg5NCwtMS40ZS00IDIwNy40MTUzNiwtODAuOTY0NDQgMjA3LjQxNDg3LC0xODguNzYgMCwtNC4wNTYxMiAtMS4wMzkxMiwtOC4xODY5IC0zLjY1ODY5LC0xMS43Mzc4MyAtMi42MTk1OSwtMy41NTA5MyAtNy4xMjEwMywtNi4yMzEwNSAtMTEuODY1MTMsLTYuNjQ4MDkgLTEuMzYxMzYsLTAuMTE5NzMgLTIuNzE4OTQsLTAuMDc2NiAtNC4wNDg4LDAuMTAwNiAtMy41NTc0MywwLjQ3MzYgLTYuODk1MywxLjg3NTc1IC0xMC4wODcxLDMuOTIxNTEgLTMyLjYzMzc3LDIwLjkxNjQ1IC05NS41MDU3OSw3My41NTE4MiAtMTc3Ljc1NTE1LDczLjU1MTgyIC04Mi4yNDkzNSwwIC0xNDUuMTIxMzgsLTUyLjYzNTM3IC0xNzcuNzU1MTMsLTczLjU1MTg2IC0zLjE5MTgsLTIuMDQ1NzYgLTYuNTI5NjgsLTMuNDQ3OSAtMTAuMDg3MSwtMy45MjE1MSAtMC42NjQ5MywtMC4wODg1IC0xLjMzNjI5LC0wLjE0NDIyIC0yLjAxMjA5LC0wLjE2MjIgeiBtIDEuNTY2NTUsMTkuOTk5NjkgYyAwLjEzNzksMC4wODA3IDAuMTAzMTMsMC4wMTk5IDAuMjU0NiwwLjExNzAzIDI5LjQxMjQ4LDE4Ljg1MTgzIDk3LjU0MTU4LDc2LjU2MTc4IDE4OC4wMzMxNyw3Ni41NjE3OCA5MC40OTE1OSwwIDE1OC42MjA3MSwtNTcuNzA5OTUgMTg4LjAzMzE5LC03Ni41NjE3OCAwLjE1MTQ3LC0wLjA5NyAwLjExNjcsLTAuMDM2MiAwLjI1NDU5LC0wLjExNzAzIC0wLjA2ODEsNy4zNTMxMyAtMC4yMDg5OCwxMC40Mjg2MSAtMS4yMDMxNCwxNy40Nzg0MyAtNy4zNTgwNyw5LjkxODUyIC04Ny40MjM3MSw5Ni45NDEyOSAtMTg3LjA4NDY0LDk2Ljk0MTI5IC05OS42NjA5NCwwIC0xNzkuNzI2NTYsLTg3LjAyMjc3IC0xODcuMDg0NjMsLTk2Ljk0MTI5IC0wLjk5NDE2LC03LjA0OTgyIC0xLjEzNTA1LC0xMC4xMjUzIC0xLjIwMzE0LC0xNy40Nzg0MyB6IG0gMTEuNDkxNDYsNTguNjkzMjYgYyAzNC4wNzAzNSwzMS4zMTkxNSAxMDAuNjAwOTksNzcuMDYyNzUgMTc2Ljc5NjMxLDc3LjA2Mjc1IDc2LjE5NTMxLDAgMTQyLjcyNTk4LC00NS43NDM2IDE3Ni43OTYzMywtNzcuMDYyNzUgLTI2LjE5NDM4LDY1LjMwNTMgLTk0LjQ3NTA2LDEwOS40NzE1MSAtMTc2Ljc5NjMzLDEwOS40NzE2NSAtODIuMzIxMjgsLTEuMWUtNCAtMTUwLjYwMTk0LC00NC4xNjYzNSAtMTc2Ljc5NjMxLC0xMDkuNDcxNjUgeiIgLz48L3N2Zz4=",
|
|
544
|
+
url: "https://dokploy.com",
|
|
545
|
+
tagline: "Open source alternative to Heroku, Vercel, and Netlify. Self-host on any VPS",
|
|
546
|
+
repo: "Dokploy/dokploy",
|
|
547
|
+
links: [{
|
|
548
|
+
label: "Docs",
|
|
549
|
+
href: "https://docs.dokploy.com"
|
|
550
|
+
}]
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
category: "Linter",
|
|
554
|
+
label: "ESLint",
|
|
555
|
+
flag: "eslint",
|
|
556
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNSI+PHBhdGggZmlsbD0iIzgwODBGMiIgZD0ibTc3Ljk2NSA4MC41NjhsNDguNTctMjguMDQyYTMuOTI5IDMuOTI5IDAgMCAxIDMuOTMgMGw0OC41NyAyOC4wNDJBMy45MzIgMy45MzIgMCAwIDEgMTgxIDgzLjk3MXY1Ni4wODRjMCAxLjQwMy0uNzUgMi43LTEuOTY1IDMuNDAzbC00OC41NyAyOC4wNDJhMy45MjkgMy45MjkgMCAwIDEtMy45MyAwbC00OC41Ny0yOC4wNDJBMy45MzEgMy45MzEgMCAwIDEgNzYgMTQwLjA1NVY4My45N2MuMDAxLTEuNDA0Ljc1LTIuNyAxLjk2NS0zLjQwMyIvPjxwYXRoIGZpbGw9IiM0QjMyQzMiIGQ9Ik0yNTQuNDE3IDEwNy40MTdMMTk2LjMyMyA2LjM1QzE5NC4yMTMgMi42OTYgMTkwLjMxNSAwIDE4Ni4wOTUgMEg2OS45MDZjLTQuMjIgMC04LjEyIDIuNjk2LTEwLjIzIDYuMzVMMS41ODMgMTA3LjE5NGMtMi4xMSAzLjY1NS0yLjExIDguMjY4IDAgMTEuOTIzbDU4LjA5MyAxMDAuMjM5YzIuMTEgMy42NTQgNi4wMSA1LjUyMiAxMC4yMyA1LjUyMmgxMTYuMTg4YzQuMjIgMCA4LjExOS0xLjgxMiAxMC4yMjgtNS40NjdsNTguMDk0LTEwMC40MDJjMi4xMTItMy42NTMgMi4xMTItNy45MzggMC0xMS41OTJabS00OC4xMDUgNDguNmMwIDEuNDg1LS44OTQgMi44Ni0yLjE4MiAzLjYwNGwtNzMuOTk5IDQyLjY5M2E0LjIxIDQuMjEgMCAwIDEtNC4xODYgMGwtNzQuMDU2LTQyLjY5M2MtMS4yODctLjc0NC0yLjE4OC0yLjExOC0yLjE4OC0zLjYwNVY3MC42MjhjMC0xLjQ4Ny44ODgtMi44NiAyLjE3Ni0zLjYwNGw3My45OTUtNDIuNjk0YTQuMjAyIDQuMjAyIDAgMCAxIDQuMTg1IDBsNzQuMDYgNDIuNjk0YzEuMjg5Ljc0NCAyLjE5NSAyLjExNyAyLjE5NSAzLjYwNHY4NS4zODhaIi8+PC9zdmc+",
|
|
557
|
+
url: "https://eslint.org",
|
|
558
|
+
tagline: "Find and fix problems in your JavaScript code",
|
|
559
|
+
repo: "eslint/eslint",
|
|
560
|
+
links: [{
|
|
561
|
+
label: "Docs",
|
|
562
|
+
href: "https://eslint.org/docs/latest/"
|
|
563
|
+
}]
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
category: "Linter",
|
|
567
|
+
label: "Oxlint",
|
|
568
|
+
flag: "oxlint",
|
|
569
|
+
llms: "https://oxc.rs/llms.txt",
|
|
570
|
+
image: "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQwIDI0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KPHBhdGggZD0iTTIwIDIwaDIwMHYyMDBIMjB6IiBmaWxsPSIjOTFFREU5Ii8+CjxwYXRoIGQ9Ik0yMjkgMjIzSDEzdi00My41czE5LjE4LTE1LjggMjguNS0xNi41YzExLjg0LS44OSAxNC43OCAzLjYgMjYuNSA1LjUgMTIuMzMgMiAyMC4yNS0xMC45IDMyLjUtOC41IDEyLjUgMi40NCAyOC42NyAxMS44NiAzOSAxMS41IDIxLjg0LS43NiAyMC41NS00Ljg3IDM4LjUtMSA3LjYzIDEuNjUgMTUuNzctMTQuNDIgMjguNS0xMiA2LjQ1IDEuMjIgMjIuNSAyLjUgMjIuNSAyLjV2NjJaIiBmaWxsPSIjNDhBQ0JBIi8+CjxwYXRoIGQ9Ik0yMjIgMjIzSDEwdi00MHMxOS42OC0xMC44IDI5LTExLjVjMTEuODQtLjg5IDE0LjI4IDcuOTMgMjYgOS44NCAxMi4zMyAyIDE2Ljc1LTEwLjI0IDI5LTcuODQgMTIuNSAyLjQ0IDIyLjY3IDE0LjM2IDMzIDE0IDIxLjg0LS43NiAyMy4wNS0xMS4zNyA0MS03LjUgNy42MyAxLjY1IDkuNSA1LjUgMjcuNSAxLjM0UzIyMiAxODMgMjIyIDE4M3Y0MFoiIGZpbGw9IiMyQjNDNUEiLz4KPC9nPgo8cGF0aCBkPSJNMTI3LjAyIDQyLjQ5YTE3IDE3IDAgMSAwLTE0LjA0IDBMMTEyLjU1IDU1aC0uMDVsLTIzLjczIDEuNzlhMyAzIDAgMCAwLTIuNzcgM3Y2LjQzYTMgMyAwIDAgMCAyLjc3IDNMMTEyIDcxbC0xLjEgNDEuNzdjLS4zNCAxMi42MS0yLjQgMjguMDctMTQuNzEgMzAuNzctMS4zNy4zLTIuNzcuNDYtNC4xOS40Ni03LjM5IDAtMTUuOTEtOS4xLTIxLjM3LTE4LjQyYTYyLjcgNjIuNyAwIDAgMSA2LjY0LTIuNDRjMS4zLS40IDEuNTUtMi4yMi40Mi0yLjk3LTguMTgtNS40LTE0LjY3LTEyLjY3LTE4LjY1LTIxLjA2LS41NS0xLjE2LTIuMi0xLjI0LTIuNzUtLjA5YTY1LjA3IDY1LjA3IDAgMCAwLTMuNTIgOSA2Mi40IDYyLjQgMCAwIDAtMi4wOCAyNy42NGwuMS42Yy4yIDEuMiAxLjY4IDEuNjMgMi41Ni43OGE1NS40MyA1NS40MyAwIDAgMSA1LjIzLTQuNDdDNjguNjMgMTY0LjIgMTAyLjIyIDE4MCAxMjAgMTgwYzE3Ljc5IDAgNTEuMzktMTUuODIgNjEuNDItNDcuNDVhNTUuMzggNTUuMzggMCAwIDEgNS4yNCA0LjQ4Yy44Ny44NSAyLjM3LjQyIDIuNTYtLjc4bC4wNS0uMzIuMDQtLjI3YTYyLjU3IDYyLjU3IDAgMCAwLTIuMDctMjcuNjMgNjUuMjEgNjUuMjEgMCAwIDAtMy41LTljLS41NC0xLjE1LTIuMi0xLjA2LTIuNzQuMS0zLjk3IDguMzgtMTAuNDMgMTUuNjQtMTguNTcgMjEuMDQtMS4xMy43NS0uODcgMi41Ny40MyAyLjk3YTYxLjk4IDYxLjk4IDAgMCAxIDYuNTMgMi40MWMtNS40NiA5LjM0LTE0IDE4LjQ1LTIxLjM5IDE4LjQ1YTE5LjQgMTkuNCAwIDAgMS00LjE4LS40NmMtMTIuMzMtMi43LTE0LjM4LTE4LjE2LTE0LjcyLTMwLjc3TDEyOCA3MWwyMy4yMy0xLjc5YTMgMyAwIDAgMCAyLjc3LTIuOTl2LTYuNDRhMyAzIDAgMCAwLTIuNzctMi45OUwxMjcuNSA1NWgtLjA1bC0uNDMtMTIuNTFaTTEzMCAyN2ExMCAxMCAwIDEgMS0yMCAwIDEwIDEwIDAgMCAxIDIwIDBaIiBmaWxsPSIjRkY5MTVDIiBzdHJva2U9IiMyQjNDNUEiIHN0cm9rZS13aWR0aD0iOCIgcGFpbnQtb3JkZXI9InN0cm9rZSIvPgo8cGF0aCBkPSJNODYgNjcuMTVhMiAyIDAgMCAwIDEuODUgMkwxMTIgNzFsNi42My02LjYzYS44LjggMCAwIDAtLjU2LTEuMzdIODZ2NC4xNVpNMTgyLjEyIDk4LjgxYS45LjkgMCAwIDEgMS41Ny4xIDY1LjI2IDY1LjI2IDAgMCAxIDMuNTUgOS4xMiA2Mi41NyA2Mi41NyAwIDAgMSAxLjk4IDI4LjIyYy0uMiAxLjItMS42OSAxLjYzLTIuNTcuNzhhNTYuNjkgNTYuNjkgMCAwIDAtMTEuMDktOC4zNiAxLjU1IDEuNTUgMCAwIDEtLjY0LTEuOThjMy4zNy03LjU4IDUuODUtMTYuNjcgNy4wNS0yNy40N2EuOTQuOTQgMCAwIDEgLjE1LS40WiIgZmlsbD0iIzhBMzgwRiIvPgo8cGF0aCBkPSJtMTI3IDQyIC41IDEzLTUuODIgNS40M2ExIDEgMCAwIDEtMS42OC0uNzNWNDJoN1ptNTcgNzhjLTQgNDAtNDQgNjAtNjQgNjBWNjQuNWExLjUgMS41IDAgMCAxIDEuNS0xLjVIMTU0djMuMjlhMyAzIDAgMCAxLTIuNyAyLjk4TDEyOCA3MWwxLjEgNDEuNzdjLjM0IDEyLjYxIDIuMzcgMjguMSAxNC43IDMwLjc4YTE5IDE5IDAgMCAwIDQuMTMuNDUgNSA1IDAgMCAwLTMuNjUgMS42MmMtNC44NyA1LjgtMTAuNCAxMS42NC0xOC41NyAxNC4yOCAyMS41IDEgNTEuMS0xMy42MyA1Ni4yOS02MC45bDIgMjFaIiBmaWxsPSIjOEEzODBGIi8+CjxwYXRoIGQ9Ik0xMjIgMzkuOWMtMS4xLjExLTIgMS0yIDIuMXMuOSAyLjAxIDIgMS44OGExNyAxNyAwIDAgMCAxMC4wMi00Ljg2QTE3IDE3IDAgMCAwIDEzNyAyNy4wOGEuMDguMDggMCAwIDAtLjA4LS4wOC4wOC4wOCAwIDAgMC0uMDguMDdDMTM1Ljc5IDMzLjggMTI5LjY3IDM5LjEgMTIyIDM5LjlaIiBmaWxsPSIjOEEzODBGIi8+CjxjbGlwUGF0aCBpZD0iYSI+CjxyZWN0IHg9IjIwIiB5PSIyMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHJ4PSIxMDAiLz4KPC9jbGlwUGF0aD4KPC9zdmc+Cg==",
|
|
571
|
+
url: "https://oxc.rs/docs/guide/usage/linter.html",
|
|
572
|
+
spectrum: "bleeding_edge"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
category: "Linter",
|
|
576
|
+
label: "Biome",
|
|
577
|
+
flag: "biome",
|
|
578
|
+
image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICdodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQnPjxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSc0OHB4JyBoZWlnaHQ9JzQ4cHgnIHN0eWxlPSdzaGFwZS1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uOyB0ZXh0LXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247IGltYWdlLXJlbmRlcmluZzpvcHRpbWl6ZVF1YWxpdHk7IGZpbGwtcnVsZTpldmVub2RkOyBjbGlwLXJ1bGU6ZXZlbm9kZCcgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjxnPjxwYXRoIHN0eWxlPSdvcGFjaXR5OjEnIGZpbGw9JyNlNWIxMWMnIGQ9J00gMzEuNSw0MS41IEMgMjguODMzMyw0MS41IDI2LjE2NjcsNDEuNSAyMy41LDQxLjVDIDIzLjUsMzguODMzMyAyMy41LDM2LjE2NjcgMjMuNSwzMy41QyAyNS4yNjQ2LDMyLjUzODYgMjcuMjY0NiwzMi4yMDUzIDI5LjUsMzIuNUMgMjkuNzczMywzMC41NDkgMjkuMTA2NiwyOS4wNDkgMjcuNSwyOEMgMjMuODQ4NCwyNy41MDE0IDIwLjE4MTcsMjcuMzM0NyAxNi41LDI3LjVDIDE2LjUsMzIuNSAxNi41LDM3LjUgMTYuNSw0Mi41QyAxMy4xNjY3LDQyLjUgOS44MzMzMyw0Mi41IDYuNSw0Mi41QyA2LjUsMzQuNSA2LjUsMjYuNSA2LjUsMTguNUMgMTMuNSwxOC41IDIwLjUsMTguNSAyNy41LDE4LjVDIDI4LjU4NjIsMTguMzggMjkuMjUyOCwxNy43MTMzIDI5LjUsMTYuNUMgMjkuNDU3MywxNS41ODM2IDI5LjEyMzksMTQuOTE2OSAyOC41LDE0LjVDIDIxLjQ5MjEsMTQuNjY2MyAxNC40OTIxLDE0LjQ5OTYgNy41LDE0QyA2LjU0OTQ4LDEwLjk0MzMgNi4yMTYxNCw3Ljc3NjU5IDYuNSw0LjVDIDE0Ljg0LDQuMzMzNiAyMy4xNzMzLDQuNTAwMjcgMzEuNSw1QyAzOS44NjA5LDkuMjUxNDYgNDEuNTI3NSwxNS4yNTE1IDM2LjUsMjNDIDQxLjc1NiwyOC41OTM1IDQxLjc1NiwzNC4yNjAyIDM2LjUsNDBDIDM0Ljk3NTEsNDEuMDA4NiAzMy4zMDg0LDQxLjUwODYgMzEuNSw0MS41IFonLz48L2c+PGc+PHBhdGggc3R5bGU9J29wYWNpdHk6MC42ODInIGZpbGw9JyM5MjhlMzYnIGQ9J00gMjguNSwxNC41IEMgMjkuMTIzOSwxNC45MTY5IDI5LjQ1NzMsMTUuNTgzNiAyOS41LDE2LjVDIDI5LjI1MjgsMTcuNzEzMyAyOC41ODYyLDE4LjM4IDI3LjUsMTguNUMgMjguMjM0MSwxNy4yOTIxIDI4LjU2NzQsMTUuOTU4NyAyOC41LDE0LjUgWicvPjwvZz48Zz48cGF0aCBzdHlsZT0nb3BhY2l0eTowLjc1OCcgZmlsbD0nI2M0YTMyMycgZD0nTSAyMy41LDMzLjUgQyAyMy41LDM2LjE2NjcgMjMuNSwzOC44MzMzIDIzLjUsNDEuNUMgMjYuMTY2Nyw0MS41IDI4LjgzMzMsNDEuNSAzMS41LDQxLjVDIDI4LjcxMzEsNDIuNDc2NyAyNS43MTMxLDQyLjgxIDIyLjUsNDIuNUMgMjIuMTksMzkuMjg2OSAyMi41MjMzLDM2LjI4NjkgMjMuNSwzMy41IFonLz48L2c+PC9zdmc+Cg==",
|
|
579
|
+
url: "https://biomejs.dev",
|
|
580
|
+
spectrum: "bleeding_edge"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
category: "Linter",
|
|
584
|
+
label: "Prettier",
|
|
585
|
+
flag: "prettier",
|
|
586
|
+
llms: "https://prettier.io/llms.txt",
|
|
587
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiI+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeD0iMTgyLjg1NyIgeT0iNDguNzYyIiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI3My4xNDMiIGhlaWdodD0iMTIuMTkiIHk9IjI0My44MSIgZmlsbD0iI0VBNUU1RSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNDguNzYyIiBoZWlnaHQ9IjEyLjE5IiB4PSIxNDYuMjg2IiB5PSIxNDYuMjg2IiBmaWxsPSIjQkY4NUJGIiByeD0iNSIvPjxyZWN0IHdpZHRoPSI2MC45NTIiIGhlaWdodD0iMTIuMTkiIHg9IjczLjE0MyIgeT0iMTQ2LjI4NiIgZmlsbD0iI0VBNUU1RSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNjAuOTUyIiBoZWlnaHQ9IjEyLjE5IiB5PSIxNDYuMjg2IiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI3My4xNDMiIGhlaWdodD0iMTIuMTkiIHk9IjE5NS4wNDgiIGZpbGw9IiNCRjg1QkYiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjczLjE0MyIgaGVpZ2h0PSIxMi4xOSIgeT0iOTcuNTI0IiBmaWxsPSIjQkY4NUJGIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIxMzQuMDk1IiBoZWlnaHQ9IjEyLjE5IiB4PSI2MC45NTIiIHk9IjI0LjM4MSIgZmlsbD0iI0Y3QkEzRSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNDguNzYyIiBoZWlnaHQ9IjEyLjE5IiB5PSIyNC4zODEiIGZpbGw9IiNFQTVFNUUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeD0iNDguNzYyIiB5PSIyMTkuNDI5IiBmaWxsPSIjRjdCQTNFIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIyNC4zODEiIGhlaWdodD0iMTIuMTkiIHg9IjQ4Ljc2MiIgeT0iNzMuMTQzIiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHk9IjIxOS40MjkiIGZpbGw9IiM1NkIzQjQiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjM2LjU3MSIgaGVpZ2h0PSIxMi4xOSIgeT0iNzMuMTQzIiBmaWxsPSIjRjdCQTNFIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIyNC4zODEiIGhlaWdodD0iMTIuMTkiIHg9IjE1OC40NzYiIHk9IjIxOS40MjkiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI2MC45NTIiIGhlaWdodD0iMTIuMTkiIHg9Ijg1LjMzMyIgeT0iMjE5LjQyOSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjYwLjk1MiIgaGVpZ2h0PSIxMi4xOSIgeD0iMTk1LjA0OCIgeT0iMjE5LjQyOSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjEwOS43MTQiIGhlaWdodD0iMTIuMTkiIHg9Ijk3LjUyNCIgeT0iMTIxLjkwNSIgZmlsbD0iIzU2QjNCNCIgcng9IjUiLz48cmVjdCB3aWR0aD0iNDguNzYyIiBoZWlnaHQ9IjEyLjE5IiB4PSIzNi41NzEiIHk9IjEyMS45MDUiIGZpbGw9IiNGN0JBM0UiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeT0iMTIxLjkwNSIgZmlsbD0iI0VBNUU1RSIgcng9IjUiLz48cmVjdCB3aWR0aD0iNjAuOTUyIiBoZWlnaHQ9IjEyLjE5IiB4PSIxMDkuNzE0IiB5PSI0OC43NjIiIGZpbGw9IiNCRjg1QkYiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9Ijk3LjUyNCIgaGVpZ2h0PSIxMi4xOSIgeT0iNDguNzYyIiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIxMjEuOTA1IiBoZWlnaHQ9IjEyLjE5IiB4PSIzNi41NzEiIHk9IjE3MC42NjciIGZpbGw9IiNGN0JBM0UiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjI0LjM4MSIgaGVpZ2h0PSIxMi4xOSIgeT0iMTcwLjY2NyIgZmlsbD0iI0JGODVCRiIgcng9IjUiLz48cmVjdCB3aWR0aD0iNzMuMTQzIiBoZWlnaHQ9IjEyLjE5IiB4PSIxNDYuMjg2IiB5PSI3My4xNDMiIGZpbGw9IiNFQTVFNUUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjczLjE0MyIgaGVpZ2h0PSIxMi4xOSIgeD0iMTQ2LjI4NiIgeT0iOTcuNTI0IiBmaWxsPSIjRjdCQTNFIiByeD0iNSIvPjxyZWN0IHdpZHRoPSIxNTguNDc2IiBoZWlnaHQ9IjEyLjE5IiBmaWxsPSIjNTZCM0I0IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI4NS4zMzMiIGhlaWdodD0iMTIuMTkiIHg9IjE3MC42NjciIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHg9IjE3MC42NjciIHk9IjE3MC42NjciIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHg9IjIxOS40MjkiIHk9IjE3MC42NjciIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI0OC43NjIiIGhlaWdodD0iMTIuMTkiIHg9IjIwNy4yMzgiIHk9IjE0Ni4yODYiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI0OC43NjIiIGhlaWdodD0iMTIuMTkiIHg9IjIwNy4yMzgiIHk9IjI0LjM4MSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjM2LjU3MSIgaGVpZ2h0PSIxMi4xOSIgeD0iMjE5LjQyOSIgeT0iMTIxLjkwNSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjM2LjU3MSIgaGVpZ2h0PSIxMi4xOSIgeD0iMjE5LjQyOSIgeT0iNDguNzYyIiBmaWxsPSIjRDBENEQ4IiBvcGFjaXR5PSIuNSIgcng9IjUiLz48cmVjdCB3aWR0aD0iMjQuMzgxIiBoZWlnaHQ9IjEyLjE5IiB4PSIyMzEuNjE5IiB5PSI3My4xNDMiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIyNC4zODEiIGhlaWdodD0iMTIuMTkiIHg9IjIzMS42MTkiIHk9Ijk3LjUyNCIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjEyMS45MDUiIGhlaWdodD0iMTIuMTkiIHg9IjEzNC4wOTUiIHk9IjE5NS4wNDgiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSIzNi41NzEiIGhlaWdodD0iMTIuMTkiIHg9Ijg1LjMzMyIgeT0iMTk1LjA0OCIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjczLjE0MyIgaGVpZ2h0PSIxMi4xOSIgeD0iMTgyLjg1NyIgeT0iMjQzLjgxIiBmaWxsPSIjRDBENEQ4IiBvcGFjaXR5PSIuNSIgcng9IjUiLz48cmVjdCB3aWR0aD0iODUuMzMzIiBoZWlnaHQ9IjEyLjE5IiB4PSI4NS4zMzMiIHk9IjI0My44MSIgZmlsbD0iI0QwRDREOCIgb3BhY2l0eT0iLjUiIHJ4PSI1Ii8+PHJlY3Qgd2lkdGg9IjQ4Ljc2MiIgaGVpZ2h0PSIxMi4xOSIgeD0iODUuMzMzIiB5PSI3My4xNDMiIGZpbGw9IiNEMEQ0RDgiIG9wYWNpdHk9Ii41IiByeD0iNSIvPjxyZWN0IHdpZHRoPSI0OC43NjIiIGhlaWdodD0iMTIuMTkiIHg9Ijg1LjMzMyIgeT0iOTcuNTI0IiBmaWxsPSIjRDBENEQ4IiBvcGFjaXR5PSIuNSIgcng9IjUiLz48L3N2Zz4=",
|
|
588
|
+
url: "https://prettier.io",
|
|
589
|
+
tagline: "An opinionated code formatter",
|
|
590
|
+
repo: "prettier/prettier",
|
|
591
|
+
links: [{
|
|
592
|
+
label: "Docs",
|
|
593
|
+
href: "https://prettier.io/docs/en/"
|
|
594
|
+
}]
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
category: "Error tracking",
|
|
598
|
+
label: "Sentry",
|
|
599
|
+
flag: "sentry",
|
|
600
|
+
llms: "https://docs.sentry.io/llms.txt",
|
|
601
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjEzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNyI+PHBhdGggZmlsbD0iIzM2MkQ1OSIgZD0iTTE0OC4zNjggMTIuNDAzYTIzLjkzNSAyMy45MzUgMCAwIDAtNDEuMDAzIDBMNzMuNjQgNzAuMTY1YzUyLjQyNiAyNi4xNzQgODcuMDUgNzguMTc3IDkwLjk3NSAxMzYuNjQyaC0yMy42NzljLTMuOTE4LTUwLjExMy0zNC4wNjEtOTQuNDEtNzkuMjM4LTExNi40NDhsLTMxLjIxMyA1My45N2E4MS41OTUgODEuNTk1IDAgMCAxIDQ3LjMwNyA2Mi4zNzVoLTU0LjM4YTMuODk1IDMuODk1IDAgMCAxLTMuMTc4LTUuNjlsMTUuMDY5LTI1LjYyNmE1NS4wNDYgNTUuMDQ2IDAgMCAwLTE3LjIyMS05LjczOEwzLjE2NyAxOTEuMjc3YTIzLjI2OSAyMy4yNjkgMCAwIDAgOC42NjIgMzEuOTgyYTIzLjg4NCAyMy44ODQgMCAwIDAgMTEuNTgzIDMuMDc1aDc0LjQ3MWE5OS40MzIgOTkuNDMyIDAgMCAwLTQxLjAwMy04OC43MmwxMS44NC0yMC41YzM1LjY3OSAyNC41MDQgNTUuNzU0IDY2LjAzOCA1Mi43OSAxMDkuMjJoNjMuMDk0YzIuOTktNjUuNDMtMjkuMDQ3LTEyNy41MTItODQuMTA3LTE2Mi45ODZsMjMuOTM1LTQxLjAwMmEzLjk0NyAzLjk0NyAwIDAgMSA1LjM4Mi0xLjM4NGMyLjcxNiAxLjQ4NiAxMDMuOTkzIDE3OC4yMDggMTA1Ljg5IDE4MC4yNThhMy44OTUgMy44OTUgMCAwIDEtMy40ODYgNS43OTJoLTI0LjM5NmMuMzA3IDYuNTI2LjMwNyAxMy4wMzUgMCAxOS41MjhoMjQuNDk5QTIzLjUyOCAyMy41MjggMCAwIDAgMjU2IDIwMi45MWEyMy4wMTUgMjMuMDE1IDAgMCAwLTMuMTc4LTExLjY4NUwxNDguMzY4IDEyLjQwM1oiLz48L3N2Zz4=",
|
|
602
|
+
url: "https://sentry.io"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
category: "Error tracking",
|
|
606
|
+
label: "Logrocket",
|
|
607
|
+
flag: "logrocket",
|
|
608
|
+
image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAuMDAgMC4wMCAxMTQ2LjAwIDE3ODMuMDAiPgo8cGF0aCBmaWxsPSIjNzE1MmExIiBkPSIKICBNIDM3Mi4yNCAxMjc5Ljc3CiAgUSAzNDYuNTQgMTI5OC44OCAzMjIuMTggMTMxOS42OAogIEMgMjkyLjkwIDEzNDQuNjYgMjYzLjgwIDEzNjkuNzYgMjM0LjEzIDEzOTQuMjkKICBDIDIwMi45MyAxNDIwLjA5IDE3NS40MyAxNDU1LjExIDEzMC4zNCAxNDQ3LjYyCiAgQyAxMDEuNDYgMTQ0Mi44MyA3NS4xMCAxNDIzLjM2IDY4LjE3IDEzOTMuOTYKICBDIDQ3LjM2IDEzMDUuNzggMjYuNDMgMTIxNy42MiA2LjQ0IDExMjkuMjUKICBRIDMuNjAgMTExNi42OCAyLjU1IDExMDkuNjQKICBDIC04Ljg3IDEwMzIuNDMgMjMuMTAgOTU1LjU1IDgzLjQ3IDkwNi44OQogIFEgMTM0Ljk3IDg2NS4zOCAxODcuNTMgODI1LjIxCiAgQyAxOTEuNDkgODIyLjE4IDE5My4yMSA4MTkuMDYgMTkyLjkxIDgxNC4yNQogIEMgMTc5LjY3IDYwMy40MyAyNDguMjYgMzk5LjYwIDM2MS40NiAyMjQuMjAKICBDIDM4My43MiAxODkuNjkgNDA4LjY2IDE1Ni40NyA0MzUuMDcgMTIzLjU3CiAgQyA0NzMuODUgNzUuMjQgNTE3LjU1IDMyLjM2IDU3MC42NiAwLjYwCiAgQSAwLjgxIDAuODAgLTQ1LjMgMCAxIDU3MS41MCAwLjU5CiAgQyA2NDguNjkgNDYuMTcgNzA1LjA0IDExNi4wMCA3NTYuNzcgMTg4LjU0CiAgUSA3NjIuODYgMTk3LjA3IDc2OC4yMSAyMDQuOTUKICBDIDg4OS44MiAzODQuMTEgOTY0LjI0IDYwMC4xNyA5NDkuNTkgODE4LjczCiAgQSAwLjk5IDAuOTggMjEuNSAwIDAgOTQ5Ljk1IDgxOS41NQogIEMgOTkyLjA4IDg1My4zOSAxMDM4LjgyIDg4OC43OSAxMDcyLjIxIDkxNy4wMwogIFEgMTA4OC4xMCA5MzAuNDYgMTEwMy42MyA5NTIuMzQKICBRIDExNDYuNzYgMTAxMy4wOSAxMTQ1LjI5IDEwODcuMjQKICBDIDExNDUuMDIgMTEwMS4wNiAxMTQyLjgyIDExMTQuMTUgMTEzOS42OCAxMTI5LjQ4CiAgQyAxMTIxLjQzIDEyMTguNzMgMTEwMi4yMSAxMzE1LjQ2IDEwODMuOTMgMTM5Ni45MwogIEMgMTA3My41NCAxNDQzLjIwIDEwMTMuNzMgMTQ2My4wMiA5NzQuNjAgMTQ0Mi4xMwogIFEgOTY4LjY2IDE0MzguOTYgOTU4LjcwIDE0MzAuODMKICBDIDg5Ni40OCAxMzc5Ljk2IDgzNC42MiAxMzI4LjcwIDc3Mi40OSAxMjc3Ljg5CiAgQSAwLjg1IDAuODQgNDMuMyAwIDAgNzcxLjM4IDEyNzcuOTIKICBDIDcxOS4xMSAxMzI1LjgyIDY1Mi4zMyAxMzU0Ljg4IDU4MS40NSAxMzU3LjY4CiAgQyA1MDUuMTMgMTM2MC42OSA0MzAuMjkgMTMzMC43MyAzNzMuMTQgMTI3OS44MQogIEEgMC43MSAwLjcxIDAuMCAwIDAgMzcyLjI0IDEyNzkuNzcKICBaCiAgTSA0MDkuOTcgNTkyLjcwCiAgQyA0MjEuNDggNjg1LjIxIDUwNy45OSA3NDIuODggNTk5LjI0IDcyOC40NgogIEMgNjM1LjgyIDcyMi42OCA2NjguMDcgNzA1LjQ4IDY5Mi45NCA2NzguNDQKICBDIDc1MC40OCA2MTUuODUgNzQ2LjQ4IDUyMC4yNiA2ODQuMTkgNDYyLjU1CiAgUSA2MzkuMjEgNDIwLjg5IDU3Ni4wMSA0MTguNjEKICBDIDQ4MC42NyA0MTUuMTggMzk3Ljg4IDQ5NS40NSA0MDkuOTcgNTkyLjcwCiAgWiIKLz4KPGVsbGlwc2UgZmlsbD0iIzcxNTJhMSIgY3g9IjAuMDAiIGN5PSIwLjAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NjkuODYsNTc2LjU1KSByb3RhdGUoLTAuMSkiIHJ4PSI3OS41MCIgcnk9Ijc2LjQ1Ii8+CjxwYXRoIGZpbGw9IiM3MTUyYTEiIGQ9IgogIE0gNDYyLjgzIDE2MTkuNzkKICBBIDAuNzAgMC43MCAwLjAgMCAwIDQ2MS43MiAxNjE5LjYyCiAgUSA0NDguMTIgMTYzMy4wMCA0MzQuMzYgMTY0Ni4zNgogIFEgNDIwLjc0IDE2NTkuNTcgNDEzLjQ0IDE2NjUuMTkKICBDIDM5NC4yMCAxNjc5Ljk5IDM1OS43NCAxNjY3LjIxIDM1NC43NyAxNjQzLjI1CiAgUSAzNTQuMDYgMTYzOS44MyAzNTQuMDIgMTYzMy4yMQogIFEgMzUzLjUwIDE1NTIuNTQgMzU0LjA4IDE0NzEuODcKICBRIDM1NC4xNCAxNDYyLjk2IDM1NS41NiAxNDU4LjQzCiAgUSAzNTguMzEgMTQ0OS42OSAzNjUuMTYgMTQ0My45MAogIFEgMzg3LjA4IDE0MjUuMzggNDEyLjEyIDE0MzguMDgKICBDIDUwOS4xMSAxNDg3LjI5IDYzMi4zMyAxNDg2LjE0IDcyOS41MyAxNDM4LjUzCiAgUSA3MzYuNjkgMTQzNS4wMiA3NDEuMDEgMTQzNC4xMAogIEMgNzU4Ljk2IDE0MzAuMjcgNzgwLjcyIDE0MzkuNTggNzg2LjY1IDE0NTguMTQKICBRIDc4OC4yMCAxNDYzLjAwIDc4OC4yOCAxNDc0LjUzCiAgUSA3ODkuMDMgMTU5Mi4yMyA3ODguMzAgMTYzOS43NQogIFEgNzg4LjI2IDE2NDIuNjIgNzg2LjQ4IDE2NDcuMzkKICBDIDc3OS4xOCAxNjY3LjA2IDc1Mi4wNSAxNjc3LjQwIDczMy4zNyAxNjY3Ljc4CiAgQyA3MjguMTkgMTY2NS4xMSA3MjEuNTYgMTY1OS4wMCA3MTcuNjkgMTY1NS4zMQogIFEgNjk4Ljg2IDE2MzcuMzkgNjgwLjI4IDE2MTkuMzYKICBBIDAuNTAgMC41MCAwLjAgMCAwIDY3OS40OSAxNjE5LjQ5CiAgQyA2NTUuODUgMTY2NC42MSA2MzIuODkgMTcxMC4yMCA2MDguNzcgMTc1NS4xMwogIFEgNjAyLjU0IDE3NjYuNzQgNjAyLjM3IDE3NjYuOTkKICBDIDU5MC4yNCAxNzg1LjQzIDU1OS41NiAxNzg2LjkyIDU0NC4yNSAxNzcxLjg5CiAgUSA1NDAuODcgMTc2OC41OCA1MzYuNDIgMTc2MC4yNwogIEMgNTExLjQ0IDE3MTMuNjUgNDg3LjU5IDE2NjYuNDQgNDYyLjgzIDE2MTkuNzkKICBaIgovPgo8L3N2Zz4K",
|
|
609
|
+
url: "https://logrocket.com",
|
|
610
|
+
disabled: true
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
category: "Tooling",
|
|
614
|
+
label: "Storybook",
|
|
615
|
+
flag: "storybook",
|
|
616
|
+
llms: "https://storybook.js.org/llms.txt",
|
|
617
|
+
image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY0IDY0Ij48dGl0bGU+aWNvbi1zdG9yeWJvb2stc3F1YXJlPC90aXRsZT48ZGVmcz48cGF0aCBpZD0icGF0aC0xIiBkPSJNMS45NDY0OTk1NSw1Ny4xMzA5NDcyIEwwLjAwMjI1OTczMTE2LDUuOTU0NzY2NjMgQy0wLjA2MTk1MDg4MzMsNC4yNjQ2MTgxNCAxLjI0OTkyMjg4LDIuODMyMjM2OTcgMi45NTg3MTUxOSwyLjcyNjczNDE4IEw0Ny4wMjI2NTM4LDAuMDA2MTc2Mjg0OTEgQzQ4Ljc2MjAwMDUsLTAuMTAxMjEyOTYgNTAuMjYwMTQ1OCwxLjIwNDYyOTggNTAuMzY4ODU1LDIuOTIyODU3NzEgQzUwLjM3Mjk1MDUsMi45ODc1OTM5MSA1MC4zNzUsMy4wNTI0NDA2MyA1MC4zNzUsMy4xMTczMDMxNSBMNTAuMzc1LDU4Ljg4MjgwMjggQzUwLjM3NSw2MC42MDQzODMxIDQ4Ljk2MjIyOTYsNjIgNDcuMjE5NDg5NCw2MiBDNDcuMTcyMjc3Niw2MiA0Ny4xMjUwNzIxLDYxLjk5ODk1MzQgNDcuMDc3OTA4LDYxLjk5Njg2MDYgTDQuOTU4MjA5MDQsNjAuMTI4MDk5NyBDMy4zMTc4MTMzMyw2MC4wNTUzMTg5IDIuMDA4MDgyMDMsNTguNzUxOTE4IDEuOTQ2NDk5NTUsNTcuMTMwOTQ3MiBaIi8+PC9kZWZzPjxnIGlkPSJpY29uLXN0b3J5Ym9vay1zcXVhcmUiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiPjxnIGlkPSJpY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3LjAwMDAwMCwgMS4wMDAwMDApIj48cGF0aCBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNGRjQ3ODUiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTUwLjM2ODg1NSwyLjkyMjg1NzcxIEM1MC4zNzI5NTA1LDIuOTg3NTkzOTEgNTAuMzc1LDMuMDUyNDQwNjMgNTAuMzc1LDMuMTE3MzAzMTUgTDUwLjM3NSw1OC44ODI4MDI4IEM1MC4zNzUsNjAuNjA0MzgzMSA0OC45NjIyMjk2LDYyIDQ3LjIxOTQ4OTQsNjIgQzQ3LjE3MjI3NzYsNjIgNDcuMTI1MDcyMSw2MS45OTg5NTM0IDQ3LjA3NzkwOCw2MS45OTY4NjA2IEw0Ljk1ODIwOTA0LDYwLjEyODA5OTcgQzMuMzE3ODEzMzMsNjAuMDU1MzE4OSAyLjAwODA4MjAzLDU4Ljc1MTkxOCAxLjk0NjQ5OTU1LDU3LjEzMDk0NzIgTDAuMDAyMjU5NzMxMTYsNS45NTQ3NjY2MyBDLTAuMDYxOTUwODgzMyw0LjI2NDYxODE0IDEuMjQ5OTIyODgsMi44MzIyMzY5NyAyLjk1ODcxNTE5LDIuNzI2NzM0MTggTDM3LjQ5OSwwLjU5NCBMMzcuMTk4MTMyNCw3LjYyMDc4NzY2IEMzNy4xOTQ3MjI3LDcuNzAxNzk2NjQgMzcuMjEyODIyNCw3Ljc4MTc4NzMxIDM3LjI0OTk4NjksNy44NTMwNTUyNSBMMzcuMjkzNDE1OCw3LjkyMTEzMDI2IEMzNy40NTA1Mjk2LDguMTI1NzM2MzcgMzcuNzQ1ODAwMiw4LjE2NTc4Mjg4IDM3Ljk1MjkyMDksOC4wMTA1NzY3IEwzNy45NTI5MjA5LDguMDEwNTc2NyBMNDAuNzE1ODE5NSw1Ljk0MDE5Njc4IEw0My4wNDkzOTY1LDcuNzU2MTg1MzcgQzQzLjEzNjgzODgsNy44MjQyMzI3OSA0My4yNDU4NjM0LDcuODU5NDY1ODQgNDMuMzU3MTEwNiw3Ljg1NTYyODEzIEM0My42MTY5MjEzLDcuODQ2NjY1NTMgNDMuODIwMTg0NCw3LjYzMTMzOTEgNDMuODExMTExNSw3LjM3NDY4MzE2IEw0My44MTExMTE1LDcuMzc0NjgzMTYgTDQzLjU1LDAuMjIgTDQ3LjAyMjY1MzgsMC4wMDYxNzYyODQ5MSBDNDguNzYyMDAwNSwtMC4xMDEyMTI5NiA1MC4yNjAxNDU4LDEuMjA0NjI5OCA1MC4zNjg4NTUsMi45MjI4NTc3MSBaIi8+PG1hc2sgaWQ9Im1hc2stMiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjcGF0aC0xIi8+PC9tYXNrPjxwYXRoIGlkPSJTIiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yOC45MzM4Mzc0LDIzLjQ4MTQzMzEgQzI4LjkzMzgzNzQsMjQuNjk0ODAyOCAzNy4xMzAwNTExLDI0LjExMzI2NjQgMzguMjMwMzIwNiwyMy4yNjA5NTc4IEMzOC4yMzAzMjA2LDE0Ljk5ODE5OTUgMzMuNzg0MTc2NCwxMC42NTYyNSAyNS42NDI1MzU5LDEwLjY1NjI1IEMxNy41MDA4OTUyLDEwLjY1NjI1IDEyLjkzOTI2NjgsMTUuMDY1NzU0MiAxMi45MzkyNjY4LDIxLjY4MDAxNCBDMTIuOTM5MjY2OCwzMy4xOTk4NDk5IDI4LjUyOTY0MjQsMzMuNDIwMzI1MSAyOC41Mjk2NDI0LDM5LjcwMzg3MiBDMjguNTI5NjQyNCw0MS40Njc2NzQ1IDI3LjY2MzUxMDUsNDIuNTE0OTMyMyAyNS43NTgwMjAxLDQyLjUxNDkzMjMgQzIzLjI3NTEwODQsNDIuNTE0OTMyMyAyMi4yOTM0OTIyLDQxLjI1MDQ2OTIgMjIuNDA4OTc2NSwzNi45NTEyMDA0IEMyMi40MDg5NzY1LDM2LjAxODUzMDQgMTIuOTM5MjY2OCwzNS43Mjc3NjIxIDEyLjY1MDU1NjEsMzYuOTUxMjAwNCBDMTEuOTE1MzgxMiw0Ny4zNjk4NTkxIDE4LjQyNDc2OTMsNTAuMzc1IDI1Ljg3MzUwNDQsNTAuMzc1IEMzMy4wOTEyNzA5LDUwLjM3NSAzOC43NSw0Ni41Mzg2MDY5IDM4Ljc1LDM5LjU5MzYzNDEgQzM4Ljc1LDI3LjI0NzAxNTkgMjIuOTI4NjU1NiwyNy41Nzc3Mjg5IDIyLjkyODY1NTYsMjEuNDU5NTM4NyBDMjIuOTI4NjU1NiwxOC45NzkxOTEyIDI0Ljc3NjQwMzksMTguNjQ4NDc4MyAyNS44NzM1MDQ0LDE4LjY0ODQ3ODMgQzI3LjAyODM0NywxOC42NDg0NzgzIDI5LjEwNzA2MzgsMTguODUxNDUxMyAyOC45MzM4Mzc0LDIzLjQ4MTQzMzEgWiIgbWFzaz0idXJsKCNtYXNrLTIpIi8+PHBhdGggaWQ9ImJvb2ttYXJrIiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0zNi44MTI5MTY5LDcuMjc0MDYxMDYgTDM3LjEyMTUyMzMsMC4zNjY4MTQ5NzQgTDQzLjMyNjE1MDMsMCBMNDMuNTkzNDUwMyw3LjAzMjIyNjUzIEM0My42MDI3NTMxLDcuMjg0NDI5NDMgNDMuMzk0MzM5OSw3LjQ5NjAxOTkxIDQzLjEyNzk0NjQsNy41MDQ4MjcgQzQzLjAxMzg4MDQsNy41MDg1OTgxMiA0Mi45MDIwOTM1LDcuNDczOTc2MzcgNDIuODEyNDM1Niw3LjQwNzEwOTU5IEw0MC40MTk3MzIzLDUuNjIyNjI4ODEgTDM3LjU4NjgyOTYsNy42NTcwODcxOCBDMzcuMzc0NDYxMSw3LjgwOTYwMDUgMzcuMDcxNzA5Miw3Ljc3MDI0ODggMzYuOTEwNjE0Niw3LjU2OTE5MjY2IEMzNi44NDI4MDE4LDcuNDg0NTU4MDQgMzYuODA4MjU1NSw3LjM4MDE5OSAzNi44MTI5MTY5LDcuMjc0MDYxMDYgWiIgbWFzaz0idXJsKCNtYXNrLTIpIi8+PC9nPjwvZz48L3N2Zz4=",
|
|
618
|
+
url: "https://storybook.js.org",
|
|
619
|
+
tagline: "Build, test & document components",
|
|
620
|
+
repo: "storybookjs/storybook",
|
|
621
|
+
links: [{
|
|
622
|
+
label: "Docs",
|
|
623
|
+
href: "https://storybook.js.org/docs"
|
|
624
|
+
}]
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
category: "AI Agent",
|
|
628
|
+
label: "Claude",
|
|
629
|
+
flag: "claude",
|
|
630
|
+
image: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgc3R5bGU9ImZsZXg6bm9uZTtsaW5lLWhlaWdodDoxIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxZW0iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRpdGxlPkNsYXVkZTwvdGl0bGU+PHBhdGggZD0iTTQuNzA5IDE1Ljk1NWw0LjcyLTIuNjQ3LjA4LS4yMy0uMDgtLjEyOEg5LjJsLS43OS0uMDQ4LTIuNjk4LS4wNzMtMi4zMzktLjA5Ny0yLjI2Ni0uMTIyLS41NzEtLjEyMUwwIDExLjc4NGwuMDU1LS4zNTIuNDgtLjMyMS42ODYuMDYgMS41Mi4xMDMgMi4yNzguMTU4IDEuNjUyLjA5NyAyLjQ0OS4yNTVoLjM4OWwuMDU1LS4xNTctLjEzNC0uMDk4LS4xMDMtLjA5Ny0yLjM1OC0xLjU5Ni0yLjU1Mi0xLjY4OC0xLjMzNi0uOTcyLS43MjQtLjQ5MS0uMzY0LS40NjItLjE1OC0xLjAwOC42NTYtLjcyMi44ODEuMDYuMjI1LjA2MS44OTMuNjg2IDEuOTA4IDEuNDc2IDIuNDkxIDEuODMzLjM2NS4zMDQuMTQ1LS4xMDMuMDE5LS4wNzMtLjE2NC0uMjc0LTEuMzU1LTIuNDQ2LTEuNDQ2LTIuNDktLjY0NC0xLjAzMi0uMTctLjYxOWEyLjk3IDIuOTcgMCAwMS0uMTA0LS43MjlMNi4yODMuMTM0IDYuNjk2IDBsLjk5Ni4xMzQuNDIuMzY0LjYyIDEuNDE0IDEuMDAyIDIuMjI5IDEuNTU1IDMuMDMuNDU2Ljg5OC4yNDMuODMyLjA5MS4yNTVoLjE1OFY5LjAxbC4xMjgtMS43MDYuMjM3LTIuMDk1LjIzLTIuNjk1LjA4LS43Ni4zNzYtLjkxLjc0Ny0uNDkyLjU4NC4yOC40OC42ODUtLjA2Ny40NDQtLjI4NiAxLjg1MS0uNTU5IDIuOTAzLS4zNjQgMS45NDJoLjIxMmwuMjQzLS4yNDIuOTg1LTEuMzA2IDEuNjUyLTIuMDY0LjczLS44Mi44NS0uOTA0LjU0Ny0uNDMxaDEuMDMzbC43NiAxLjEyOS0uMzQgMS4xNjYtMS4wNjQgMS4zNDctLjg4MSAxLjE0Mi0xLjI2NCAxLjctLjc5IDEuMzYuMDczLjExLjE4OC0uMDIgMi44NTYtLjYwNiAxLjU0My0uMjggMS44NDEtLjMxNS44MzMuMzg4LjA5MS4zOTUtLjMyOC44MDctMS45NjkuNDg2LTIuMzA5LjQ2Mi0zLjQzOS44MTMtLjA0Mi4wMy4wNDkuMDYxIDEuNTQ5LjE0Ni42NjIuMDM2aDEuNjIybDMuMDIuMjI1Ljc5LjUyMi40NzQuNjM4LS4wNzkuNDg1LTEuMjE1LjYyLTEuNjQtLjM4OS0zLjgyOS0uOTEtMS4zMTItLjMyOWgtLjE4MnYuMTFsMS4wOTMgMS4wNjggMi4wMDYgMS44MSAyLjUwOSAyLjMzLjEyNy41NzgtLjMyMi40NTUtLjM0LS4wNDktMi4yMDUtMS42NTctLjg1MS0uNzQ3LTEuOTI2LTEuNjJoLS4xMjh2LjE3bC40NDQuNjQ5IDIuMzQ1IDMuNTIxLjEyMiAxLjA4LS4xNy4zNTMtLjYwOC4yMTMtLjY2OC0uMTIyLTEuMzc0LTEuOTI1LTEuNDE1LTIuMTY3LTEuMTQzLTEuOTQzLS4xNC4wOC0uNjc0IDcuMjU0LS4zMTYuMzctLjcyOS4yOC0uNjA3LS40NjEtLjMyMi0uNzQ3LjMyMi0xLjQ3Ni4zODktMS45MjQuMzE1LTEuNTMuMjg2LTEuOS4xNy0uNjMyLS4wMTItLjA0Mi0uMTQuMDE4LTEuNDM0IDEuOTY3LTIuMTggMi45NDUtMS43MjYgMS44NDUtLjQxNC4xNjQtLjcxNy0uMzcuMDY3LS42NjIuNDAxLS41ODkgMi4zODgtMy4wMzYgMS40NC0xLjg4Mi45My0xLjA4Ni0uMDA2LS4xNThoLS4wNTVMNC4xMzIgMTguNTZsLTEuMTMuMTQ2LS40ODctLjQ1Ni4wNjEtLjc0Ni4yMzEtLjI0MyAxLjkwOC0xLjMxMi0uMDA2LjAwNnoiIGZpbGw9IiNEOTc3NTciIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPjwvc3ZnPg==",
|
|
631
|
+
url: "https://claude.com/claude-code",
|
|
632
|
+
tagline: "Anthropic's agentic coding tool in your terminal",
|
|
633
|
+
links: [{
|
|
634
|
+
label: "Skills docs",
|
|
635
|
+
href: "https://code.claude.com/docs/en/skills"
|
|
636
|
+
}]
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
category: "AI Agent",
|
|
640
|
+
label: "Codex",
|
|
641
|
+
flag: "codex",
|
|
642
|
+
image: "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgaGVpZ2h0PSIxZW0iIHN0eWxlPSJmbGV4Om5vbmU7bGluZS1oZWlnaHQ6MSIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMWVtIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxzdHlsZT5wYXRoe2ZpbGw6IzAwMH1AbWVkaWEocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7cGF0aHtmaWxsOiNmZmZ9fTwvc3R5bGU+PHRpdGxlPkNvZGV4PC90aXRsZT48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjA4Ni40NTdhNi4xMDUgNi4xMDUgMCAwMTMuMDQ2LS40MTVjMS4zMzMuMTUzIDIuNTIxLjcyIDMuNTY0IDEuN2EuMTE3LjExNyAwIDAwLjEwNy4wMjljMS40MDgtLjM0NiAyLjc2Mi0uMjI0IDQuMDYxLjM2NmwuMDYzLjAzLjE1NC4wNzZjMS4zNTcuNzAzIDIuMzMgMS43NyAyLjkxOCAzLjE5OC4yNzguNjc5LjQxOCAxLjM4OC40MjEgMi4xMjZhNS42NTUgNS42NTUgMCAwMS0uMTggMS42MzEuMTY3LjE2NyAwIDAwLjA0LjE1NSA1Ljk4MiA1Ljk4MiAwIDAxMS41NzggMi44OTFjLjM4NSAxLjkwMS0uMDEgMy42MTUtMS4xODMgNS4xNGwtLjE4Mi4yMmE2LjA2MyA2LjA2MyAwIDAxLTIuOTM0IDEuODUxLjE2Mi4xNjIgMCAwMC0uMTA4LjEwMmMtLjI1NS43MzYtLjUxMSAxLjM2NC0uOTg3IDEuOTkyLTEuMTk5IDEuNTgyLTIuOTYyIDIuNDYyLTQuOTQ4IDIuNDUxLTEuNTgzLS4wMDgtMi45ODYtLjU4Ny00LjIxLTEuNzM2YS4xNDUuMTQ1IDAgMDAtLjE0LS4wMzJjLS41MTguMTY3LTEuMDQuMTkxLTEuNjA0LjE4NWE1LjkyNCA1LjkyNCAwIDAxLTIuNTk1LS42MjIgNi4wNTggNi4wNTggMCAwMS0yLjE0Ni0xLjc4MWMtLjIwMy0uMjY5LS40MDQtLjUyMi0uNTUxLS44MjFhNy43NCA3Ljc0IDAgMDEtLjQ5NS0xLjI4MyA2LjExIDYuMTEgMCAwMS0uMDE3LTMuMDY0LjE2Ni4xNjYgMCAwMC4wMDgtLjA3NC4xMTUuMTE1IDAgMDAtLjAzNy0uMDY0IDUuOTU4IDUuOTU4IDAgMDEtMS4zOC0yLjIwMiA1LjE5NiA1LjE5NiAwIDAxLS4zMzMtMS41ODkgNi45MTUgNi45MTUgMCAwMS4xODgtMi4xMzJjLjQ1LTEuNDg0IDEuMzA5LTIuNjQ4IDIuNTc3LTMuNDkzLjI4Mi0uMTg4LjU1LS4zMzQuODAyLS40MzguMjg2LS4xMi41NzMtLjIyLjg2MS0uMzA0YS4xMjkuMTI5IDAgMDAuMDg3LS4wODdBNi4wMTYgNi4wMTYgMCAwMTUuNjM1IDIuMzFDNi4zMTUgMS40NjQgNy4xMzIuODQ2IDguMDg2LjQ1N3ptLS44MDQgNy44NWEuODQ4Ljg0OCAwIDAwLTEuNDczLjg0MmwxLjY5NCAyLjk2NS0xLjY4OCAyLjg0OGEuODQ5Ljg0OSAwIDAwMS40Ni44NjRsMS45NC0zLjI3MmEuODQ5Ljg0OSAwIDAwLjAwNy0uODU0bC0xLjk0LTMuMzkzem01LjQ0NiA2LjI0YS44NDkuODQ5IDAgMDAwIDEuNjk1aDQuODQ4YS44NDkuODQ5IDAgMDAwLTEuNjk2aC00Ljg0OHoiPjwvcGF0aD48L3N2Zz4=",
|
|
643
|
+
url: "https://developers.openai.com/codex",
|
|
644
|
+
tagline: "OpenAI's coding agent",
|
|
645
|
+
links: [{
|
|
646
|
+
label: "Skills docs",
|
|
647
|
+
href: "https://developers.openai.com/codex/skills"
|
|
648
|
+
}]
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
category: "AI Agent",
|
|
652
|
+
label: "Gemini",
|
|
653
|
+
flag: "gemini",
|
|
654
|
+
image: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgc3R5bGU9ImZsZXg6bm9uZTtsaW5lLWhlaWdodDoxIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxZW0iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRpdGxlPkdlbWluaTwvdGl0bGU+PHBhdGggZD0iTTIwLjYxNiAxMC44MzVhMTQuMTQ3IDE0LjE0NyAwIDAxLTQuNDUtMy4wMDEgMTQuMTExIDE0LjExMSAwIDAxLTMuNjc4LTYuNDUyLjUwMy41MDMgMCAwMC0uOTc1IDAgMTQuMTM0IDE0LjEzNCAwIDAxLTMuNjc5IDYuNDUyIDE0LjE1NSAxNC4xNTUgMCAwMS00LjQ1IDMuMDAxYy0uNjUuMjgtMS4zMTguNTA1LTIuMDAyLjY3OGEuNTAyLjUwMiAwIDAwMCAuOTc1Yy42ODQuMTcyIDEuMzUuMzk3IDIuMDAyLjY3N2ExNC4xNDcgMTQuMTQ3IDAgMDE0LjQ1IDMuMDAxIDE0LjExMiAxNC4xMTIgMCAwMTMuNjc5IDYuNDUzLjUwMi41MDIgMCAwMC45NzUgMGMuMTcyLS42ODUuMzk3LTEuMzUxLjY3Ny0yLjAwM2ExNC4xNDUgMTQuMTQ1IDAgMDEzLjAwMS00LjQ1IDE0LjExMyAxNC4xMTMgMCAwMTYuNDUzLTMuNjc4LjUwMy41MDMgMCAwMDAtLjk3NSAxMy4yNDUgMTMuMjQ1IDAgMDEtMi4wMDMtLjY3OHoiIGZpbGw9IiMzMTg2RkYiPjwvcGF0aD48cGF0aCBkPSJNMjAuNjE2IDEwLjgzNWExNC4xNDcgMTQuMTQ3IDAgMDEtNC40NS0zLjAwMSAxNC4xMTEgMTQuMTExIDAgMDEtMy42NzgtNi40NTIuNTAzLjUwMyAwIDAwLS45NzUgMCAxNC4xMzQgMTQuMTM0IDAgMDEtMy42NzkgNi40NTIgMTQuMTU1IDE0LjE1NSAwIDAxLTQuNDUgMy4wMDFjLS42NS4yOC0xLjMxOC41MDUtMi4wMDIuNjc4YS41MDIuNTAyIDAgMDAwIC45NzVjLjY4NC4xNzIgMS4zNS4zOTcgMi4wMDIuNjc3YTE0LjE0NyAxNC4xNDcgMCAwMTQuNDUgMy4wMDEgMTQuMTEyIDE0LjExMiAwIDAxMy42NzkgNi40NTMuNTAyLjUwMiAwIDAwLjk3NSAwYy4xNzItLjY4NS4zOTctMS4zNTEuNjc3LTIuMDAzYTE0LjE0NSAxNC4xNDUgMCAwMTMuMDAxLTQuNDUgMTQuMTEzIDE0LjExMyAwIDAxNi40NTMtMy42NzguNTAzLjUwMyAwIDAwMC0uOTc1IDEzLjI0NSAxMy4yNDUgMCAwMS0yLjAwMy0uNjc4eiIgZmlsbD0idXJsKCNsb2JlLWljb25zLWdlbWluaS0wLV9SXzBfKSI+PC9wYXRoPjxwYXRoIGQ9Ik0yMC42MTYgMTAuODM1YTE0LjE0NyAxNC4xNDcgMCAwMS00LjQ1LTMuMDAxIDE0LjExMSAxNC4xMTEgMCAwMS0zLjY3OC02LjQ1Mi41MDMuNTAzIDAgMDAtLjk3NSAwIDE0LjEzNCAxNC4xMzQgMCAwMS0zLjY3OSA2LjQ1MiAxNC4xNTUgMTQuMTU1IDAgMDEtNC40NSAzLjAwMWMtLjY1LjI4LTEuMzE4LjUwNS0yLjAwMi42NzhhLjUwMi41MDIgMCAwMDAgLjk3NWMuNjg0LjE3MiAxLjM1LjM5NyAyLjAwMi42NzdhMTQuMTQ3IDE0LjE0NyAwIDAxNC40NSAzLjAwMSAxNC4xMTIgMTQuMTEyIDAgMDEzLjY3OSA2LjQ1My41MDIuNTAyIDAgMDAuOTc1IDBjLjE3Mi0uNjg1LjM5Ny0xLjM1MS42NzctMi4wMDNhMTQuMTQ1IDE0LjE0NSAwIDAxMy4wMDEtNC40NSAxNC4xMTMgMTQuMTEzIDAgMDE2LjQ1My0zLjY3OC41MDMuNTAzIDAgMDAwLS45NzUgMTMuMjQ1IDEzLjI0NSAwIDAxLTIuMDAzLS42Nzh6IiBmaWxsPSJ1cmwoI2xvYmUtaWNvbnMtZ2VtaW5pLTEtX1JfMF8pIj48L3BhdGg+PHBhdGggZD0iTTIwLjYxNiAxMC44MzVhMTQuMTQ3IDE0LjE0NyAwIDAxLTQuNDUtMy4wMDEgMTQuMTExIDE0LjExMSAwIDAxLTMuNjc4LTYuNDUyLjUwMy41MDMgMCAwMC0uOTc1IDAgMTQuMTM0IDE0LjEzNCAwIDAxLTMuNjc5IDYuNDUyIDE0LjE1NSAxNC4xNTUgMCAwMS00LjQ1IDMuMDAxYy0uNjUuMjgtMS4zMTguNTA1LTIuMDAyLjY3OGEuNTAyLjUwMiAwIDAwMCAuOTc1Yy42ODQuMTcyIDEuMzUuMzk3IDIuMDAyLjY3N2ExNC4xNDcgMTQuMTQ3IDAgMDE0LjQ1IDMuMDAxIDE0LjExMiAxNC4xMTIgMCAwMTMuNjc5IDYuNDUzLjUwMi41MDIgMCAwMC45NzUgMGMuMTcyLS42ODUuMzk3LTEuMzUxLjY3Ny0yLjAwM2ExNC4xNDUgMTQuMTQ1IDAgMDEzLjAwMS00LjQ1IDE0LjExMyAxNC4xMTMgMCAwMTYuNDUzLTMuNjc4LjUwMy41MDMgMCAwMDAtLjk3NSAxMy4yNDUgMTMuMjQ1IDAgMDEtMi4wMDMtLjY3OHoiIGZpbGw9InVybCgjbG9iZS1pY29ucy1nZW1pbmktMi1fUl8wXykiPjwvcGF0aD48ZGVmcz48bGluZWFyR3JhZGllbnQgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJsb2JlLWljb25zLWdlbWluaS0wLV9SXzBfIiB4MT0iNyIgeDI9IjExIiB5MT0iMTUuNSIgeTI9IjEyIj48c3RvcCBzdG9wLWNvbG9yPSIjMDhCOTYyIj48L3N0b3A+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDhCOTYyIiBzdG9wLW9wYWNpdHk9IjAiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImxvYmUtaWNvbnMtZ2VtaW5pLTEtX1JfMF8iIHgxPSI4IiB4Mj0iMTEuNSIgeTE9IjUuNSIgeTI9IjExIj48c3RvcCBzdG9wLWNvbG9yPSIjRjk0NTQzIj48L3N0b3A+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRjk0NTQzIiBzdG9wLW9wYWNpdHk9IjAiPjwvc3RvcD48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImxvYmUtaWNvbnMtZ2VtaW5pLTItX1JfMF8iIHgxPSIzLjUiIHgyPSIxNy41IiB5MT0iMTMuNSIgeTI9IjEyIj48c3RvcCBzdG9wLWNvbG9yPSIjRkFCQzEyIj48L3N0b3A+PHN0b3Agb2Zmc2V0PSIuNDYiIHN0b3AtY29sb3I9IiNGQUJDMTIiIHN0b3Atb3BhY2l0eT0iMCI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjwvc3ZnPg==",
|
|
655
|
+
url: "https://github.com/google-gemini/gemini-cli",
|
|
656
|
+
tagline: "Google's open-source AI agent for the terminal",
|
|
657
|
+
links: [{
|
|
658
|
+
label: "Repo",
|
|
659
|
+
href: "https://github.com/google-gemini/gemini-cli"
|
|
660
|
+
}]
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
category: "AI Agent",
|
|
664
|
+
label: "Cursor",
|
|
665
|
+
flag: "cursor",
|
|
666
|
+
image: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48c3R5bGU+cGF0aHtmaWxsOiMwMDB9QG1lZGlhKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspe3BhdGh7ZmlsbDojZmZmfX08L3N0eWxlPjx0aXRsZT5DdXJzb3I8L3RpdGxlPjxwYXRoIGQ9Ik0xMS41MDMuMTMxIDEuODkxIDUuNjc4YS44NC44NCAwIDAgMC0uNDIuNzI2djExLjE4OGMwIC4zLjE2Mi41NzUuNDIuNzI0bDkuNjA5IDUuNTVhMSAxIDAgMCAwIC45OTggMGw5LjYxLTUuNTVhLjg0Ljg0IDAgMCAwIC40Mi0uNzI0VjYuNDA0YS44NC44NCAwIDAgMC0uNDItLjcyNkwxMi40OTcuMTMxYTEuMDEgMS4wMSAwIDAgMC0uOTk2IDBNMi42NTcgNi4zMzhoMTguNTVjLjI2MyAwIC40My4yODcuMjk3LjUxNUwxMi4yMyAyMi45MThjLS4wNjIuMTA3LS4yMjkuMDY0LS4yMjktLjA2VjEyLjMzNWEuNTkuNTkgMCAwIDAtLjI5NS0uNTFsLTkuMTEtNS4yNTdjLS4xMDktLjA2My0uMDY0LS4yMy4wNjEtLjIzIi8+PC9zdmc+",
|
|
667
|
+
url: "https://cursor.com",
|
|
668
|
+
tagline: "The AI code editor",
|
|
669
|
+
links: [{
|
|
670
|
+
label: "Skills docs",
|
|
671
|
+
href: "https://cursor.com/docs/skills"
|
|
672
|
+
}]
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
category: "AI Agent",
|
|
676
|
+
label: "Copilot",
|
|
677
|
+
flag: "copilot",
|
|
678
|
+
image: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48c3R5bGU+cGF0aHtmaWxsOiMwMDB9QG1lZGlhKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspe3BhdGh7ZmlsbDojZmZmfX08L3N0eWxlPjx0aXRsZT5HaXRIdWIgQ29waWxvdDwvdGl0bGU+PHBhdGggZD0iTTIzLjkyMiAxNi45OTdDMjMuMDYxIDE4LjQ5MiAxOC4wNjMgMjIuMDIgMTIgMjIuMDIgNS45MzcgMjIuMDIuOTM5IDE4LjQ5Mi4wNzggMTYuOTk3QS42NDEuNjQxIDAgMCAxIDAgMTYuNzQxdi0yLjg2OWEuODgzLjg4MyAwIDAgMSAuMDUzLS4yMmMuMzcyLS45MzUgMS4zNDctMi4yOTIgMi42MDUtMi42NTYuMTY3LS40MjkuNDE0LTEuMDU1LjY0NC0xLjUxN2ExMC4wOTggMTAuMDk4IDAgMCAxLS4wNTItMS4wODZjMC0xLjMzMS4yODItMi40OTkgMS4xMzItMy4zNjguMzk3LS40MDYuODktLjcxNyAxLjQ3NC0uOTUyQzcuMjU1IDIuOTM3IDkuMjQ4IDEuOTggMTEuOTc4IDEuOThjMi43MzEgMCA0Ljc2Ny45NTcgNi4xNjYgMi4wOTMuNTg0LjIzNSAxLjA3Ny41NDYgMS40NzQuOTUyLjg1Ljg2OSAxLjEzMiAyLjAzNyAxLjEzMiAzLjM2OCAwIC4zNjgtLjAxNC43MzMtLjA1MiAxLjA4Ni4yMy40NjIuNDc3IDEuMDg4LjY0NCAxLjUxNyAxLjI1OC4zNjQgMi4yMzMgMS43MjEgMi42MDUgMi42NTZhLjg0MS44NDEgMCAwIDEgLjA1My4yMnYyLjg2OWEuNjQxLjY0MSAwIDAgMS0uMDc4LjI1NlptLTExLjc1LTUuOTkyaC0uMzQ0YTQuMzU5IDQuMzU5IDAgMCAxLS4zNTUuNTA4Yy0uNzcuOTQ3LTEuOTE4IDEuNDkyLTMuNTA4IDEuNDkyLTEuNzI1IDAtMi45ODktLjM1OS0zLjc4Mi0xLjI1OWEyLjEzNyAyLjEzNyAwIDAgMS0uMDg1LS4xMDRMNCAxMS43NDZ2Ni41ODVjMS40MzUuNzc5IDQuNTE0IDIuMTc5IDggMi4xNzkgMy40ODYgMCA2LjU2NS0xLjQgOC0yLjE3OXYtNi41ODVsLS4wOTgtLjEwNHMtLjAzMy4wNDUtLjA4NS4xMDRjLS43OTMuOS0yLjA1NyAxLjI1OS0zLjc4MiAxLjI1OS0xLjU5IDAtMi43MzgtLjU0NS0zLjUwOC0xLjQ5MmE0LjM1OSA0LjM1OSAwIDAgMS0uMzU1LS41MDhabTIuMzI4IDMuMjVjLjU0OSAwIDEgLjQ1MSAxIDF2MmMwIC41NDktLjQ1MSAxLTEgMS0uNTQ5IDAtMS0uNDUxLTEtMXYtMmMwLS41NDkuNDUxLTEgMS0xWm0tNSAwYy41NDkgMCAxIC40NTEgMSAxdjJjMCAuNTQ5LS40NTEgMS0xIDEtLjU0OSAwLTEtLjQ1MS0xLTF2LTJjMC0uNTQ5LjQ1MS0xIDEtMVptMy4zMTMtNi4xODVjLjEzNiAxLjA1Ny40MDMgMS45MTMuODc4IDIuNDk3LjQ0Mi41NDQgMS4xMzQuOTM4IDIuMzQ0LjkzOCAxLjU3MyAwIDIuMjkyLS4zMzcgMi42NTctLjc1MS4zODQtLjQzNS41NTgtMS4xNS41NTgtMi4zNjEgMC0xLjE0LS4yNDMtMS44NDctLjcwNS0yLjMxOS0uNDc3LS40ODgtMS4zMTktLjg2Mi0yLjgyNC0xLjAyNS0xLjQ4Ny0uMTYxLTIuMTkyLjEzOC0yLjUzMy41MjktLjI2OS4zMDctLjQzNy44MDgtLjQzOCAxLjU3OHYuMDIxYzAgLjI2NS4wMjEuNTYyLjA2My44OTNabS0xLjYyNiAwYy4wNDItLjMzMS4wNjMtLjYyOC4wNjMtLjg5NHYtLjAyYy0uMDAxLS43Ny0uMTY5LTEuMjcxLS40MzgtMS41NzgtLjM0MS0uMzkxLTEuMDQ2LS42OS0yLjUzMy0uNTI5LTEuNTA1LjE2My0yLjM0Ny41MzctMi44MjQgMS4wMjUtLjQ2Mi40NzItLjcwNSAxLjE3OS0uNzA1IDIuMzE5IDAgMS4yMTEuMTc1IDEuOTI2LjU1OCAyLjM2MS4zNjUuNDE0IDEuMDg0Ljc1MSAyLjY1Ny43NTEgMS4yMSAwIDEuOTAyLS4zOTQgMi4zNDQtLjkzOC40NzUtLjU4NC43NDItMS40NC44NzgtMi40OTdaIi8+PC9zdmc+",
|
|
679
|
+
url: "https://github.com/features/copilot",
|
|
680
|
+
tagline: "AI pair programmer",
|
|
681
|
+
links: [{
|
|
682
|
+
label: "Agent skills",
|
|
683
|
+
href: "https://docs.github.com/en/copilot/concepts/agents/about-agent-skills"
|
|
684
|
+
}]
|
|
685
|
+
}
|
|
686
|
+
];
|
|
687
|
+
features.map((f) => f.flag);
|
|
688
|
+
features.filter((f) => !f.invisibleCli).map((f) => f.flag);
|
|
689
|
+
//#endregion
|
|
690
|
+
export { features };
|