java-helidon

Generates Helidon 4 SE and MP application code following Java 21 best practices.

38.5k|4.9k|Updated Jun 11, 2025
One-click install
npx skills add https://github.com/github/awesome-copilot --skill java-helidon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: java-helidon
Source: https://github.com/github/awesome-copilot/tree/main/skills/java-helidon
Command: npx skills add https://github.com/github/awesome-copilot --skill java-helidon

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Helidon 4 renamed and resignatured many APIs from Helidon 3, so AI-generated code often fails to compile. This Skill provides verified best practices and correct API usage for building Helidon SE and Helidon MP applications on Java 21+.

Core Features & Use Cases

  • Helidon 3 to 4 Migration Guardrails: A lookup table of renamed APIs (HttpService, HttpRules, pathParameters, jakarta.*) prevents common compile errors in generated code.
  • Layered Architecture Guidance: Covers web, service, and data layers with working examples for both Helidon SE (explicit composition, virtual threads) and Helidon MP (CDI, Jakarta REST, MicroProfile).
  • Data Access Patterns: Demonstrates Helidon DB Client parameterized queries, correct column accessors, JPA repositories, and entity-to-API model mapping.
  • Use Case: Ask for a customer REST endpoint with database persistence, and receive Helidon 4-correct code with proper routing, validation, error handling, and testing setup.

Quick Start

Ask the AI to create a Helidon 4 SE REST service with an HttpService, a service layer, and a Helidon DB Client repository for a customer resource.

Frequently Asked Questions about java-helidon

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate Helidon 3 code to Helidon 4?

Replace io.helidon.common.http.Http.Status with io.helidon.http.Status, Service with HttpService, Routing.Rules with HttpRules, and javax.* imports with jakarta.*. Also replace reactive Single/Multi chains with blocking code, since Helidon 4 uses virtual threads.

What is the difference between Helidon SE and Helidon MP?

Helidon SE uses explicit constructor-based composition and programmatic HttpService routing with virtual threads. Helidon MP uses CDI dependency injection, Jakarta REST annotations, and MicroProfile APIs. Do not mix the two models in one application.

Why does column.as(String.class) fail in Helidon 4 DB Client?

In Helidon 4, Value.as(Class) returns OptionalValue<T>, not T, which is the most common compile error in generated code. Use column.getString() or column.get(String.class) for typed values, and asOptional() for nullable columns.

How do I test a Helidon 4 application with JUnit 5?

For Helidon SE, use helidon-webserver-testing-junit5 with @ServerTest or @RoutingTest, which starts the server on a dynamic port. For Helidon MP, use helidon-microprofile-testing-junit5 with @HelidonTest to start the CDI container.

Does Helidon 4 still use reactive programming with Single and Multi?

No. Helidon 4 is not reactive and uses virtual-thread-based request handling. Write straightforward blocking code instead of Single, Multi, or CompletionStage chains unless there is a specific reason otherwise.