Choose Language Pack
Pick a language pack by product goal.
Skill metadata
| Source | Bundled (installed by default) |
| Path | skills/software-development/choose-language-pack |
| Version | 1.2.0 |
| Author | VibeOS |
| License | MIT |
| Platforms | linux, macos, windows |
Reference: full SKILL.md
к сведению
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)
- Если репозиторий уже существует — не угадывай язык «с нуля».
Смотри manifests и
vibeos language doctor/ auto-detect. Пример: естьgo.mod→lang-go; естьnuxt.config.ts→lang-vue. - Если проект новый — спроси цель одной фразой (сайт / API / мобилка / инфра / Web3 / данные).
Быстрый ранг:
vibeos language recommend "<цель>"(то же, что Desktop Settings → Recommend). Если пользователь молчит — выбери самый безопасный default из таблицы ниже и объясни почему. - Примени pack:
vibeos pack apply lang-<id> --apply. - Дальше работай по skill
lang-<id>(тесты, lint, index).
Quick map — «хочу сделать X» → pack
| Цель (простыми словами) | Бери pack | Почему |
|---|---|---|
| Сайт / веб-приложение с UI | typescript + (vue | svelte | astro) | Язык веба + UI-фреймворк |
| Контентный лендинг / блог / доки | astro (+ typescript) | Мало JS, быстро, SEO |
| Админка / SPA | vue или svelte (+ typescript) | Компонентный UI |
| JSON API / микросервис | go или typescript или python | Простота + скорость разработки |
| API + данные / ИИ | python | Лучшая экосистема ML/данных |
| Мобилка iOS+Android одним кодом | dart (Flutter) | Один UI на две ОС |
| Только iOS/macOS | swift | Натив Apple |
| Только Android | kotlin | Натив Android |
| Корпоративный JVM бэкенд | java или kotlin | Spring / enterprise |
| .NET / Unity / Windows-friendly API | csharp | Экосистема Microsoft |
| Функциональный .NET | fsharp | F# на той же CLR |
| Классический серверный сайт | php (Laravel) или ruby (Rails) | Быстрый CRUD/SaaS |
| Realtime чат / presence | elixir (или gleam) | BEAM создан для этого |
| Облачная инфраструктура | terraform | Infra as code |
| Схема БД в TS-проекте | prisma | ORM + миграции |
| Смарт-контракты / Web3 | solidity | EVM |
| Статистика / отчёты | r | Стат. экосистема |
| Научные вычисления | julia (или python) | Численные задачи |
| Системный код / скорость / safety | rust или zig или cpp | Низкий уровень |
| Одинаковые окружения у всех | nix | Reproducible shells |
| Скрипты внутри игры/Neovim | lua | Встраиваемый язык |
| Unix CI / install / bootstrap | bash | Shellcheck + bats |
| Windows / Azure автоматизация | powershell | pwsh + Pester |
| Контейнеры / Compose | docker | Упаковать и запустить приложение |
| Kubernetes / Helm / CI YAML | yaml | Манифесты и yamllint |
| Настройка серверов playbooks | ansible | Идемпотентная автоматизация |
| TypeScript runtime без npm | deno | deno.json + встроенные тесты |
| Реляционная БД / миграции | sql (+ опционально prisma) | Схемы и запросы |
| Гибкий API schema для SPA/mobile | graphql | schema-first API |
| Контракты микросервисов | protobuf | gRPC / buf |
| Контракт HTTP REST API (Swagger) | openapi | openapi.yaml + codegen |
| Максимально надёжный SPA UI | elm | Compiler-driven frontend |
| Классический BEAM / OTP | erlang | рядом с Elixir/Gleam |
| Ruby-like + нативная скорость | crystal | shards / Kemal |
| 2D/3D игра (Godot) | godot | GDScript + сцены |
| Компиляторы / DSL / строгие типы | ocaml или haskell | Типобезопасные инструменты |
| Функциональный строгий код | haskell / clojure / scala / fsharp | По стилю команды |
Defaults when the user is unsure
- Интернет-продукт с UI → TypeScript + Astro (контент) или Vue/Svelte (приложение) + Prisma, если нужна БД.
- Только API → Go (простой бинарник) или Python (если будут данные/ИИ).
- Мобилка → Dart/Flutter, если нужны обе платформы; иначе Swift или Kotlin.
- Уже есть репозиторий → 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
| Goal | Command |
|---|---|
| Recommend | vibeos language recommend "<goal>" |
| List packs | vibeos language list |
| Show one | vibeos language show <id> |
| Apply | vibeos pack apply lang-<id> --apply |
| Doctor | vibeos language doctor [id] |
| Per-language skill | skills/software-development/lang-<id> |
Procedure
- Classify the ask: web UI / API / mobile / infra / data / Web3 / systems / scripts.
- Prefer
vibeos language recommendfor a ranked shortlist, then confirm with the table. - Pick one primary language pack (+ optional UI/ORM/infra packs).
- Explain the choice in plain language (2–4 sentences).
- Apply packs and continue with the matching
lang-*skill. - 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