# 401-frameworks-quarkus-core

Скилл для ревью и правки ядра Quarkus: CDI-бины, профили, интерцепторы, виртуальные потоки. Пригодится, когда проект на Java уже собирается и пора навести порядок в конфигурации.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 321 установка · ★ 456
- Автор: Juan Antonio Breña Moral
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/jabrena/plinth/tree/HEAD/skills/401-frameworks-quarkus-core/SKILL.md
- Обновлён: 2026-10-21
- HTML: https://affpapa.org/nevibecode/skills/401-frameworks-quarkus-core

## Что делает

Скилл разбирает ядро Quarkus по пунктам: области CDI (`@ApplicationScoped`, `@Singleton`, `@Dependent`), разметка бинов через `@Default`, `@Alternative` и `@Named`, внедрение через конструктор с `@Inject`. Отдельно идут интерцепторы с `@InterceptorBinding`, события `@Observes` и `@ObservesAsync`, программное внедрение `Instance<T>` для выбора бина в рантайме.

Конфигурация — вторая половина работы. `@ConfigMapping` со структурой и валидацией через `@Valid`, свойства по профилям (`%dev`, `%test`, `%prod`), `@IfBuildProfile`, наблюдатели старта и остановки (`@Startup`, `@PreDestroy`). Есть раздел про виртуальные потоки с `@RunOnVirtualThread` и про безопасность нативной сборки: `@RegisterForReflection`, `@DisabledOnNativeImage`.

Перед любыми правками скилл требует, чтобы проект компилировался: сначала `./mvnw compile` или `mvn compile`, и если сборка падает, работа останавливается до того, как ошибку починит человек. После изменений — `./mvnw clean verify`. Это значит, что на сломанной ветке скилл просто не начнёт править код, и это скорее плюс.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/401-frameworks-quarkus-core/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/401-frameworks-quarkus-core/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/401-frameworks-quarkus-core/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/401-frameworks-quarkus-core/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install jabrena/plinth 401-frameworks-quarkus-core
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/401-frameworks-quarkus-core/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/jabrena/plinth --path skills/401-frameworks-quarkus-core
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/401-frameworks-quarkus-core/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/jabrena/plinth/tree/HEAD/skills/401-frameworks-quarkus-core/SKILL.md

## Когда брать
- разложить бины по областям CDI и убрать неоднозначность внедрения
- перевести настройки на `@ConfigMapping` с валидацией значений
- развести свойства по профилям dev, test и prod
- добавить интерцептор для сквозной логики вместо копий в каждом методе
- включить виртуальные потоки для блокирующих вызовов

## Примеры запросов агенту
- проверь структуру приложения Quarkus и области CDI в этом модуле
- перепиши конфигурацию на `@ConfigMapping` и проверь её через `@Valid`
- добавь интерцептор для логирования вызовов сервисов

## Похожие
- [java-coding-standards](https://affpapa.org/nevibecode/skills/java-coding-standards.md) — скилл · 5100 установок
- [quarkus](https://affpapa.org/nevibecode/skills/quarkus.md) — скилл · 1000 установок
- [quarkus-native-and-container](https://affpapa.org/nevibecode/skills/quarkus-native-and-container.md) — скилл · ★ 40418
- [graalvm-native-image](https://affpapa.org/nevibecode/skills/graalvm-native-image.md) — скилл · 3500 установок
- [java](https://affpapa.org/nevibecode/skills/java.md) — скилл · 966 установок
- [java-junit](https://affpapa.org/nevibecode/skills/java-junit.md) — скилл · 11632 установки

Из того же набора: [jabrena/plinth](https://affpapa.org/nevibecode/by/jabrena/plinth.md) — 40 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
