From 6d6713de10e6805c2e236f62239e02b978be37e3 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Thu, 24 Sep 2026 11:27:12 +0200 Subject: [PATCH] adjusted claude.md to use source of truth --- CLAUDE.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..1e003728 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,20 @@ +# zarr-java + +## Before implementing a feature + +Before implementing a feature, codec, data type, or behaviour change, check whether it already +exists or is specified elsewhere, and use that as context. Check in this order: + +1. **zarr-specs**: the core Zarr v2/v3 specification. Is it specified, and how exactly? + - https://github.com/zarr-developers/zarr-specs (rendered: https://zarr-specs.readthedocs.io) +2. **zarr-extensions**: codecs, data types, chunk grids etc. that are not part of the core spec. + - Local clone: `../zarr-extensions` + - https://github.com/zarr-developers/zarr-extensions +3. **zarr-python**: the reference implementation. Defines the actual behaviour (defaults, edge + cases, error handling) that zarr-java must match. + - Local clone: `../zarr-python`; the installed version is in `.venv/lib/python*/site-packages/zarr` + - https://github.com/zarr-developers/zarr-python + +Prefer the local clones (grep) over fetching the web. If the spec and zarr-python disagree, +match zarr-python and mention the discrepancy. If nothing relevant is found, say so before +designing the feature from scratch.