Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5320

quarkus-application-development

Ajuda seu agente a escrever código para aplicações Quarkus. É útil para criar serviços web, conectar com bancos de dados e gerenciar tarefas.

O que ela faz

Este agente ajuda a escrever código para aplicações Quarkus. Ele pode adicionar funcionalidades como APIs REST, acesso a banco de dados, segurança e comunicação com outras aplicações, mantendo a consistência com o projeto existente.

Quando usar

  • ✓Adicionar uma nova funcionalidade a um projeto Quarkus.
  • ✓Modificar uma parte existente de uma aplicação Quarkus.
  • ✓Integrar um novo serviço ou recurso em uma aplicação Quarkus.

Exemplo do que pedir para a IA

“Adicione uma API REST para gerenciar usuários com validação e documentação automática.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/quarkus-application-development/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/quarkus-application-development/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele analisa seu projeto Quarkus para entender quais tecnologias já estão em uso. Em seguida, adiciona as extensões necessárias e escreve o código seguindo as melhores práticas do Quarkus.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill quarkus-application-development

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/quarkus-application-development/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Desenvolvimento de Aplicações Quarkus

Escopo: código da aplicação dentro de um projeto Quarkus existente. A criação do projeto é create-quarkus-project; Dev Services e testes são quarkus-dev-services-and-testing; imagens nativas e de contêiner são quarkus-native-and-container; o mapeamento JPA principal e o design de consultas podem usar a habilidade opcional java-hibernate-jpa se instalada (caso contrário, consulte o guia Hibernate ORM, https://quarkus.io/guides/hibernate-orm, e a documentação Jakarta Persistence).

Regras do Agente

  1. Detectar primeiro: ler pom.xml/build.gradle para quarkus.platform.version, a versão do Java e as extensões já presentes. Mantenha a versão; use o que o projeto já utiliza (por exemplo, quarkus-resteasy* permanece se presente).
  2. Adicionar extensões com quarkus extension add <name> ou ./mvnw quarkus:add-extension -Dextensions=<name>; nunca adivinhe IDs de artefatos ou versões manualmente (a BOM da plataforma os gerencia). Liste candidatos com quarkus extension list --installable --search=<text>.
  3. Perguntar ao usuário antes de adicionar Kafka, OIDC/Keycloak ou qualquer nova dependência de infraestrutura (eles iniciam contêineres em dev/test e alteram as necessidades de implantação).
  4. Nunca usar as extensões de compatibilidade Spring (quarkus-spring-*) a menos que o projeto já o faça.
  5. Verificar com o modo dev (./mvnw quarkus:dev, depois /q/dev-ui) e ./mvnw verify; escrever um @QuarkusTest por funcionalidade. Não afirme que algo funciona sem executá-lo.
  6. Usar importações jakarta.*, records para DTOs, recursos finos delegando para serviços.
  7. Nunca codificar segredos ou adicionar credenciais em application.properties; veja references/config-cdi.md.

Decisões Rápidas

Necessidade Usar Detalhes
API REST JSON quarkus-rest-jackson, quarkus-hibernate-validator, quarkus-smallrye-openapi references/rest.md
Configuração tipada @ConfigMapping; @ConfigProperty para valores únicos references/config-cdi.md
Beans @ApplicationScoped (padrão), @Singleton apenas para holders simples sem estado references/config-cdi.md
Banco de dados quarkus-hibernate-orm-panache + driver JDBC, padrão repository references/persistence.md
Assíncrono / bloqueante Imperativo por padrão; @RunOnVirtualThread ou Uni quando necessário references/reactive-messaging.md
Mensageria quarkus-messaging-kafka (SmallRye Reactive Messaging) references/reactive-messaging.md
Autenticação/Autorização quarkus-oidc, @RolesAllowed references/security-oidc.md
Operações quarkus-smallrye-health, quarkus-micrometer-registry-prometheus, quarkus-opentelemetry, quarkus-smallrye-fault-tolerance references/observability-resilience.md
HTTP de saída, agendamento, cache quarkus-rest-client-jackson, quarkus-scheduler, quarkus-cache references/observability-resilience.md

Armadilhas que custam tempo

  • Quarkus resolve CDI em tempo de compilação: um bean não utilizado pode ser removido. Beans procurados apenas programaticamente precisam de @Unremovable.
  • Não leia ou escreva campos públicos de um bean de escopo normal (@ApplicationScoped) de outro bean ou teste: você atinge o proxy do cliente, não a instância (verificado: um campo contador lido através do proxy retornou 0). Use métodos.
  • Não bloqueie no loop de eventos (métodos @NonBlocking, tipos de retorno Uni/Multi executando em threads de I/O). Remova qualquer @NonBlocking existente do método (combiná-lo com @Blocking ou @RunOnVirtualThread falha a compilação), então adicione @Blocking ou @RunOnVirtualThread (veja references/reactive-messaging.md).
  • Alterações em propriedades de tempo de compilação exigem recompilação; propriedades de tempo de execução podem ser substituídas por variáveis de ambiente (QUARKUS_DATASOURCE_JDBC_URL).
  • Não configure URLs para bancos de dados/brokers/Keycloak em %dev/%test: isso desabilita o Dev Services.
  • O gerenciamento de schema drop-and-create é apenas para dev/test; use Flyway ou Liquibase para produção.

Verificado em Quarkus 3.40.1 e 3.27.6 (alvo Java 21, Maven) com um aplicativo scaffold e mvn verify (15 testes: REST+validação+mapper, OpenAPI, mapeamento de configuração, Panache em PostgreSQL Dev Services, Kafka Dev Service round trip, tokens Keycloak Dev Service, health, métricas, tolerância a falhas, cache, scheduler). Re-verifique os nomes em relação à versão do projeto.

Perguntas frequentes

O que são 'extensões' Quarkus?

Extensões são pacotes que adicionam funcionalidades específicas à sua aplicação Quarkus, como suporte a banco de dados, APIs web, ou mensageria.

Como o agente sabe qual versão do Quarkus usar?

Ele verifica o arquivo de configuração do seu projeto (pom.xml ou build.gradle) para usar a mesma versão do Quarkus que já está definida.

O agente pode criar um novo projeto Quarkus?

Não, este agente é para trabalhar em projetos Quarkus já existentes. Para criar um novo projeto, você usaria outra ferramenta ou comando específico.

Detalhes

Descrição original do autor

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.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5320
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas