Skip to main content

Choose Language Pack

Pick a language pack by product goal.

Skill metadata​

SourceBundled (installed by default)
Pathskills/software-development/choose-language-pack
Version1.2.0
AuthorVibeOS
LicenseMIT
Platformslinux, macos, windows

Reference: full SKILL.md​

info

The following is the complete skill definition that VibeOS loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.

Choose Language Pack Skill

Помогает агенту и новичку выбрать язык (language pack) под задачу. Не добавляет новых model tools: только решение + vibeos pack apply lang-<id> --apply.

When to Use​

  • Пользователь спрашивает «на чём писать?» / «какой язык взять?»
  • Нужно начать новый интернет-проект, приложение или сервис
  • В репозитории ещё нет явного стека, или стеков несколько и нужен выбор
  • Перед lang-* skill — сначала выбрать pack id

Prerequisites​

vibeos language list
vibeos pack apply project-intelligence --apply

How to choose (algorithm for the agent)​

  1. Если репозиторий уже существует — не угадывай язык «с нуля». Смотри manifests и vibeos language doctor / auto-detect. Пример: есть go.mod → lang-go; есть nuxt.config.ts → lang-vue.
  2. Если проект новый — спроси цель одной фразой (сайт / API / мобилка / инфра / Web3 / данные). Быстрый ранг: vibeos language recommend "<цель>" (то же, что Desktop Settings → Recommend). Если пользователь молчит — выбери самый безопасный default из таблицы ниже и объясни почему.
  3. Примени pack: vibeos pack apply lang-<id> --apply.
  4. Дальше работай по skill lang-<id> (тесты, lint, index).

Quick map — «хочу сделать X» → pack​

Цель (простыми словами)Бери packПочему
Сайт / веб-приложение с UItypescript + (vue | svelte | astro)Язык веба + UI-фреймворк
Контентный лендинг / блог / докиastro (+ typescript)Мало JS, быстро, SEO
Админка / SPAvue или svelte (+ typescript)Компонентный UI
JSON API / микросервисgo или typescript или pythonПростота + скорость разработки
API + данные / ИИpythonЛучшая экосистема ML/данных
Мобилка iOS+Android одним кодомdart (Flutter)Один UI на две ОС
Только iOS/macOSswiftНатив Apple
Только AndroidkotlinНатив Android
Корпоративный JVM бэкендjava или kotlinSpring / enterprise
.NET / Unity / Windows-friendly APIcsharpЭкосистема Microsoft
Функциональный .NETfsharpF# на той же CLR
Классический серверный сайтphp (Laravel) или ruby (Rails)Быстрый CRUD/SaaS
Realtime чат / presenceelixir (или gleam)BEAM создан для этого
Облачная инфраструктураterraformInfra as code
Схема БД в TS-проектеprismaORM + миграции
Смарт-контракты / Web3solidityEVM
Статистика / отчётыrСтат. экосистема
Научные вычисленияjulia (или python)Численные задачи
Системный код / скорость / safetyrust или zig или cppНизкий уровень
Одинаковые окружения у всехnixReproducible shells
Скрипты внутри игры/NeovimluaВстраиваемый язык
Unix CI / install / bootstrapbashShellcheck + bats
Windows / Azure автоматизацияpowershellpwsh + Pester
Контейнеры / ComposedockerУпаковать и запустить приложение
Kubernetes / Helm / CI YAMLyamlМанифесты и yamllint
Настройка серверов playbooksansibleИдемпотентная автоматизация
TypeScript runtime без npmdenodeno.json + встроенные тесты
Реляционная БД / миграцииsql (+ опционально prisma)Схемы и запросы
Гибкий API schema для SPA/mobilegraphqlschema-first API
Контракты микросервисовprotobufgRPC / buf
Контракт HTTP REST API (Swagger)openapiopenapi.yaml + codegen
Максимально надёжный SPA UIelmCompiler-driven frontend
Классический BEAM / OTPerlangрядом с Elixir/Gleam
Ruby-like + нативная скоростьcrystalshards / Kemal
2D/3D игра (Godot)godotGDScript + сцены
Компиляторы / DSL / строгие типыocaml или haskellТипобезопасные инструменты
Функциональный строгий кодhaskell / clojure / scala / fsharpПо стилю команды

Defaults when the user is unsure​

  1. Интернет-продукт с UI → TypeScript + Astro (контент) или Vue/Svelte (приложение) + Prisma, если нужна БД.
  2. Только API → Go (простой бинарник) или Python (если будут данные/ИИ).
  3. Мобилка → Dart/Flutter, если нужны обе платформы; иначе Swift или Kotlin.
  4. Уже есть репозиторий → pack по manifests, не переписывай стек без просьбы.

How to Run​

vibeos language recommend "сайт с админкой"
vibeos language list
vibeos pack apply lang-typescript --apply # example
vibeos pack apply lang-vue --apply # if Nuxt/Vue UI
vibeos pack apply lang-prisma --apply # if Node DB
vibeos language doctor

Quick Reference​

GoalCommand
Recommendvibeos language recommend "<goal>"
List packsvibeos language list
Show onevibeos language show <id>
Applyvibeos pack apply lang-<id> --apply
Doctorvibeos language doctor [id]
Per-language skillskills/software-development/lang-<id>

Procedure​

  1. Classify the ask: web UI / API / mobile / infra / data / Web3 / systems / scripts.
  2. Prefer vibeos language recommend for a ranked shortlist, then confirm with the table.
  3. Pick one primary language pack (+ optional UI/ORM/infra packs).
  4. Explain the choice in plain language (2–4 sentences).
  5. Apply packs and continue with the matching lang-* skill.
  6. Do not add core tools; use terminal, read_file, project index.

Pitfalls​

  • Не навязывай модный язык поверх существующего репозитория.
  • Не путай UI locale (язык интерфейса EN/RU) с programming language packs.
  • Solidity: никогда не шл mainnet-транзакции без явного «да» пользователя.
  • Terraform: plan/validate по умолчанию; apply только по просьбе.
  • Для веба обычно нужно несколько packs сразу (например typescript + vue + prisma).
  • Bash vs PowerShell: выбирай по целевой ОС runner'а, не «по вкусу».

Verification​

vibeos language recommend "api microservice"
vibeos language list
vibeos language doctor