Skip to content

Список поддерживаемых фреймворков ​

Чему вы научитесь ​

  • Познакомитесь с полным списком фреймворков, поддерживаемых функцией Vercel Deploy Agent Skills (45+ типов)
  • Понимайте принцип работы обнаружения фреймворков
  • Определите, поддерживается ли ваш проект для развертывания одним кликом
  • Просмотрите правила приоритета обнаружения фреймворков

Текущие проблемы ​

Вы хотите использовать функцию развертывания одним кликом Agent Skills, но не уверены, поддерживается ли фреймворк вашего проекта, или хотите понять, как работает логика обнаружения.

Основная идея ​

Функция Vercel Deploy Agent Skills сканирует файл package.json проекта, проверяя dependencies и devDependencies, последовательно обнаруживая предопределенные имена пакетов характеристик фреймворка для определения используемого фреймворка проекта.

Обнаружение по порядку приоритета: от наиболее конкретного фреймворка к наиболее общему, чтобы избежать ложных срабатываний. Например:

  1. Обнаружение next → соответствует Next.js
  2. Даже если одновременно есть react, приоритетно распознается как Next.js

Диапазон обнаружения

Обнаружение одновременно проверяет dependencies и devDependencies, поэтому даже если фреймворк установлен только как зависимость для разработки, он будет распознан.

Полный список фреймворков ​

Экосистема React ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
Next.jsnextnextjs
Gatsbygatsbygatsby
Remix@remix-run/remix
React Router@react-router/react-router
Blitzblitzblitzjs
Create React Appreact-scriptscreate-react-app
Ionic React@ionic/reactionic-react
Preactpreactpreact

Экосистема Vue ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
Nuxtnuxtnuxtjs
VitePressvitepressvitepress
VuePressvuepressvuepress
Gridsomegridsomegridsome

Экосистема Svelte ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
SvelteKit@sveltejs/kitsveltekit-1
Sveltesveltesvelte
Sapper (legacy)sappersapper

Angular ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
Angular@angular/coreangular
Ionic Angular@ionic/angularionic-angular

Генераторы статических сайтов ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
Astroastroastro
Docusaurus@docusaurus/coredocusaurus-2
Hexohexohexo
Eleventy@11ty/eleventyeleventy
RedwoodJS@redwoodjs/redwoodjs

Фреймворки Node.js Backend ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
Expressexpressexpress
NestJS@nestjs/corenestjs
Honohonohono
Fastifyfastifyfastify
Elysiaelysiaelysia
h3h3h3
Nitronitropacknitro

Другие фреймворки ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
SolidStart@solidjs/startsolidstart-1
Emberember-cli, ember-sourceember
Dojo@dojo/frameworkdojo
Polymer@polymer/polymer
Stencil@stencil/corestencil
UmiJSumiumijs
Sabersabersaber
Sanitysanity, @sanity/sanity или sanity-v3
Storybook@storybook/storybook
Hydrogen (Shopify)@shopify/hydrogenhydrogen
TanStack Start@tanstack/starttanstack-start

Инструменты сборки ​

ФреймворкОбнаружение зависимостейВозвращаемое значение
Vitevitevite
Parcelparcelparcel

Статические HTML-проекты ​

Если ваш проект не имеет package.json (чистый статический веб-сайт), обнаружение фреймворка вернет null.

Скрипт развертывания интеллектуально обработает:

  • Автоматическое обнаружение файлов .html в корневом каталоге
  • Если есть только один файл .html и он не index.html, он будет автоматически переименован в index.html
  • Прямое развертывание как статического сайта на Vercel

Пример сценария:

bash
my-static-site/
└── demo.html  # будет автоматически переименован в index.html

Принципы обнаружения фреймворков ​

Процесс обнаружения ​

Чтение package.json
    ↓
Сканирование dependencies и devDependencies
    ↓
Сопоставление предопределенных имен пакетов по порядку приоритета
    ↓
Найдено первое сопоставление → возврат соответствующего идентификатора фреймворка
    ↓
Сопоставление не найдено → возврат null (статический HTML-проект)

Порядок обнаружения ​

Обнаружение сортируется по специфичности фреймворка, с приоритетным сопоставлением более конкретных фреймворков:

bash
# Пример: проект Next.js
dependencies:
  next: ^14.0.0        # сопоставление → nextjs
  react: ^18.0.0       # пропускается (уже есть более высокоприоритетное сопоставление)
  react-dom: ^18.0.0

Частичный порядок обнаружения:

  1. Next.js, Gatsby, Remix, Blitz (конкретные фреймворки)
  2. SvelteKit, Nuxt, Astro (мета-фреймворки)
  3. React, Vue, Svelte (базовые библиотеки)
  4. Vite, Parcel (общие инструменты сборки)

Правила обнаружения ​

  • Одновременная проверка dependencies и devDependencies
  • Последовательное сопоставление, возврат при нахождении первого
  • Сопоставление имен пакетов: точное сопоставление или сопоставление префикса
    • Точное сопоставление: "next" → Next.js
    • Сопоставление префикса: "@remix-run/" → Remix
bash
# Логика обнаружения shell (упрощенная версия)
has_dep() {
    echo "$content" | grep -q "\"$1\""
}

if has_dep "next"; then
    echo "nextjs"
fi

Как проверить фреймворк вашего проекта ​

Метод 1: Просмотр package.json ​

Откройте package.json проекта, найдите имена пакетов в списке выше в dependencies или devDependencies.

json
{
  "dependencies": {
    "next": "^14.0.0",  ← Next.js
    "react": "^18.0.0"
  }
}

Метод 2: Попробуйте развертывание ​

Используйте напрямую функцию Vercel Deploy:

Deploy my app to Vercel

Claude выведет обнаруженный фреймворк:

Detected framework: nextjs

Метод 3: Ручной запуск скрипта обнаружения ​

Если вы хотите протестировать заранее, можно запустить:

bash
bash skills/claude.ai/vercel-deploy-claimable/scripts/deploy.sh

Выведет обнаруженную информацию о фреймворке (stderr).

На что обратить внимание ​

Проблема 1: Неточное обнаружение фреймворка ​

Симптом:

Detected framework: vite
# но вы ожидаете nextjs

Причина: обнаружение по порядку приоритета, обнаружение Vite после Next.js, но если в проекте одновременно есть vite и next, может сопоставиться с Vite.

Влияние: обычно не влияет на развертывание, Vercel автоматически определит конфигурацию сборки.

Решение:

  • Проверьте зависимости в package.json
  • Если не влияет на развертывание, можно игнорировать
  • Развертывание все равно будет работать нормально, просто использует другую конфигурацию

Проблема 2: Проекта нет в списке ​

Симптом: фреймворк вашего проекта отсутствует в списке выше.

Возможные причины:

  • Это очень новый или нишевый фреймворк
  • Фреймворк использует другое имя пакета
  • Скрипт развертывания еще не добавил поддержку

Решение:

  1. Проверьте, использует ли ваш проект Vite или Parcel и другие общие инструменты сборки
  2. Попробуйте развертывание, Vercel может автоматически распознать
  3. Если это статический HTML-проект, просто разверните
  4. Отправьте PR в agent-skills для добавления поддержки фреймворка

Проблема 3: Мульти-фреймворковый проект ​

Симптом: проект одновременно использует несколько фреймворков (например, Remix + Storybook).

Поведение обнаружения: возвращает первый сопоставленный фреймворк по приоритету.

Влияние: обычно не влияет на развертывание, основной фреймворк будет правильно распознан.

Распространенные вопросы ​

Q: Мой фреймворк не в списке, можно ли развернуть? ​

A: Можно попробовать. Если проект использует Vite или Parcel и другие общие инструменты сборки, они могут быть распознаны как эти инструменты. Vercel также попытается автоматически определить конфигурацию сборки.

Q: Влияет ли ошибка обнаружения на развертывание? ​

A: Обычно нет. У Vercel есть мощный механизм автоматического обнаружения, даже если идентификатор фреймворка неточен, нормальная сборка и развертывание возможны.

Q: Как добавить поддержку нового фреймворка? ​

A: Измените функцию detect_framework() в deploy.sh, добавьте новые правила обнаружения, затем отправьте PR в agent-skills.

Q: Нужен ли package.json для статического HTML-проекта? ​

A: Нет. Чистые статические HTML-проекты (без сборки JavaScript) можно развернуть напрямую, скрипт автоматически обработает.

Итоги урока ​

Функция Vercel Deploy Agent Skills поддерживает 45+ фреймворков, охватывающих основные технологии фронтенда:

Основная ценность:

  • ✅ Широкая поддержка фреймворков, полное покрытие React/Vue/Svelte/Angular
  • ✅ Интеллектуальное обнаружение фреймворков, автоматическое определение типа проекта
  • ✅ Поддержка статических HTML-проектов, развертывание без зависимостей
  • ✅ Открытый исходный код, возможность расширения и добавления новых фреймворков

Принципы обнаружения:

  • Сканирование dependencies и devDependencies в package.json
  • Сопоставление предопределенных имен пакетов характеристик фреймворков по приоритету
  • Возврат соответствующего идентификатора фреймворка для использования Vercel

Дальнейшие действия: Просмотрите Учебник по развертыванию в Vercel одним кликом чтобы узнать, как использовать эту функцию.

Приложение: Справочник по исходному коду ​

Нажмите, чтобы раскрыть расположение исходного кода

Обновлено: 2026-01-25

ФункцияПуть к файлуСтроки
Логика обнаружения фреймворкаskills/claude.ai/vercel-deploy-claimable/scripts/deploy.sh11-156
Точка входа скрипта развертыванияdeploy.sh1-250
Обработка статического HTMLdeploy.sh192-205

Ключевые функции:

  • detect_framework(): обнаружение 45+ фреймворков из package.json (строки 11-156)
  • has_dep(): проверка существования зависимости (строки 23-25)

Порядок обнаружения фреймворков (частично):

  1. Blitz (blitzjs)
  2. Next.js (nextjs)
  3. Gatsby (gatsby)
  4. Remix (remix)
  5. React Router (react-router)
  6. TanStack Start (tanstack-start)
  7. Astro (astro)
  8. Hydrogen (hydrogen)
  9. SvelteKit (sveltekit-1)
  10. Svelte (svelte) ... (полный список см. строки 11-156)

Примеры возвращаемых значений:

  • Next.js: nextjs
  • Nuxt: nuxtjs
  • Статический HTML: null