This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Mason registry for Java development tools. Provides packages for nvim-java that aren't in the official mason-registry. Packages include JDTLS, Spring Boot Tools, Java Test, Lombok, and OpenJDK.
No local build/test/lint commands. All validation via GitHub Actions:
- Registry Lint: Validates package schemas on PR
- Package Tests: Cross-platform CI validation
- Release: Auto-triggers on push to
main
Open PRs early to leverage CI for cross-platform testing. Local testing is complex.
Each package lives at packages/<name>/package.yaml. Required fields:
name: Unique identifierdescription: From upstream sourcehomepage: HTTPS URLlicenses: SPDX identifiers (MIT, Apache-2.0, EPL-2.0, etc.)languages: Target languages (usuallyJava)categories: One of LSP, DAP, Formatter, Linter, Runtime, Compilersource: purl identifier with version (pkg:<type>/<path>@<version>)
Optional: bin (executables), share (arch-independent files), opt (add-on content)
pkg:generic/...- Direct downloads (jdtls, openjdk)pkg:openvsx/...- VS Code extensions from OpenVSXpkg:github/...- GitHub releasespkg:npm/...,pkg:pypi/..., etc.
Dynamic values: {{variable | filter}}
Example: {{ version | strip_prefix "v" }} transforms v1.0.0 to 1.0.0
CONTRIBUTING.md- Complete package specification with examplesrenovate.json5- Automatic version updates config.github/workflows/- CI/CD pipelines
Use YAML language server with schemastore: https://json.schemastore.org/mason-registry.json
Integrates with b0o/SchemaStore.nvim for in-editor diagnostics.
Conventional commit messages. Renovate auto-updates package versions.