+1,

This is awesome! We should catch up the trend :)

------------------
Yongzao

On 2026/04/11 09:45:03 Yuan Tian wrote:
> 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://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://docs.anthropic.com/en/docs/claude-code
> 
> Best regards,
> ----------------
> Yuan Tian
> 

Reply via email to