You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by ag...@apache.org on 2026/08/31 18:24:43 UTC

(datafusion-comet) branch main updated: chore: rename .claude directory to vendor-neutral .ai (#5594)

This is an automated email from the ASF dual-hosted git repository.

andygrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/main by this push:
     new 18fa733909 chore: rename .claude directory to vendor-neutral .ai (#5594)
18fa733909 is described below

commit 18fa7339093b85972a15bbd83a9f3c760b4f74a3
Author: Andy Grove <ag...@apache.org>
AuthorDate: Mon Aug 31 12:24:37 2026 -0600

    chore: rename .claude directory to vendor-neutral .ai (#5594)
---
 {.claude => .ai}/skills/audit-comet-expression/SKILL.md     |  0
 {.claude => .ai}/skills/bug-triage/SKILL.md                 |  0
 {.claude => .ai}/skills/implement-comet-expression/SKILL.md |  0
 {.claude => .ai}/skills/optimize-comet-expression/SKILL.md  |  0
 {.claude => .ai}/skills/review-comet-pr/SKILL.md            |  0
 {.claude => .ai}/skills/suggest-native-expression/SKILL.md  |  2 +-
 {.claude => .ai}/skills/wire-datafusion-function/SKILL.md   |  4 ++--
 .claude/skills                                              |  1 +
 .gitignore                                                  |  1 -
 AGENTS.md                                                   | 10 ++++++++++
 CLAUDE.md                                                   |  1 +
 dev/release/rat_exclude_files.txt                           |  2 ++
 pom.xml                                                     |  1 +
 13 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/.claude/skills/audit-comet-expression/SKILL.md b/.ai/skills/audit-comet-expression/SKILL.md
similarity index 100%
rename from .claude/skills/audit-comet-expression/SKILL.md
rename to .ai/skills/audit-comet-expression/SKILL.md
diff --git a/.claude/skills/bug-triage/SKILL.md b/.ai/skills/bug-triage/SKILL.md
similarity index 100%
rename from .claude/skills/bug-triage/SKILL.md
rename to .ai/skills/bug-triage/SKILL.md
diff --git a/.claude/skills/implement-comet-expression/SKILL.md b/.ai/skills/implement-comet-expression/SKILL.md
similarity index 100%
rename from .claude/skills/implement-comet-expression/SKILL.md
rename to .ai/skills/implement-comet-expression/SKILL.md
diff --git a/.claude/skills/optimize-comet-expression/SKILL.md b/.ai/skills/optimize-comet-expression/SKILL.md
similarity index 100%
rename from .claude/skills/optimize-comet-expression/SKILL.md
rename to .ai/skills/optimize-comet-expression/SKILL.md
diff --git a/.claude/skills/review-comet-pr/SKILL.md b/.ai/skills/review-comet-pr/SKILL.md
similarity index 100%
rename from .claude/skills/review-comet-pr/SKILL.md
rename to .ai/skills/review-comet-pr/SKILL.md
diff --git a/.claude/skills/suggest-native-expression/SKILL.md b/.ai/skills/suggest-native-expression/SKILL.md
similarity index 99%
rename from .claude/skills/suggest-native-expression/SKILL.md
rename to .ai/skills/suggest-native-expression/SKILL.md
index 5a7322345a..4ce5d966e0 100644
--- a/.claude/skills/suggest-native-expression/SKILL.md
+++ b/.ai/skills/suggest-native-expression/SKILL.md
@@ -338,7 +338,7 @@ Steps 3 and 4 are a static assessment and need no build. That is deliberate: the
 cheap to run over a pool of candidates. But a `Medium` on either axis is exactly where a static
 read is least trustworthy, so **when either rating is Medium, gather at least one piece of
 empirical evidence before writing the verdict.** Building is required from here
-(`make`; see `CLAUDE.md`).
+(`make`; see `docs/source/contributor-guide/development.md`).
 
 Any one of these is sufficient, cheapest first:
 
diff --git a/.claude/skills/wire-datafusion-function/SKILL.md b/.ai/skills/wire-datafusion-function/SKILL.md
similarity index 95%
rename from .claude/skills/wire-datafusion-function/SKILL.md
rename to .ai/skills/wire-datafusion-function/SKILL.md
index 02bc493ceb..881d24291b 100644
--- a/.claude/skills/wire-datafusion-function/SKILL.md
+++ b/.ai/skills/wire-datafusion-function/SKILL.md
@@ -41,7 +41,7 @@ Function names must match: the string passed to `CometScalarFunction("xyz")` equ
 
 ### 1. Study the Spark contract
 
-Find the `case class $ARGUMENTS` (PascalCase). Prefer the user's local Spark clone (`CLAUDE.md` / project memory); fall back to `git clone --depth 1 https://github.com/apache/spark.git /tmp/spark-master`. If the clone is sandbox-blocked and no local clone is found, **stop and ask** — Spark is the ground truth.
+Find the `case class $ARGUMENTS` (PascalCase). Prefer the user's local Spark clone (agent instructions / project memory); fall back to `git clone --depth 1 https://github.com/apache/spark.git /tmp/spark-master`. If the clone is sandbox-blocked and no local clone is found, **stop and ask** — Spark is the ground truth.
 
 Note `inputTypes`, `dataType`, `eval` / `nullSafeEval`, `require` guards, ANSI mode branches, and foldable-only arguments. These define what Comet must reproduce.
 
@@ -68,7 +68,7 @@ grep -rin "fn name" "$DF_SPARK/src/function/" 2>/dev/null | grep -i "$EXPR"
 grep -rin "fn name" "$DF_FUNCS/src/"          2>/dev/null | grep -i "$EXPR"
 ```
 
-**Option B — local DataFusion clone** (only if `CLAUDE.md` / memory points at one). Grep at the pinned tag — DataFusion uses lightweight tags (`<version>`, no `v` prefix), so use `tag -l` not `rev-parse --verify ^{tag}`:
+**Option B — local DataFusion clone** (only if agent instructions / memory point at one). Grep at the pinned tag — DataFusion uses lightweight tags (`<version>`, no `v` prefix), so use `tag -l` not `rev-parse --verify ^{tag}`:
 
 ```bash
 DF_CLONE=<path from memory>
diff --git a/.claude/skills b/.claude/skills
new file mode 120000
index 0000000000..6838a11606
--- /dev/null
+++ b/.claude/skills
@@ -0,0 +1 @@
+../.ai/skills
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index eed00f3262..c6a2162280 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-CLAUDE.md
 target
 .idea
 *.iml
diff --git a/AGENTS.md b/AGENTS.md
index 683dcbe3ee..2dabec82d0 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -33,3 +33,13 @@ Relevant entry points:
 
 When opening a pull request, use the [PR template](.github/pull_request_template.md) and fill
 in every section.
+
+## Skills
+
+Repository-specific agent skills live under `.ai/skills/`. Each subdirectory is a single skill
+with a `SKILL.md` (YAML frontmatter + body). Check that directory for an applicable skill before
+starting a task; new skills go in `.ai/skills/<skill-name>/SKILL.md`.
+
+For compatibility with agents that look in vendor-specific locations, `.claude/skills` is a
+symlink to `.ai/skills` and `CLAUDE.md` is a symlink to this file. Add new content here rather
+than to the symlinks.
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 120000
index 0000000000..47dc3e3d86
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1 @@
+AGENTS.md
\ No newline at end of file
diff --git a/dev/release/rat_exclude_files.txt b/dev/release/rat_exclude_files.txt
index 0f44154d93..597a7894cd 100644
--- a/dev/release/rat_exclude_files.txt
+++ b/dev/release/rat_exclude_files.txt
@@ -3,6 +3,8 @@
 .github/pull_request_template.md
 .github/workflows/README.md
 .gitmodules
+.claude/skills
+CLAUDE.md
 native/Cargo.lock
 native/jni-bridge/testdata/backtrace.txt
 native/jni-bridge/testdata/stacktrace.txt
diff --git a/pom.xml b/pom.xml
index 1149466575..2b34cb4a25 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1196,6 +1196,7 @@ under the License.
             <exclude>native/proto/src/generated/**</exclude>
             <exclude>benchmarks/tpc/queries/**</exclude>
             <exclude>benchmarks/results/**/*.txt</exclude>
+            <exclude>.ai/**</exclude>
             <exclude>.claude/**</exclude>
             <exclude>docs/superpowers/**</exclude>
           </excludes>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org