+1 from me. This is a great addition — it improves the developer experience for those using Claude Code without affecting anyone else. The hook for auto-formatting is especially useful.
Best regards, Xuan Wang ________________________________ From: Yuan Tian <[email protected]> Sent: Saturday, April 11, 2026 5:45:03 PM To: dev <[email protected]> Subject: [VOTE] Add Claude Code project configuration to IoTDB repository Hi all, I'd like to propose adding Claude Code [1] project-level configuration to the IoTDB repository. The goal is to help developers who use Claude Code (an AI coding assistant) get consistent, high-quality assistance when working on IoTDB. PR: https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fiotdb%2Fpull%2F17458&data=05%7C02%7C%7C038d1934b5c94d2c67ab08de97af1304%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C639114975369956803%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=vQ08RvHiFF5R6sLbs5yy%2BU3Y3TlBPQ%2F9%2BJ0UFUbBDSU%3D&reserved=0<https://github.com/apache/iotdb/pull/17458> ## What is Claude Code? Claude Code is an AI-powered coding assistant by Anthropic that runs in the terminal. It can read, write, and reason about code. Project-level configuration files tell it how to build, test, and follow the conventions of a specific codebase. ## What's being added? ### 1. `CLAUDE.md` — Project instruction file A comprehensive guide that Claude Code reads at the start of every session. It covers: - Project overview and architecture (ConfigNode, DataNode, AINode, dual data model) - Build commands (full build, per-module, single test class/method) - Integration test commands (all profiles: tree/table, simple/cluster) - Code style rules (Spotless, Checkstyle, import order, license header) - Key subsystem descriptions (queryengine, storageengine, schemaengine, pipe, consensus, etc.) - IDE setup instructions (Thrift/ANTLR generated sources) - Common pitfalls (missing Thrift compiler, pre-existing compile errors, Gson compatibility) This ensures any developer using Claude Code gets accurate, IoTDB-specific guidance instead of generic answers. ### 2. `.claude/settings.json` — Shared project hooks Configures a PostToolUse hook that automatically runs `mvn spotless:apply` on Java files after Claude Code edits them. This guarantees all AI-generated code changes comply with our Spotless formatting rules — no more format-violation build failures from AI-assisted edits. ### 3. `.gitignore` refinement The previous `.gitignore` entry ignored the entire `.claude/` directory and `CLAUDE.md`, which prevented sharing any configuration with the team. The updated rules are more fine-grained: Ignored (machine-specific, ephemeral): - `.claude/settings.local.json` — personal local settings - `.claude/todos/` — session-level task tracking - `.claude/worktrees/` — temporary git worktree directories - `.claude/scheduled_tasks.json` — session-level scheduled tasks Committed (shared with team): - `CLAUDE.md` — project instructions, benefits everyone - `.claude/settings.json` — shared hooks (e.g., auto-formatting) ## Impact - These files have ZERO impact on the build, tests, or runtime behavior of IoTDB. - Developers who don't use Claude Code will not be affected at all. - Developers who do use Claude Code will get better, more consistent assistance out of the box. Please share your thoughts or concerns. If there are no objections, I will merge this PR. [1] https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.anthropic.com%2Fen%2Fdocs%2Fclaude-code&data=05%7C02%7C%7C038d1934b5c94d2c67ab08de97af1304%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C639114975369982356%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=3R%2Fa%2Fyb2afIt1jz8fs3x7EzZQFPHwxfsbehRx5RgmXo%3D&reserved=0<https://docs.anthropic.com/en/docs/claude-code> Best regards, ---------------- Yuan Tian
