Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 2.23 KB

File metadata and controls

65 lines (47 loc) · 2.23 KB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Build Commands:

./mvnw clean spring-javaformat:apply compile                    # Compile application
./mvnw spring-javaformat:apply test                             # Run all tests
./mvnw spring-javaformat:apply verify                           # Run all tests including integration tests

Design Requirements

  • Package: am.ik.maven.compression - Main package

Implemented Features

  • Brotli compression of static resources (using brotli4j)
  • Gzip compression of static resources (using java.util.zip)
  • Configurable file extensions (default: js, css, svg)
  • Configurable resource directories (default: static)
  • Configurable Brotli quality (default: 11)
  • Skip execution support
  • Independent Brotli/Gzip enable/disable

Development Requirements

Prerequisites

  • Java 17+

Code Standards

  • No external dependencies except for brotli4j (compression) and testing libraries
  • Use builder pattern if the number of arguments is more than two
  • Write javadoc and comments in English
  • Spring Java Format enforced via Maven plugin
  • All code must pass formatting validation before commit
  • Use Java 17 compatible features (avoid Java 21+ specific APIs)
  • Use modern Java technics as much as possible like Java Records, Pattern Matching, Text Block etc ...
  • Be sure to avoid circular references between classes and packages.

Documentation

  • Specify when this library should be used
  • The explanations are written from the perspective of the API user, with plenty of code examples to make usage easy to understand.
  • No need for excessive advertising
  • There is no need to use emojis or flashy expressions, just write simply and honestly.

Testing Strategy

  • JUnit 5 with AssertJ
  • All tests must pass before completing tasks
  • Code examples in the README must be tested to ensure they work.

After Task completion

  • Ensure all code is formatted using ./mvnw spring-javaformat:apply
  • Run full test suite with ./mvnw test
  • For every task, notify that the task is complete and ready for review by the following command:
osascript -e 'display notification "<Message Body>" with title "<Message Title>"’