Skip to content

Add auto-generated llms.txt + AGENTS.md, CHANGELOG.md, and bump to 1.1.0 - #512

Open
ErickXavier wants to merge 3 commits into
BraveOPotato:mainfrom
ErickXavier:add-llms-txt-and-agents-md
Open

ErickXavier wants to merge 3 commits into
BraveOPotato:mainfrom
ErickXavier:add-llms-txt-and-agents-md

Conversation

@ErickXavier

@ErickXavier ErickXavier commented Jul 14, 2026

Copy link
Copy Markdown

What

Makes the directory readable by LLMs and AI coding agents, and adds release hygiene:

  • public/llms.txt — served at https://nosignups.net/llms.txt following the llmstxt.org convention. Since the site is a React SPA, an LLM fetching the root URL gets an empty HTML shell; this file summarizes the project and embeds the complete tool directory (all 210 tools grouped by category, with links, descriptions, source repos, and licenses), so LLMs can read the whole list in one fetch.
  • AGENTS.md — repo-root instructions for AI coding agents per the agents.md convention: commands, project layout, tools.json schema, contribution rules, plus a compact auto-generated tool index so agents can check for duplicates before adding a tool.
  • scripts/generateLlmsDocs.mjs — zero-dependency Node script that regenerates the tool lists in both files from tools.json (block between BEGIN/END GENERATED TOOL LIST markers; hand-written prose is untouched). Sorting mirrors the site: featured first, then stars. Runs automatically as the first step of npm run build, so the published files always reflect the latest tools.json; also runnable standalone via npm run generate:llms.
  • vite.config.ts — a small build-only plugin that copies AGENTS.md into dist/ so it is also served at https://nosignups.net/AGENTS.md (linked from llms.txt).
  • CHANGELOG.mdKeep a Changelog format with SemVer versioning; 1.1.0 covers this PR, 1.0.0 the initial release. Routine tools.json edits are explicitly out of its scope.
  • package.json — version bumped 1.0.01.1.0 (additive, backwards-compatible changes).

Why

More and more people find tools by asking an LLM. These files let assistants discover and correctly cite the NoSignups directory — including every listed tool — and help coding agents contribute to the repo following your guidelines.

Verification

  • npm run build passes; dist/ contains both llms.txt and AGENTS.md with all 210 tools embedded.
  • Generation is idempotent (running it twice produces byte-identical files).
  • No runtime code paths touched — the vite change is build-time only (apply: "build"), so npm run dev is unaffected.

…ectory

Since the site is a React SPA, LLMs fetching https://nosignups.net get an
empty HTML shell. This adds:

- public/llms.txt — served at /llms.txt per the llmstxt.org convention;
  summarizes the project and points LLMs at the machine-readable tools.json
  raw URL instead of scraping the site.
- AGENTS.md — repo-root instructions for AI coding agents (commands, layout,
  tools.json schema and contribution rules), the standard agents.md location.
- vite.config.ts — small build plugin that copies AGENTS.md into dist/ so it
  is also served at /AGENTS.md.
… time

Adds scripts/generateLlmsDocs.mjs, which reads tools.json and rewrites the
block between BEGIN/END GENERATED TOOL LIST markers in public/llms.txt and
AGENTS.md:

- llms.txt gets the complete directory (name, link, description, source,
  license, not-recommended flags) grouped by category, so LLMs can read the
  whole list directly without fetching tools.json.
- AGENTS.md gets a compact id/name/url index per category so coding agents
  can check for duplicates before adding a tool.

Wired into `npm run build` (runs before tsc/vite) so the published files are
always regenerated from the latest tools.json; also available standalone as
`npm run generate:llms`. Sorting mirrors the site: featured first, then stars.
- CHANGELOG.md follows keepachangelog.com 1.1.0 format with SemVer versioning:
  1.1.0 covers the llms.txt/AGENTS.md/generator additions, 1.0.0 the initial
  release. Routine tools.json edits are explicitly out of scope.
- package.json bumped 1.0.0 -> 1.1.0 (additive, backwards-compatible).
- AGENTS.md conventions now ask agents to keep the changelog and version
  in sync.
@ErickXavier ErickXavier changed the title Add llms.txt and AGENTS.md so LLMs and coding agents can read the directory Add auto-generated llms.txt + AGENTS.md, CHANGELOG.md, and bump to 1.1.0 Jul 14, 2026
@BraveOPotato

Copy link
Copy Markdown
Owner

Hi,

Thank you for the PR!

As far as I understand, AGENTS.md is a file used to tell LLM agents how to work on the code base, but I'm not exactly sure it needs to be served at /AGENTS.md from the browser. Would you mind elaborating on that?

@ErickXavier

ErickXavier commented Sep 14, 2026

Copy link
Copy Markdown
Author

Hi,

Thank you for the PR!

As far as I understand, AGENTS.md is a file used to tell LLM agents how to work on the code base, but I'm not exactly sure it needs to be served at /AGENTS.md from the browser. Would you mind elaborating on that?

That's not for the browser, the AGENTS.md, as my PR describes:

AGENTS.md — repo-root instructions for AI coding agents per the agents.md convention: commands, project layout, tools.json schema, contribution rules, plus a compact auto-generated tool index so agents can check for duplicates before adding a tool.

@BraveOPotato

Copy link
Copy Markdown
Owner

I saw that but the reason why I asked is because vite.config.ts has a custom plugin you wrote which copies the AGENTS.md file to the /dist directory.

Since deployment takes everything in the /dist directory and uploads it to static hosting, it makes the AGENTS.md file accessible at /AGENTS.md route.

I'm essentially wondering why the custom plugin is necessary if we don't want the file to be accessible from the browser.

@ErickXavier

Copy link
Copy Markdown
Author

I saw that but the reason why I asked is because vite.config.ts has a custom plugin you wrote which copies the AGENTS.md file to the /dist directory.

Since deployment takes everything in the /dist directory and uploads it to static hosting, it makes the AGENTS.md file accessible at /AGENTS.md route.

I'm essentially wondering why the custom plugin is necessary if we don't want the file to be accessible from the browser.

So other dev's agents will have the context and how to work on FckSignups :)

@BraveOPotato

Copy link
Copy Markdown
Owner

But the file would be committed to the repo anyways. So in theory, when they want to work on it, they'd have the repo cloned, which means they'll have the file already without navigating to /AGENTS.md in the browser. I don't see why it needs to be served via static hosting.

@ErickXavier

Copy link
Copy Markdown
Author

But the file would be committed to the repo anyways. So in theory, when they want to work on it, they'd have the repo cloned, which means they'll have the file already without navigating to /AGENTS.md in the browser. I don't see why it needs to be served via static hosting.

I fed it to the llms.txt also, so the website will already introduce the file to the agents, whenever they visit the site before they visit the repo.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants