-
Notifications
You must be signed in to change notification settings - Fork 6k
Add llms.txt
file to F# documentation.
#47144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
@dotnet-policy-service agree company="GitHub" |
Are there any centralized ideas/efforts/plans for doing the equivalent of this for other docs as well? |
Adding @IEvangelist @gewarren @adegeo on my team. Yes, we are looking at a way to do this for the full repo. I like the direction. Please give us a few days to work through some details and we'll get a review and next steps. |
Hi @ScottArbeit — thank you for this PR! And hey @T-Gro, appreciate the thoughtful question and discussion. Ideally, this kind of functionality should be integrated into our internal build system. Some modern docs platforms — like Starlight — already support it out of the box via plugins like this one. While many tools today scrape rendered HTML to generate Separately, the Microsoft Learn platform team has been discussing expectations and ecosystem-wide guidance around |
The docfx will need to be updated to ship llms.txt in any folder. Right now it's only adding image files as extra content resources. @IEvangelist Looks like Gopher is making a comeback 😜 |
Thanks for the discussion, everyone. I just wanted to get the ball rolling on this, expecting that it will evolve.
I understand the temptation to want to auto-generate I encourage you all to look at This applies very well to C# - where newer functional constructs should be preferred - and to C/C++ where the weight of older C99 / C++98 style code still affects code gen. I could go on, but you get the point. And not just languages, think
Although I'm not on the Microsoft Learn team, I'm in DevDiv and happy to participate. If I could design a process around If there's any automation behind creating the file, I'd love for it involve a combination of automatically generating the "table of contents" part + a hand-edited, well-discussed section about language (or framework or technology) standards that makes it explicit which constructs are preferred. That bit could come from another page in the documentation where we explicitly share those standards, and we could use an agentic workflow to take that page and summarize it for including in Anyway, that's my 2₵. I just don't want to lose the opportunity to apply human design thinking here. It's soon-to-be the most important place for humans to tell the models how to use our technologies in their best possible ways. And, frankly, for F#, I need it. I'm very tired of seeing code generated with
|
@adegeo : Do I understand it correctly that right now we cannot ship any .txt to docs production anyway, until that update is done? Otherwise I would be happy to approve this to get it in, before a more centralized solution comes in. @ScottArbeit : |
I believe so. It doesn't just mirror what's in GitHub; it must be marked as a resource to be published, something like Lines 118 to 127 in 3d22cff
|
We can also update one of the repo health scripts/checks we have to discover any llms.txt and check for valid links until the org catches up. |
Summary
This PR adds a new
llms.txt
file to the F# documentation.llms.txt
is a proposed new standard that is meant to allow AI and large language models to get a summary and guidance for how to use a web site effectively. The major frontier LLM providers have indicated their support for the file and for using markdown as the format for it.Notes
In addition to replicating the high-level table of contents for F# documentation, I've included two other sections.
Coding Standards Guidance
This section is intended to reinforce modern F# coding standards and best practices for LLM code generation. My hope is that this guidance overrides some of the older format F# code found in open-source repositories.
I particularly welcome feedback on this section... additional guidance is more than welcome. This is just what I could think of quickly, and mostly comes from the instructions I've ended up giving to ChatGPT about F#.
Additional F# Community Resources
F# has a strong community, and these websites are the most common ones I see show up in web searches and the ones that I've relied on learning the language.
Because we've referred to these sites in other documentation and blog posts (and videos and conference sessions, etc.) I feel safe adding them, but if referring to non-Microsoft sites in official documentation is a problem, I can remove them.