Skip to content

feat: add llms.txt for better LLM usage#492

Open
rothgar wants to merge 1 commit into
siderolabs:mainfrom
rothgar:llm.txt
Open

feat: add llms.txt for better LLM usage#492
rothgar wants to merge 1 commit into
siderolabs:mainfrom
rothgar:llm.txt

Conversation

@rothgar

@rothgar rothgar commented Jul 7, 2026

Copy link
Copy Markdown
Member

Adds the file to the root path for automatic discovery and helping LLMs discover endpoints and usage.

Copilot AI review requested due to automatic review settings July 7, 2026 15:59
@github-project-automation github-project-automation Bot moved this to To Do in Planning Jul 7, 2026
@talos-bot talos-bot moved this from To Do to In Review in Planning Jul 7, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an llms.txt file at the repository root to provide a concise, machine-readable description of Image Factory concepts, HTTP/PXE/OCI endpoints, and example usage for automated LLM discovery.

Changes:

  • Introduces llms.txt describing core Image Factory concepts (schematics, versions, models) and a typical workflow.
  • Documents key HTTP/PXE/OCI endpoints and enterprise-only APIs, with example curl/docker commands.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread llms.txt
Comment thread llms.txt Outdated
@shanduur

shanduur commented Jul 9, 2026

Copy link
Copy Markdown
Member

Do we need to write this down? It will become obsolete each time we update docs. If this is needed, maybe we can serve it from Image Factory itself on factory.talos.dev/llms.txt?

@rothgar

rothgar commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

Do we need to write this down? It will become obsolete each time we update docs. If this is needed, maybe we can serve it from Image Factory itself on factory.talos.dev/llms.txt?

That was the goal and I forgot to also push those changes. I just added a handler for /llms.txt with the text returned.

Adds the file to the root path for automatic discovery and helping LLMs
discover endpoints and usage.

Signed-off-by: Justin Garrison <justin.garrison@siderolabs.com>
@rothgar

rothgar commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

The lint check failures are not because of this PR.

#27 ERROR: process "/bin/sh -c dis-vulncheck -tool=false ./..." did not complete successfully: exit code: 1
------
 > [lint-govulncheck 2/2] RUN --mount=type=cache,target=/root/.cache/go-build,id=image-factory/root/.cache/go-build --mount=type=cache,target=/go/pkg,id=image-factory/go/pkg dis-vulncheck -tool=false ./...:
10.47 
10.47 Vulnerability #2: GO-2026-5932
10.47 The golang.org/x/crypto/openpgp package is unmaintained, unsafe by design, and has known security issues
10.47 More info: https://pkg.go.dev/vuln/GO-2026-5932
10.47 Affected products: 
10.47  - pkg:golang/golang.org%2Fx%2Fcrypto@v0.52.0
10.47 Your code is affected by this vulnerability
10.47 
10.47 
10.47 dis-vulncheck scan complete! 🚀
------
WARNING: No output specified with remote driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load
Dockerfile:237
--------------------
 235 |     FROM base AS lint-govulncheck
 236 |     WORKDIR /src
 237 | >>> RUN --mount=type=cache,target=/root/.cache/go-build,id=image-factory/root/.cache/go-build --mount=type=cache,target=/go/pkg,id=image-factory/go/pkg dis-vulncheck -tool=false ./...
 238 |     
 239 |     # runs unit-tests with race detector
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c dis-vulncheck -tool=false ./..." did not complete successfully: exit code: 1
make[1]: *** [Makefile:204: target-lint-govulncheck] Error 1
make[1]: Leaving directory '/home/runner/_work/image-factory/image-factory'
make: *** [Makefile:254: lint-govulncheck] Error 2

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we render this on build? This is technically just a docs/API.md with some minor changes, right?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's just a raw text endpoint. I'm not sure what the difference would be with rendering on build vs embedding. Happy to do it a different way, I just wanted something that was easier for discovery and usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

4 participants