К основному содержанию
скилл официальный · GitHub

quarkus-application-development — скилл для GitHub Copilot

Скилл помогает GitHub Copilot писать и менять код в существующем проекте Quarkus: REST, CDI, базы данных, Kafka и безопасность.

Установить в GitHub Copilot · GitHub CLI Все способы и платформы ↓
gh skill install github/awesome-copilot quarkus-application-development
Открыть на GitHub

Что делает quarkus-application-development

Скилл охватывает REST API на Quarkus REST, валидацию, обработчики исключений, OpenAPI, конфигурацию и CDI через ArC. Он также подсказывает работу с Hibernate ORM и Panache, Mutiny, виртуальными потоками, Kafka, OIDC, health checks, метриками, OpenTelemetry, отказоустойчивостью, REST Client, планировщиком и кэшем.

Перед изменениями агент читает pom.xml или build.gradle, определяет версию Quarkus, Java и уже подключённые расширения. Новые расширения добавляются через quarkus extension add <name> или ./mvnw quarkus:add-extension -Dextensions=<name>, а проверка проходит в ./mvnw quarkus:dev и ./mvnw verify. Скилл рассчитан на существующий проект, а не на его создание.

Добавление Kafka, OIDC или Keycloak требует согласования, потому что эти зависимости запускают контейнеры в dev/test и меняют требования к развёртыванию. Секреты нельзя хранить в application.properties; для production схема базы не должна использовать drop-and-create.

Какие задачи решает

  • добавить REST-эндпоинт в Quarkus-проект
  • подключить Panache и настроить работу с базой
  • настроить Kafka или OIDC с учётом текущих расширений
  • добавить health checks, метрики и трассировку
  • проверить новую функцию через @QuarkusTest

Примеры запросов агенту

  • Добавь REST-эндпоинт для управления заказами в существующем проекте Quarkus и покрой его @QuarkusTest.
  • Подключи Panache для сущности Order, сначала проверь текущие расширения и версию Quarkus.
  • Настрой OIDC для этого проекта, но сначала спроси меня перед добавлением новой инфраструктурной зависимости.

Как установить quarkus-application-development

1GitHub CLI

gh skill install github/awesome-copilot quarkus-application-development

2Вручную: положить файлы

.github/skills/quarkus-application-development/SKILL.md

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о quarkus-application-development

Как установить quarkus-application-development в GitHub Copilot?

Выполните gh skill install github/awesome-copilot quarkus-application-development, затем используйте файл .github/skills/quarkus-application-development/SKILL.md.

Что делает quarkus-application-development?

Скилл помогает GitHub Copilot разрабатывать функции внутри существующего Quarkus-проекта: от REST и конфигурации до Panache, Kafka, OIDC и наблюдаемости.

Создаёт ли скилл новый Quarkus-проект?

Нет. Он работает с кодом существующего проекта; создание проекта относится к отдельному create-quarkus-project.

Исходный текст

SKILL.md · MIT
---
name: quarkus-application-development
description: 'Write Quarkus application code: REST with Quarkus REST, validation, exception mappers, OpenAPI, configuration, CDI (ArC), Hibernate ORM with Panache, Mutiny and virtual threads, Reactive Messaging with Kafka, OIDC security, health, metrics, OpenTelemetry, fault tolerance, REST Client, scheduler and cache. Use when implementing or changing features in an existing Quarkus project.'
---

# Quarkus Application Development

Scope: application code inside an existing Quarkus project. Project creation is `create-quarkus-project`; Dev Services and tests are `quarkus-dev-services-and-testing`; native and container images are `quarkus-native-and-container`; core JPA mapping and query design can use the optional `java-hibernate-jpa` skill if installed (otherwise see the Hibernate ORM guide, <https://quarkus.io/guides/hibernate-orm>, and the Jakarta Persistence docs).

## Agent rules

1. Detect first: read `pom.xml`/`build.gradle` for `quarkus.platform.version`, the Java release, and the extensions already present. Keep the version; use what the project already uses (for example `quarkus-resteasy*` stays if present).
2. Add extensions with `quarkus extension add <name>` or `./mvnw quarkus:add-extension -Dextensions=<name>`; never guess artifact ids or versions by hand (the platform BOM manages them). List candidates with `quarkus extension list --installable --search=<text>`.
3. Ask the user before adding Kafka, OIDC/Keycloak or any new infrastructure dependency (they start containers in dev/test and change deployment needs).
4. Never use the Spring compatibility extensions (`quarkus-spring-*`) unless the project already does.
5. Verify with dev mode (`./mvnw quarkus:dev`, then `/q/dev-ui`) and `./mvnw verify`; write a `@QuarkusTest` per feature. Do not claim something works without running it.
6. Use `jakarta.*` imports, records for DTOs, thin resources delegating to services.
7. Never hard-code secrets or add credentials to `application.properties`; see `references/config-cdi.md`.

## Quick decisions

| Need | Use | Details |
|---|---|---|
| JSON REST API | `quarkus-rest-jackson`, `quarkus-hibernate-validator`, `quarkus-smallrye-openapi` | `references/rest.md` |
| Typed config | `@ConfigMapping`; `@ConfigProperty` for single values | `references/config-cdi.md` |
| Beans | `@ApplicationScoped` (default), `@Singleton` only for plain stateless holders | `references/config-cdi.md` |
| Database | `quarkus-hibernate-orm-panache` + JDBC driver, repository pattern | `references/persistence.md` |
| Async / blocking | Imperative by default; `@RunOnVirtualThread` or `Uni` when needed | `references/reactive-messaging.md` |
| Messaging | `quarkus-messaging-kafka` (SmallRye Reactive Messaging) | `references/reactive-messaging.md` |
| AuthN/AuthZ | `quarkus-oidc`, `@RolesAllowed` | `references/security-oidc.md` |
| Ops | `quarkus-smallrye-health`, `quarkus-micrometer-registry-prometheus`, `quarkus-opentelemetry`, `quarkus-smallrye-fault-tolerance` | `references/observability-resilience.md` |
| Outbound HTTP, scheduling, caching | `quarkus-rest-client-jackson`, `quarkus-scheduler`, `quarkus-cache` | `references/observability-resilience.md` |

## Pitfalls that cost time

- Quarkus resolves CDI at build time: an unused bean may be removed. Beans only looked up programmatically need `@Unremovable`.
- Do not read or write public fields of a normal-scoped bean (`@ApplicationScoped`) from another bean or test: you hit the client proxy, not the instance (verified: a counter field read through the proxy returned 0). Use methods.
- Do not block on the event loop (`@NonBlocking` methods, `Uni`/`Multi` return types running on I/O threads). Remove any existing `@NonBlocking` from the method (combining it with `@Blocking` or `@RunOnVirtualThread` fails the build), then add `@Blocking` or `@RunOnVirtualThread` (see `references/reactive-messaging.md`).
- Changes to build-time properties need a rebuild; run-time properties can be overridden by env vars (`QUARKUS_DATASOURCE_JDBC_URL`).
- Do not configure URLs for databases/brokers/Keycloak in `%dev`/`%test`: that disables Dev Services.
- `drop-and-create` schema management is for dev/test only; use Flyway or Liquibase for production.

Verified on Quarkus 3.40.1 and 3.27.6 (Java 21 target, Maven) with a scaffolded app and `mvn verify` (15 tests: REST+validation+mapper, OpenAPI, config mapping, Panache on PostgreSQL Dev Services, Kafka Dev Service round trip, Keycloak Dev Service tokens, health, metrics, fault tolerance, cache, scheduler). Re-check names against the project's version.

© github · MIT · github/awesome-copilot

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →
mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок claude-api официальный anthropics Справочник по Anthropic SDK и API Claude для генерации кода без устаревших параметров и выдуманных методов. 74 198установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. CX Codex +1 472 900установок lark-event larksuite Слушает события Lark/Feishu и отдаёт их потоком NDJSON. Подходит для ботов, обработчиков сообщений и долгих подписчиков. CX Codex +1 466 800установок caveman-discover JuliusBrussee Находит точки вызова LLM в репозитории и размечает их воркфлоу для Caveman Cloud, чтобы расходы на токены не сливались в одну общую кучу. CX Codex +1 104 400установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок

Из того же набора928

Весь набор →
pr-address-feedback Скилл пошагово разбирает замечания ревью в пулл-реквесте, группирует похожие комментарии и готовит план правок до изменения файлов. Пригодится при разборе ревью в ветке. 2установок java-testcontainers Помогает писать интеграционные тесты на Java с Testcontainers 2.x и JUnit Jupiter, поднимая базы данных и очереди в Docker. Пригодится при настройке тестов или миграции с ветки 1.x. 1установок java-debugging Скилл ведёт агента по методике поиска причины бага в Java: воспроизвести, сузить, проверить гипотезу, подключить отладчик. Пригодится, когда логи уже не помогают. 1установок quarkus-native-and-container Помогает собрать нативный исполняемый файл Quarkus, починить ошибки reflection и сделать образ контейнера с манифестами Kubernetes. ★ 40 418звёзд репо npm-trusted-publishing Настраивает npm trusted publishing через OIDC в GitHub Actions и убирает токены из публикации. Нужен при ошибках ENEEDAUTH, E404 и E422. ★ 40 418звёзд репо cypress-flake-fixer Скилл ищет в существующем наборе тестов Cypress шаблоны, из-за которых тесты падают через раз, и правит их. Пригодится перед обновлением до Cypress 15 или 16. ★ 40 418звёзд репо winui3 Правило задаёт рекомендации для WinUI 3 и Windows App SDK: от XAML и потоков до окон и MVVM. Пригодится, чтобы Copilot учитывал особенности настольных приложений Windows. ★ 40 418звёзд репо vue Правило задаёт Copilot стандарты Vue 3: Composition API, <script setup>, реактивность, Pinia и Vue Router. Пригодится, когда агент пишет компоненты в вашем стиле. ★ 40 418звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой