Readit News logoReadit News
CharlesW · 5 days ago
This should've been an .agents¹ with an index.md.

For tiny, throwaway projects, a monolithic .md file is fine. A folder allows more complex projects to use "just enough hierarchy" to provide structure, with index.md as the entry point. Along with top-level universal guidance, it can include an organization guide (easily maintained with the help of LLMs).

  index.md
  ├── auth.md
  ├── performance.md
  ├── code_quality
  ├── data_layer
  ├── testing
  └── etc
In my experience, this works loads better than the "one giant file" method. It lets LLMs/agents add relevant context without wasting tokens on unrelated context, reduces noise/improves response accuracy, and is easier to maintain for both humans and LLMs alike.

¹ Ideally with a better name than ".agents", like ".codebots" or ".context".

skybrian · 5 days ago
Except not hidden. Why do people want to hide important files and directories? Particularly documentation? Tradition, I guess, but it's an antipattern that makes everything more opaque.

Maybe robot_docs?

animal_spirits · 5 days ago
It's so it doesn't clash with any project that actually has a functional `agents/` directory
nephanth · 5 days ago
It is files that are meant to be read by software, not humans. From my point of view this seems like a prime candidate for a hidden directory?
HumanOstrich · 5 days ago
Where are they hidden that you are having trouble with? I've had an alias for `ls` that always includes dotfiles and `shopt -s dotglob` in my bash profile for decades. Mac Finder is a little more obnoxious with having to do `Meta+Shift+.` to reveal dotfiles.

Other than that, modern tooling like Git and IDEs do not "hide" dotfiles.

These days, a `.` in front of a file or folder in a repo is more to indicate it is metadata/config. Although I am in favor of putting all that stuff under `.config/`.

> Maybe robot_docs?

No thanks.

jppittma · 5 days ago
Because you're not an (llm) agent and they're not for your consumption? You probably don't need the context in those docs.

Deleted Comment

zimbatm · 5 days ago
This should have been CONTRIBUTING.md all along.

The content of the AGENTS.md is the same as what humans are looking for when contributing to a project.

oehpr · 5 days ago
The most effective argument I have for getting other developers to comment their code is "The agent will read it and it will give better suggestions".

Truly perverse, but it works.

I agree with you... but the reality is that there's a wide contingent of people that are not capable of understanding "people don't know the same things as me". So they need some other reason.

sbochins · 5 days ago
I don’t think they serve the same purpose. Most of the instructions I have for an agent won’t apply to a human. It’s mostly around the the requirements to bootstrap the project vs what I’d ask for a human to accept their pull request.
heyzk · 5 days ago
I think semantically this is true, but the way humans and agents handle context, at the moment, is different enough to warrant a separate structure.
j2kun · 5 days ago
Yeah I can't find any example in an AGENTS.md that isn't useful information for a human. "Cluttering" a README.md is a silly justification.
hombre_fatal · 5 days ago
Nah, My standard for what I write for humans is 100x than the slop I spew for robots.

Also, you don’t even address their point.

layer8 · 5 days ago
Arguably, contributors are human agents. ;)
alostpuppy · 5 days ago
Dude, this is such a good point.
asabla · 5 days ago
Been using a similar setup, with so far pretty decent results. With the addition of having a short explanation for each file within index.md

I've been experimenting with having a rules.md file within each directory where I want a certain behavior. Example, let us say I have a directory with different kind of services like realtime-service.ts and queue-service.ts, I then have a rules.md file on the same level as they are.

This lets me scaffold things pretty fast when prompting by just referencing that file. The name is probably not the best tho.

nivertech · 5 days ago
This looks like a general software design / coding style docs both for humans and robots alike. I put these .md files into the docs/ folder. And they're written by the Claude Code itself.

AGENTS.md (and friends like CLAUDE.md) should be for robots only, whether a large single file with h2 headers (##) sections, or a directory with separate sections, is a matter of taste. Some software arch/design doc formats support both versions, i.e. see Arc42.

Though, it's much easier and less error-prone to @-mention a separate .md file, rather than a section in a large markdown file.

Smaller files also might be better when you want to focus a coding agent's attention on a specifric thing.

They're also easier to review diffs / PRs.

whywhywhywhy · 5 days ago
>whether a large single file with h2 headers (##) sections, or a directory with separate sections, is a matter of taste

Not sure it is when you consider how agents deal with large files, hows it gonna follow coding conventions if it doesn’t even grep them or just read the first few lines

awbraunstein · 5 days ago
You can have multiple AGENTS.md files in your codebase and tooling will look at both the one in the current directory as well as in the root of the codebase. This way you can sort of do what you're suggesting but simultaneously keep the information closer to the code that it is describing.
thayne · 5 days ago
Kind of, but for any given directory you can't separate out instructions for building from instructions for naming conventions, for example.
bryanrasmussen · 5 days ago
so you would have an Agents.md in your testing folder and it would describe how to run the tests or generate new tests for the project - am I understanding the usage correctly?
p1necone · 5 days ago
I've been trying to keep my baked in llm instructions to a terse ~100 line file, mostly headered sections with 5 or so bullet points each. Covering basic expectations for architecture, test mocking, approach to large changes etc. I can see why for some projects that wouldn't be enough but I feel like it covers everything for most of mine.
numpy-thagoras · 5 days ago
Would you be open to sharing this here?
meander_water · 5 days ago
There shouldn't be anything stopping you from doing that.

You can just use the AGENTS.md file as an index pointing to other doc files.

This example does that -

https://github.com/apache/airflow/blob/main/AGENTS.md

setopt · 5 days ago
The point is that .agents is a hidden file while AGENTS.md is in your face like a README intended for humans.

Having an in-your-face file that links to a hidden file serves no purpose.

riffic · 5 days ago
.well-known/
echelon · 5 days ago
This. Projects need to stop inventing their own root level files and directories.

Stop polluting the root dir.

I'm not a fan of the name "well-known", but at least it's a convention [1].

I think it'd be great if we took something like XDG [2] and made it common for repositories, build scripts, package managers, tooling configs, etc.

[1] https://www.rfc-editor.org/rfc/rfc8615

[2] https://wiki.archlinux.org/title/XDG_Base_Directory

Deleted Comment

xmorse · 5 days ago
You can put your docs in folders and reference them in AGENTS.md

Or use urls in your main AGENTS like I do for https://gitchamber.com

Deleted Comment

verdverm · 5 days ago
This is one of the reasons I'm sticking with .github/... copilot instructions for now. We'll see if this proposal evolves over time as more voices enter the conversation
irthomasthomas · 5 days ago
This is what I do. Everywhere my agent works it uses a .agent dir to store its logs and intermediary files. This way the main directories aren't polluted with cruft all the time.
lelele · 5 days ago
Could you please provide an example `index.md`? Thanks.
jitix · 5 days ago
I like this idea. Do you have any middleware in your current setup that added the contents of this directory to the agent prompt?
CharlesW · 5 days ago
I'd be interested in smarter ways of doing this, but currently I just use my CLAUDE.local.md to serve as the index.md in my example. It includes the 'specialist' .md files with their relative paths and descriptions, and tells Claude Code to use these when planning.

I also have explicit `xnew`, `xplan`, `xcode` and `xcheck` commands in CLAUDE.md that reinforce this. For example, here's my `xnew`:

  ## Remember Shortcuts
  Remember the following shortcuts, which the user may invoke at any time.
  
  ### XNEW
  When I type "xnew", this means:

  ```Understand all BEST PRACTICES listed in CLAUDE.md.
  Your code SHOULD ALWAYS follow these best practices.
  REVIEW relevant documentation in .agents/ before starting new work.
  Your code SHOULD use existing patterns and architectural decisions
  documented there rather than creating new approaches.```

tortilla · 5 days ago
I'm building a little tool like this for myself. It's almost ready to be open-sourced. Just need to clean up some code and write better documentation.

Deleted Comment

createaccount99 · 5 days ago
Anti-feature if you ask me. An agent should be able to pick the stuff it needs from the AGENTS.md, and not blindly use everything.
barrkel · 5 days ago
Everything the agent has to read to pick out stuff costs $.
theshrike79 · 5 days ago
Context is not infinite. Saving context for what matters is key in working with LLMs.
Western0 · 5 days ago
bot.md not index.md
blinkymach12 · 5 days ago
We're in a transition phase today where agents need special guidance to understand a codebase that go beyond what humans need. Before long, I don't think they will. I think we should focus on our own project documentation being comprehensive (e.g. the contents of this AGENTS.md are appropriate to live somewhere in our documentation), but we should always write for humans.

The LLM's whole shtick is that it can read and comprehend our writing, so let's architect for it at that level.

tptacek · 5 days ago
It's not just understanding the codebase, it's also stylistic things, like "use this assert library to write tests", or "never write comments", or "use structured logging". It's just as useful --- more so even --- on fresh projects without much code.
time0ut · 5 days ago
Honestly, everything I have written in markdown files as AI context fodder is stuff that I write down for human contributors anyway. Or at least stuff I want to always write down, but maybe only halfway do. The difference now is it is actually being read, seemingly understood, and often followed!
naniwaduni · 5 days ago
... most of which would also be valuable information to communicate when onboarding new devs.
nfw2 · 2 days ago
Stylistic preferences could usually be inferred by just looking at the code. Perhaps if code is mid-refactor there may be inconsistencies, but ideal ai coding agent could also look through git history

Deleted Comment

goosejuice · 5 days ago
I suspect machine readable practices will become standard as AI is incorporated more into society.

A good example is autonomous driving and local laws / context. "No turn on red. School days 7am-9am".

So you need: where am I, when are school days for this specific school, and what datetime it is. You could attempt to gather that through search. Though more realistically I think the municipality will make the laws require less context, or some machine readable (e.g. qrcode) transfer of information will be on the sign. If they don't there's going to be a lot of rule breaking.

username223 · 5 days ago
Very strong "reverse centaur" vibes here, in the sense of humans becoming servants to machines, instead of vice versa. Not that I think making things more machine-readable is a waste of time, but you have to keep in mind the amount of human time sacrificed.
iknowstuff · 5 days ago
Those particular signs are just stupid. The street should be redesigned with traffic calming, narrowing and chicanes so that speeding is not possible.

Slapping on a sign is ineffective

deadbabe · 5 days ago
That seems anachronistic, form over function. Machines should be able to access an API that returns “signs” for their given location. These signs don’t need any real world presence and can be updated instantly.
monkeydust · 5 days ago
Also see this happening, what does that mean for business specifications? Does it become close to code syntax itself?
joegibbs · 5 days ago
I think they'll always need special guidance for things like business logic. They'll never know exactly what it is that you're building and why, what the end goal of the project is without you telling them. Architectural stuff is also a matter of human preference: if you have it mapped out in your head where things should go and how they should be done, it will be better for you when reading the changes, which will be the real bottleneck.
fritzo · 5 days ago
Indeed I have observed that my coworkers "never know exactly what it is that [we]'re building and why, what the end goal of the project is without [me] telling them"
4b11b4 · 5 days ago
I agree with this general sentiment, but there might be some things you want to force into the context every time via a specific agent file.
kissgyorgy · 5 days ago
Not at all. Good documentation for humans are working well for models too, but they need so much more details and context to be reliable than humans that it needs a different style of description.

This needs to contain things that you would never write for humans. They also do stupid things which need to be adjusted by these descriptions.

rr808 · 5 days ago
One of the most common usages I see from colleagues is to get agents to write the comments so you can go full circle. :)
seb1204 · 5 days ago
Unless we write down on the what we often consider implicit the LLM will not know it. There might be the option to deduce some implicit requirements from the code but unlikely 100%. Thus making the requirements explicit is the go.
theletterf · 5 days ago
Yes! That was precisely my point here: https://news.ycombinator.com/item?id=44837875
criley2 · 5 days ago
Better to work with the tools we have instead of the tools we might one day have. If you want agents to work well today, you need to build for the agents we have today.

We may never achieve your future where context is unlimited, models are trained on your codebase specifically, and tokens are cheap enough to use all of this. We might have a bubble pop and in a few years we could all be paying 5-10X current prices (read: the actual cost) for similar functionality to today. In that reality, how many years of inferior agent behavior do you tolerate before you give up hoping that it will evolve past needing the tweaks?

vFunct · 5 days ago
> We're in a transition phase today where agents need special guidance to understand a codebase that go beyond what humans need. Before long, I don't think they will.

This isn't guaranteed. Just like we will never have fully self-driving cars, we likely won't have fully human quality coders.

Right now AI coders are going to be another tool in the tool bucket.

blinkymach12 · 5 days ago
I don't think the bar here is a human level coder, I think the bar is an LLM which reads and follows the README.md.

If we're otherwise assuming it reads and follows an AGENTS.md file, then following the README.md should be within reach.

I think our task is to ensure that our README.md is suitable for any developer to onboard into the codebase. We can then measure our LLMs (and perhaps our own documentation) by if that guidance is followed.

CuriouslyC · 5 days ago
Have you taken a Waymo?
Mtinie · 5 days ago
> Just like we will never have fully self-driving cars, we likely won't have fully human quality coders.

“Never is a long time...and none of us lives to see its length.” Elizabeth Yates, A Place for Peter (Mountain Born, #3)

“Never is an awfully long time.” J.M. Barrie, Peter Pan

mvkel · 5 days ago
This is mostly true if the existing codebase is largely self documented, which is rare

Deleted Comment

TZubiri · 5 days ago
This applies to mcp too
jillesvangurp · 5 days ago
Here's a prompt I wrote a few days ago for codex:

  Analyze the repository and add a suitable agents.md
It did a decent job. I didn't really have much to add to that. I guess, having this file is a nice optimization but obviously it doesn't contain anything it wasn't able to figure out by itself. What's really needed is a per repository learning base that gets populated with facts the agents discovers during it's many experiments with the repository over the course of many conversations. It's a performance optimization.

The core problem is that every conversation is like ground hog day. You always start from scratch. Agents.md is a stop gap solution for that problem. Chatgpt actually has some notional memory that works across conversations. But it's a bit flaky, slow, and limited. It doesn't really learn across conversations.

That btw. is a big missing piece on the path to AGIs. There are some imperfect workarounds but a lot of knowledge is lost in between conversations. And the trick of just growing the amount of context we give to our prompts doesn't seem like it's the solution.

athrowaway3z · 5 days ago
I see the groundhog day problem as a feature, not a bug.

It's an organizational challenge, requiring a top level overview and easy to find sub documentation - and clear directives to use them when the AI starts architecting on a fresh start.

Overall, it's a good sign when a project is understandable in small independent chunks that don't demand a programmer/llm take in more context than was referenced.

I think the sweet spot would be all agents agree on a MUST-READ reference syntax for inside comments & docs that through simple scanning forces the file into the context. eg

// See @{../docs/payment-flow.md} for the overall design.

criley2 · 5 days ago
Your prompt is pretty basic. Both Claude Code and Github Copilot having similar features. Claude Code has `init` which has a lot of special sauce in the prompt to improve the CLAUDE.md. And github copilot added a self-documenting prompt as well that runs on new repos, and you can see their prompt here https://docs.github.com/en/copilot/how-tos/configure-custom-...

Reading their prompt gives ideas on how you can improve yours.

spawarotti · 5 days ago
At this point AGENTS.md is a README.md with enough hype behind it to actually motivate people to populate it with contents. People were too lazy to write docs for other people, but funnily enough are ok with doing it for robots.

This situation reminds me a bit of ergonomic handles design. Designed for a few people, preferred by everyone.

nicklo · 5 days ago
I think it’s the reverse - people were too lazy to read the docs so nobody was motivated to write them.

With an agent I know if I write once to CLAUDE.md and it will be read by 1000’s of agents in a week.

blinkymach12 · 5 days ago
I like this insight. We kind of always knew that we wanted good docs, but they're demotivating to maintain if people aren't reading them. LLMs by their nature won't be onboarded to the codebase with meetings and conversations, so if we want them to have a proper onboarding then we're forced to be less lazy with our docs, and we get the validation of knowing they're being used.
yanis_t · 5 days ago
I still don't get why it can't be just README.md. Just make sure it's minimal bullshit inside.
whywhywhywhy · 5 days ago
I mean the agents are to lazy to read any of this anyway and often will forget the sort of instructions being spam these with after 3 more instructions too.
wfhrto · 5 days ago
The difference now is that people are actively trying to remove people (others and themselves) from software development work, so the robots have to have adequate instructions. The motivation is bigger. To dismantle all human involvement with software development is something that everyone wants, and they want it yesterday.
samename · 5 days ago
everyone? source?
laweijfmvo · 5 days ago

  > build steps, tests, and conventions that might clutter a README or aren’t relevant to human contributors.
what in fresh hell is the world coming to

astrobe_ · 5 days ago
You didn't get the memo? Vibe coding, obviously. Joke aside, I remember there was an article here a few weeks ago maybe about writing docs for bots about which commenters here said it was no different that writing better docs.
kordlessagain · 5 days ago
Basically a link to a page that says "create a file called AGENTS.md and put magic in it" and then links to a repo for the actual website saying this.
witx · 4 days ago
Devs are just being trolled into documenting their code. But because it's AI they are hyping it
faangguyindia · 5 days ago
I am developing a coding agent that currently manages and indexes over 5,000 repositories. The agent's state is stored locally in a hidden `.agent` directory, which contains a configuration folder for different agent roles and their specific instructions. Then we've a "agents" folder with multiple files, each file has

<Role> <instruction>

Agent only reads the file if its role is defined there.

Inside project directory, we've a dot<coding agent name> folder where coding agents state is stored.

Our process kicks off with an `/init` command, which triggers a deep analysis of an entire repository. Instead of just indexing the raw code, the agent generates a high-level summary of its architecture and logic. These summaries appear in the editor as toggleable "ghost comments." They're a metadata layer, not part of the source code, so they are never committed in actual code. A sophisticated mapping system precisely links each summary annotation to the relevant lines of code.

This architecture is the solution to a problem we faced early on: running Retrieval-Augmented Generation (RAG) directly on source code never gave us the results we needed.

Our current system uses a hybrid search model. We use the AST for fast, literal lexical searches, while RAG is reserved for performing semantic searches on our high-level summaries. This makes all the difference. If you ask, "How does authentication work in this app?", a purely lexical search might only find functions containing the word `login` and functions/classes appearing in its call hierarchy. Our semantic search, however, queries the narrative-like summaries. It understands the entire authentication flow like it's reading a story, piecing together the plot points from different files to give you a complete picture.

It works like magic.

threecheese · 3 days ago
Working on something similar. Legacy codebase understanding requires this type of annotation, and “just use code comments” is too much of a blunt instrument to too much good. Are you storing the annotations completely out of band wrt the files, or using filesystem capabilities like metadata?

This type of metadata itself could have individual value; there are many types of documents that will be analyzed by LLMs, and will need not only a place to store analysis alongside document-parts, but meta-metadata related to the analysis (like timestamps, models, prompts used etc). Of course this could all be done OOB, but then you need a robust way to link your metadata store to a file that has a lifecycle all its own thats only observable by you (probably).

simianwords · 5 days ago
To add further to your idea:

You can create a hierarchy of summaries. The idea being summaries can exist at the method level, class level and the microservice or module level. Each layer of summary points to its child layers and leaf nodes are code themselves. I think it can be a B tree or a normal tree.

The RAG agent can traverse as deep as needed for the particular semantic query. Each level maintains semantic understanding of the layer beneath it but as a tradeoff it loses a lot of information and keeps only what is necessary.

This will work if the abstractions in the codebase are done nicely - abstractions are only useful if they actually hide implementation details. If your abstractions are good enough, you can afford to keep only the higher layers (as required) in your model context. But if it’s not good, you might even have to put actual code in it.

For instance a method like add(n1, n2) is a strong abstraction - I don’t need to know its implementation but only semantic meaning at this level.

But in real life methods don’t always do one thing - there’s logging, global caches etc.

jzig · 5 days ago
Tell me more!
faangguyindia · 5 days ago
The agent I’m developing is designed to improve or expand upon "old codebases." While many agents can generate code from scratch, the real challenge lies in enhancing legacy code without breaking anything.

This is the problem I’m tackling, and so far, the approach has been effective. It's simple enough for anyone to use: the agent makes a commit, and you can either undo, squash, or amend it through the Git UI.

The issue is that developers often skip reviewing the code properly. To counter that, I’m considering shifting to a hunk-by-hunk review process, where each change is reviewed individually. Once the review is complete, the agent would commit the code.

The concept is simple, but the fun lies in the implementation details—like integrating existing CLI tools without giving the agent full shell access, unlike other agents.

What excites me most is the idea of letting 2–3 agents compete, collaborate, and interpret outputs to solve problems and "fight" to find the best solution.

That’s where the real fun is.

Think of it as surgeons scalpel approach rather than "steam roller" approach most agents take.

ivanjermakov · 5 days ago
I'm still not convinced that separating README.md and AGENTS.md is a good idea.
kaycebasques · 5 days ago
I've also been debating this: https://technicalwriting.dev/ai/agents/#gotta-keep-em-separa...

(Quoting from that post)

Arguments in favor of keeping them separated:

* Writing style. In agent docs, using all caps might be an effective way to emphasize a particular instruction. In internal eng docs, this might come off rude or distracting.

* Conciseness vs. completeness. In agent docs, you likely need to keep the content highly curated. If you put in too much content, you’ll blast through your API quotas quickly and will probably reduce LLM output quality. In internal eng docs, we ideally aim for 100% completeness. I.e. every important design decision, API reference, workflow, etc. is documented somewhere.

* Differing knowledge needs. The information that LLMs need help with is not the same as the information that human engineers need help with. For example, Gemini 2.5 Pro has pretty good built-in awareness of Pigweed’s C++ Style Guide. I tested that assertion by invoking the Gemini API and instructing it Recite the Pigweed C++ Guide in its entirety. It did not recite in full, but it gave a detailed summary of all the points. So the Gemini 2.5 Pro API was either trained on the style guide, or it’s able to retrieve the style guide when needed. Therefore, it’s not necessary to include the full style guide as AGENTS.md context. (Credit to Keir Mierle for this idea.)

Arguments against:

* Duplication. Conceptually, agent docs are a subset of internal eng docs. The underlying goal is the same. You’re documenting workflows and knowledge that’s important to the team. But now you need to maintain that same information in two different doc sets.

CGamesPlay · 5 days ago
> Writing style. In agent docs, using all caps might be an effective way to emphasize a particular instruction. In internal eng docs, this might come off rude or distracting.

To pile on to this, an agent needs to see "ABSOLUTELY NEVER do suchandsuch" to not do suchandsuch, but still has a pretty fair chance of doing it by accident. A talented human seeing "ABSOLUTELY NEVER do suchandsuch" will interpret this to mean there are consequences to doing suchandsuch, like being fired or causing production downtime. So the same message will be received differently by the different types of readers.

ghuntley · 5 days ago
Using all caps will actually cause GPT-5 to not function effectively. Have a look at the GPT-5 tuning documentation for coding.
diggan · 5 days ago
At this point, README.md becomes the "marketing/landing page markdown" and AGENTS.md/CLAUDE.md becomes the ones you visit to get an overview of the actual code/architecture/usage.
andyferris · 5 days ago
For ages, many projects have README.md for marketing/landing page (i.e. users) and CONTRIBUTING.md for developers.

Why we don't treat coding agents as developers and have them reading CONTRIBUTING.md is baffling to me.

blinkymach12 · 5 days ago
I had the same thought as I read this example. Everything in the AGENTS.md file should just be in a good README.md file.
esafak · 5 days ago
My READMEs don't have things like "don't run the whole test suite unless I instruct you to because it will take too long; run targeted tests instead".
sothatsit · 5 days ago
You're going to include specific coding style rules in your README? Or other really agent-specific things like guidance about spawning sub-agents?

They are separate for a good reason. My CLAUDE.md and README.md look very different.

stingraycharles · 5 days ago
It is. README is for humans, AGENTS / etc is for LLMs.

Document how to use and install your tool in the readme.

Document how to compile, test, architecture decisions, coding standards, repository structure etc in the agents doc.

darepublic · 5 days ago
Compile, test, architecture would be very welcome in the readme too Id wager
sponnath · 5 days ago
Why would these things not be relevant for humans?
crazylogger · 5 days ago
We have CONTRIBUTING.md for that. Seems to me the author just doesn't know about it?
furyofantares · 5 days ago
There's a lot of shit in my claude.md that would be condescending to a human. Some of it I don't even mean, it's just there to correct egregious patterns the model loves to do. I'm not gonna write "never write fallback code" in my readme, but it saves a lot of time to prevent claude from constantly writing code that would silently fail if it got past me because it contains a fallback path with hardcoded fake data.
trailrunner46 · 5 days ago
One reason to consider is around context usage with LLMs. Less is generally better and README.md files are often too much text some of which I don’t want in every context window.

I find AGENT.md and similar functioning files for LLMs in my projects contains concise and specific commands around feedback loops such as testing, build commands, etc. Yes these same commands might be in a README.md but often there is a lot more text that I don’t want in the context window being sent with every turn to the LLM.

rogeliodh · 5 days ago
Some time ago a lot of projects had a README and a BUILD/README.build/DEVELOPMENT file... I think AGENTS.md is more akin to this last file.
lmeyerov · 5 days ago
We find it useful:

* Agents still kinda suck so need the help around context management and avoiding foot guns. Eg, we make a < 500loc ai/readme.md with must haves, links to others, and meta how-to-use

* Similar to IaaC, useful to separate out as not really ready the same way we read it, and many markdowns are really scripts written in natural language, eg, plan.md.template

petesergeant · 5 days ago
Perhaps. I let Claude put whatever it wants in its Claude file and check it’s not batshit from time to time, where I’m very protective of the high-quality README I write for humans. The Claude file has stuff that would be obvious to a human and weird to jam into the README (we use .spec.ts not .test.ts) but that Claude needs in order to get things right.
alphazard · 5 days ago
Isn't the promise of AI that we don't have to adhere to precise formats? We can just write it down in whatever format makes the most sense to us, and any impedance mismatch is on the machine to figure out?
sqs · 5 days ago
Just the filename is standardized. The contents aren't, which is exactly right. From the site:

> Are there required fields?

> No. AGENTS.md is just standard Markdown. Use any headings you like; the agent simply parses the text you provide.

4b11b4 · 5 days ago
No, structure and format matters, even if it may not be precise code syntax
seb1204 · 5 days ago
Still need to write it down to make it explicit. The longer the writing gets the more a structured approach is suitable for the human writing and maintaining the instructions.
torginus · 5 days ago
I feel like humans are slowly being tricked into maintaining proper documentation for their projects.
driverdan · 5 days ago
Joking aside this is kind of how I'm pitching it to our team. Even if LLMs don't significantly improve productivity writing code they will at least get us to document everything in a similar amount of time.
falcor84 · 5 days ago
"Mission. Fucking. Accomplished."

https://xkcd.com/810/