.remote-cache/kreuzberg-shared-rules/.ai-rulez/skills/java-bindings-patterns/SKILL.md
______________________________________________________________________ ## priority: high # Java Bindings Patterns **Role**: Java bindings for Rust core. Work on C FFI bridge and Java wrapper packages. **Scope**: Java 25 Foreign Function & Memory API (FFM/Panama), Java-idiomatic API, JUnit 5 tests, Javadoc. **Architecture**: Java FFM API → C FFI library → Rust core. No JNI, modern Foreign Function API. **Commands**: cd packages/java && mvn clean compile test, mvn checkstyle:check, mvn spotl
npx skillsauth add kreuzberg-dev/html-to-markdown .remote-cache/kreuzberg-shared-rules/.ai-rulez/skills/java-bindings-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Role: Java bindings for Rust core. Work on C FFI bridge and Java wrapper packages.
Scope: Java 25 Foreign Function & Memory API (FFM/Panama), Java-idiomatic API, JUnit 5 tests, Javadoc.
Architecture: Java FFM API → C FFI library → Rust core. No JNI, modern Foreign Function API.
Commands: cd packages/java && mvn clean compile test, mvn checkstyle:check, mvn spotless:apply.
E2E Tests: Auto-generated from fixtures via e2e-generator. Regenerate tests when fixtures change.
Critical: Core logic lives in Rust. Java only for FFI bindings/wrappers. If core logic needed, coordinate with Rust team.
Key files: Core.java (high-level API), CoreFFI.java (FFI bindings), config/* (builder pattern), Exception.java (exception hierarchy).
Code quality: Zero Checkstyle/PMD warnings, use mvn checkstyle:check and mvn spotless:apply.
tools
Convert HTML to Markdown, Djot, or plain text with structured extraction. Use when writing code that calls html-to-markdown APIs in Rust, Python, TypeScript, Go, Ruby, PHP, Java, C#, Elixir, R, C, or WASM. Covers installation, conversion, configuration, metadata extraction, document structure, and CLI usage.
development
Developer quick start guide with prerequisites, setup, and workflow commands
development
Common task runner commands for build, test, lint, and format workflows
tools
______________________________________________________________________ ## priority: high # Workspace Structure & Project Organization **Rust workspace** (Cargo.toml): crates/{kreuzberg,kreuzberg-py,kreuzberg-node,kreuzberg-ffi,kreuzberg-cli}, packages/ruby/ext/kreuzberg_rb/native, tools/{benchmark-harness,e2e-generator}, e2e/{rust,go}. **Language packages**: packages/{python,typescript,ruby,java,go} - thin wrappers around Rust core. **E2E tests**: Auto-generated from fixtures/ via tools/e2e