بنقرة واحدة
stack-java
Java coding standards for Spring Boot and Quarkus services — naming, immutability, Optional, streams, DI
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Java coding standards for Spring Boot and Quarkus services — naming, immutability, Optional, streams, DI
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Generate repository wiki pages mapping architecture, specs, and status. Trigger: orchestrator launches sdd-document.
Shared SDD references for installed skills. Not invokable.
Read-only generalist screening contract for selective 4R review.
Read-only targeted correction validator for a bounded review lineage.
Write SDD delta specs with requirements and scenarios. Trigger: orchestrator launches spec work for a change.
Create pull requests with branch, validation, and publication checks. Trigger: creating, opening, or preparing PRs for review.
| name | stack-java |
| description | Java coding standards for Spring Boot and Quarkus services — naming, immutability, Optional, streams, DI |
| license | Apache-2.0 |
| metadata | {"author":"manuel-retamozo-garcia","version":"1.0"} |
| capabilities | ["java"] |
pom.xml or Gradle build.gradle):
quarkus -> apply [QUARKUS] conventions.spring-boot -> apply [SPRING] conventions.PascalCase (e.g., MarketService, Money).camelCase (e.g., marketRepository, findBySlug).UPPER_SNAKE_CASE (e.g., MAX_PAGE_SIZE = 100).*Resource (e.g., MarketResource), not *Controller.*Controller (e.g., MarketController).public record MarketDto(Long id, String name, MarketStatus status) {}
@Entity
public class Market extends PanacheEntity {
public String name;
public MarketStatus status;
}
Optional from find* query methods instead of returning null or throwing immediate exceptions..get() directly:
return market
.map(MarketResponse::from)
.orElseThrow(() -> new EntityNotFoundException("Market not found"));
@Autowired injection:
@Service
public class MarketService {
private final MarketRepository marketRepository;
public MarketService(MarketRepository marketRepository) {
this.marketRepository = marketRepository;
}
}
@Inject:
@ApplicationScoped
public class MarketService {
private final MarketRepository marketRepository;
@Inject
public MarketService(MarketRepository marketRepository) {
this.marketRepository = marketRepository;
}
}