Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

writing-java-kotlin

/writing-java-kotlin

Prowadzi idiomatyczny rozwój w Javie i Kotlinie na JVM: buildy Gradle i Maven, Spring, Quarkus, Ktor, JUnit i Kotest, z naciskiem na null-safety i minimalne zależności.

Repozytorium
cc-thingz ↗
Licencja
MIT
Ostatnia zmiana repozytorium
25.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
4
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 25.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Prowadzi idiomatyczny rozwój w Javie i Kotlinie na JVM: buildy Gradle i Maven, Spring, Quarkus, Ktor, JUnit i Kotest, z naciskiem na null-safety i minimalne zależności.

Oryginalny opis (EN)

Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`, `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript, C#/.NET, Python, shell scripts, or infra-only work.

Jak działa

  1. Build baseline
  2. Defaults
  3. References
Sekcje z nagłówków SKILL.md, w oryginale · 26 linii, 402 słów
Podgląd SKILL.md
---
description: Idiomatic modern Java and Kotlin JVM development. Use when writing `.java`,
  `.kt`, or `.kts` code; changing Gradle or Maven builds; or working on Spring, Micronaut,
  Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM
  CLI/services. Emphasizes JDK toolchains, null-safety, fast focused Gradle/Maven
  feedback, deterministic formatting, and minimal dependencies. NOT for JavaScript/TypeScript,
  C#/.NET, Python, shell scripts, or infra-only work.
name: writing-java-kotlin
---

# Java and Kotlin Development

## Build baseline

- Read the wrapper properties, `settings.gradle*`/`build.gradle*`/`gradle.properties` or `pom.xml`, and CI before relying on version-specific behavior.
- Use `./gradlew`/`./mvnw` when the repo has them; scope tests to the changed module (see testing.md).
- The compile target is the declared Java toolchain and Kotlin `jvmToolchain`, not the shell's `JAVA_HOME`; without one, the running JDK compiles.
- Toolchain, plugin, and dependency versions live in convention plugins, version catalogs, BOMs, or parent POMs, set once there. Raising the Java or Kotlin toolchain is a project-wide decision: ask, and change it in shared build config, not one module.
- A request to use a preview feature is not approval to enable it: ask first, name a non-preview fallback, and, once approved, add `--enable-preview` to the build's compile and run/test tasks, not a local flag. Previews can be withdrawn between JDKs: string templates were withdrawn in JDK 23.
- Wire coverage, mutation, or other heavy analysis as its own task or under `check`; never make `test` depend on or be finalized by the report, which would still run it on every plain `test`. Use a separate command or CI step, even when adding it is the task.

## Defaults

- Kotlin: structured concurrency only — no `GlobalScope`; pass a `coroutineScope` or an injected scope through the call chain. Test coroutine code with `kotlinx-coroutines-test`'s `runTest`, not `runBlocking` or real delays. Keep blocking calls off event-loop and coroutine dispatcher threads unless the framework allows it.
- Kotlin: resolve nullable Java platform types at the boundary instead of asserting past them with `!!`.
- Java: say outright when virtual threads help (blocking I/O) versus don't (CPU-bound work); size CPU-bound work to a bounded pool near the processor count or a parallel stream. Never swallow `InterruptedException` — restore the flag or propagate it. No static state for config, clocks, clients, executors, or scopes.
- Don't leak JPA entities, ORM sessions, or generated API models through domain interfaces; map to a DTO while the transaction is open, loading what it needs (fetch join or entity graph) instead of keeping the session open via `spring.jpa.open-in-view`.

## References

- [testing.md](references/testing.md): read when adding or reshaping tests, or when Gradle/Maven test runs are slow.
- [linting.md](references/linting.md): read when changing formatters, ktlint, detekt, Spotless, or static analysis.

Done when the relevant build/test/lint checks pass on what you changed, or you name each check that did not run and why.
Pliki w paczce (4)
  • SKILL.md 3 KB
  • .agentbundler/targets/claude.json 1 KB
  • references/linting.md 1 KB
  • references/testing.md 1 KB

Wersje

W bazie nie ma innych skilli o nazwie writing-java-kotlin.

Migawka bazy z 28.10.2026 · wersja paczki 04f1713ff851 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100jvm-unit-tests
    Prowadzi testy jednostkowe JVM (Java, Kotlin, Scala, Groovy) z JUnit 5: adnotacje, cykl życia, rozszerzenia z Mockito i Spring, równoległość, pokrycie JaCoCo oraz Maven Surefire i Gradle w CI.
  • 100java-expert
    Wspiera tworzenie w Javie 21+ ze Spring Boot, Maven i Gradle oraz dobrymi praktykami korporacyjnymi, w tym narzędzia buildu i wstrzykiwanie zależności.
  • 100jvm-helper
    Podpowiada aktualne praktyki dla Javy, Kotlina, Gradle, Maven, JUnit, diagnostyki JVM, pakowania, współbieżności i strojenia wydajności, w tym GraalVM Native Image.
  • 100kotlin-tooling-java-to-kotlin
    Konwertuje pliki Java na idiomatyczny Kotlin z uwzględnieniem frameworków: Spring, Lombok, Hibernate, Jackson, Micronaut, Quarkus, Dagger/Hilt, RxJava, JUnit, Guice, Retrofit i Mockito.
  • 100java-kotlin
    Pomaga pisać nowoczesną Javę 17+ i Kotlin na JVM: records, sealed interfaces, pattern matching, coroutines, null safety oraz strojenie wydajności i pamięci, w tym migracje ze stylu Javy 8.
  • 100create-quarkus-project
    Tworzy nowy projekt Quarkus w Maven lub Gradle przez Quarkus CLI, API code.quarkus.io albo wtyczkę Maven, dobiera rozszerzenia i uruchamia go w trybie dev.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.