From: Sasha Levin <sashal@kernel.org>
To: Kees Cook <kees@kernel.org>
Cc: workflows@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, rostedt@goodmis.org,
konstantin@linuxfoundation.org, corbet@lwn.net,
josh@joshtriplett.org
Subject: Re: [RFC 1/2] AI: Add unified AI coding assistant configuration
Date: Fri, 25 Jul 2025 18:25:41 -0400 [thread overview]
Message-ID: <aIQEZZt7rlzeMDSe@lappy> (raw)
In-Reply-To: <202507251329.8DC1ED1@keescook>
On Fri, Jul 25, 2025 at 01:40:55PM -0700, Kees Cook wrote:
>On Fri, Jul 25, 2025 at 01:53:57PM -0400, Sasha Levin wrote:
>> Create a single source of truth for AI instructions in
>> Documentation/AI/main.md with symlinks for all major AI coding
>> assistants:
>> - CLAUDE.md (Claude Code)
>> - .github/copilot-instructions.md (GitHub Copilot)
>> - .cursorrules (Cursor)
>> - .codeium/instructions.md (Codeium)
>> - .continue/context.md (Continue)
>> - .windsurfrules (Windsurf)
>> - Documentation/AIder.conf.yml (Aider)
>
>I do like the idea of having a standard baseline for agentic
>development, but:
>
>- This clobbers per-project information storage for the agents, which
> the dev may want to be adjusting locally. I would strongly prefer
> adding all of those files to .gitignore instead.
It will, but:
1. We don't have a different place to write this down (more below).
2. Users have other places they can add their specific instructions, or
they can even carry patches on top.
>- Documentation/ should not start getting filled with stuff to be
> exclusively consumed by agents. Instead, I recommend a top-level
> .md file that agents can discover that contains very simple
> non-specific prompts about what they can find in Documentation/,
> and drop a reference to the file in, say, Makefile to be discovered
> during the agent's scrape of the project.
>
>I'd recommend something very simple like:
>
>diff --git a/Makefile b/Makefile
>index e05bd43f93bd..998b037e6d4d 100644
>--- a/Makefile
>+++ b/Makefile
>@@ -7,6 +7,7 @@ NAME = Baby Opossum Posse
>
> # *DOCUMENTATION*
> # To see a list of typical targets execute "make help"
>+# AI agents and LLMs should read ./AGENTS.md
> # More info can be located in ./README
> # Comments in this file are targeted only to the developer, do not
> # expect to learn how to build the kernel reading this file.
>diff --git a/AGENTS.md b/AGENTS.md
>new file mode 100644
>index 000000000000..3df98f0cc667
>--- /dev/null
>+++ b/AGENTS.md
>@@ -0,0 +1,3 @@
>+To work on the Linux kernel, please see Makefile for details on how to
>+perform builds and testing. Find and read the Submitting Patches and
>+Coding Style rules in Documentation/.
I've removed CLAUDE.md, and applied the following change on top of this
RFC patchset with Claude:
diff --git a/Makefile b/Makefile
index be33e8c868ae2..e3986eae88e08 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,7 @@ NAME = Baby Opossum Posse
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
+# AI agents and LLMs should read ./Documentation/AI/main.md
# More info can be located in ./README
# Comments in this file are targeted only to the developer, do not
# expect to learn how to build the kernel reading this file.
... which Claude (and I suspect most other other agents) proceeds to
ignore as it doesn't really do any scraping outside of those dedicated
files:
$ claude -p "do you need to attribute your commits?"
No, I don't need to attribute commits myself. When creating commits, I follow the format specified in my instructions:
```
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
```
This attribution is automatically added to commit messages when I create commits for you
--
Thanks,
Sasha
next prev parent reply other threads:[~2025-07-25 22:25 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 17:53 [RFC 0/2] Add AI coding assistant configuration to Linux kernel Sasha Levin
2025-07-25 17:53 ` [RFC 1/2] AI: Add unified AI coding assistant configuration Sasha Levin
2025-07-25 18:19 ` Steven Rostedt
2025-07-25 22:11 ` Sasha Levin
2025-07-25 18:27 ` Jonathan Corbet
2025-07-25 22:15 ` Sasha Levin
2025-07-27 2:24 ` Sasha Levin
2025-07-28 16:56 ` Mauro Carvalho Chehab
2025-07-25 20:40 ` Kees Cook
2025-07-25 22:25 ` Sasha Levin [this message]
2025-07-25 17:53 ` [RFC 2/2] AI: Add initial set of rules and docs Sasha Levin
2025-07-25 20:53 ` Kees Cook
2025-07-25 22:10 ` Sasha Levin
2025-07-28 17:00 ` Mauro Carvalho Chehab
2025-07-25 18:41 ` [RFC 0/2] Add AI coding assistant configuration to Linux kernel Jakub Kicinski
2025-07-25 19:00 ` Steven Rostedt
2025-07-25 19:59 ` Jakub Kicinski
2025-07-25 20:32 ` Dr. David Alan Gilbert
2025-07-25 20:34 ` dan.j.williams
2025-07-25 22:28 ` Sasha Levin
2025-07-28 17:46 ` Steven Rostedt
2025-07-28 18:20 ` dan.j.williams
2025-07-28 22:12 ` Mauro Carvalho Chehab
2025-07-29 0:18 ` Mauro Carvalho Chehab
2025-07-25 21:03 ` Kees Cook
2025-07-28 15:57 ` dan.j.williams
2025-07-28 16:41 ` Kees Cook
2025-07-26 9:07 ` Mario Limonciello
2025-07-26 11:53 ` Sasha Levin
2025-07-26 16:36 ` Kees Cook
2025-07-28 16:49 ` Mauro Carvalho Chehab
2025-11-11 2:23 ` Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aIQEZZt7rlzeMDSe@lappy \
--to=sashal@kernel.org \
--cc=corbet@lwn.net \
--cc=josh@joshtriplett.org \
--cc=kees@kernel.org \
--cc=konstantin@linuxfoundation.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=workflows@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.