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
Mensagem pronta para colar
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-developmentOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/quarkus-application-development/SKILL.md -o SKILL.mdConteú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
- Detectar primeiro: ler
pom.xml/build.gradleparaquarkus.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). - 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 comquarkus extension list --installable --search=<text>. - 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).
- Nunca usar as extensões de compatibilidade Spring (
quarkus-spring-*) a menos que o projeto já o faça. - Verificar com o modo dev (
./mvnw quarkus:dev, depois/q/dev-ui) e./mvnw verify; escrever um@QuarkusTestpor funcionalidade. Não afirme que algo funciona sem executá-lo. - Usar importações
jakarta.*, records para DTOs, recursos finos delegando para serviços. - Nunca codificar segredos ou adicionar credenciais em
application.properties; vejareferences/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 retornoUni/Multiexecutando em threads de I/O). Remova qualquer@NonBlockingexistente do método (combiná-lo com@Blockingou@RunOnVirtualThreadfalha a compilação), então adicione@Blockingou@RunOnVirtualThread(vejareferences/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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC