+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

Reply via email to