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: 31+ 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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).