# Quarkus Core

> CDI dependency injection, configuration, dev mode, and extensions.

- Skill: `ngxtm-devkit/quarkus-core` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add ngxtm-devkit/quarkus-core`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ngxtm-devkit/quarkus-core/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ngxtm (https://skillmd.com/u/ngxtm-devkit)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ngxtm-devkit/quarkus-core

---


# Quarkus Core Standards

## CDI (ArC) Dependency Injection

```java
@ApplicationScoped
public class UserService {

    @Inject
    UserRepository userRepository;

    @Inject
    @ConfigProperty(name = "app.max-users", defaultValue = "1000")
    int maxUsers;

    public User findById(Long id) {
        return userRepository.findById(id);
    }
}

// Bean scopes
@ApplicationScoped  // Single instance per application
@RequestScoped      // Per HTTP request
@Singleton          // Like ApplicationScoped but not proxied
@Dependent          // New instance each injection
```

## Configuration

```java
@ConfigMapping(prefix = "app")
public interface AppConfig {
    String name();
    int maxConnections();
    Optional<String> description();
    DatabaseConfig database();

    interface DatabaseConfig {
        String url();
        String username();
    }
}

// Usage
@Inject
AppConfig config;
```

```properties
# application.properties
app.name=MyApp
app.max-connections=100
app.database.url=jdbc:postgresql://localhost/db
app.database.username=admin

# Profile-specific
%dev.app.database.url=jdbc:h2:mem:test
%prod.app.database.url=${DB_URL}
```

## Dev Mode

```bash
# Live reload
./mvnw quarkus:dev

# Continuous testing
./mvnw quarkus:dev -Dquarkus.test.continuous-testing=enabled

# Dev UI at http://localhost:8080/q/dev
```

## References

- [CDI Patterns](references/cdi-patterns.md) - Producers, qualifiers, interceptors

