Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 2.19 KB

File metadata and controls

45 lines (32 loc) · 2.19 KB

Copilot Instructions - problem4j-jackson

Jackson integration modules for problem4j-core - serialization and deserialization of RFC 7807 Problem objects.

Modules

Module Jackson Java target Entry point
problem4j-jackson2 2.x 8 ProblemModule
problem4j-jackson3 3.x 17 ProblemJacksonModule

Prioritize changes in the submodule matching the Jackson version in context.

Build & Validate

Requires JDK 17+. Dependencies managed in gradle/libs.versions.toml. Custom Gradle plugins live in build-logic.

./gradlew                  # default: spotlessApply build (preferred)
./gradlew spotlessApply    # auto-format code
./gradlew build            # compile + test + spotlessCheck
./gradlew test             # tests only

Agent Rules

  • Do not use terminal commands (e.g., cat, find, ls) to read or list project files - use IDE/agent tools instead.
  • Run tests once, save output to build/test-run.log inside the repo (> build/test-run.log 2>&1), then read from that file to extract errors. Never run the same test command multiple times, without changes in sources. Store test output in multiple files if you want to compare before/after changes (ex. build/test-run-{i}.log).

Coding Rules

  • No self-explaining comments - only add comments for non-obvious context.
  • No wildcard imports.
  • Follow existing code patterns and naming conventions.
  • Let spotlessApply handle all formatting - never format manually.

Test Conventions

  • Method naming: givenThis_whenThat_thenWhat.
  • No // given, // when, // then section comments.
  • Cover both positive and negative cases.
  • Use AssertJ for assertions.