From 32a4b0aa439a649623af66e2e8c72931067e3816 Mon Sep 17 00:00:00 2001 From: Nish <257724087+nish3451@users.noreply.github.com> Date: Tue, 11 Aug 2026 06:47:05 +0530 Subject: [PATCH] fix(public): list all 12 public pages in llms.txt The generated llms.txt only listed 7 of the 12 public URLs, omitting the per-app support/privacy trust pages (promptly/support, promptly/privacy, drishti/support, drishti/privacy) and privacy-choices. Add the missing URLs to the template in prepare-static-site-bundle.mjs and the committed artifact, plus a generator guard that fails the build if llms.txt ever stops covering every public page. --- public/llms.txt | 5 +++++ scripts/prepare-static-site-bundle.mjs | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/public/llms.txt b/public/llms.txt index a0b2c63d..6d045153 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -8,9 +8,14 @@ Tiny Studio is a small product company behind Promptly, Drishti, and 0509. - Support: https://tinystudio.in/support/ - Contact: https://tinystudio.in/contact/ - Privacy: https://tinystudio.in/privacy/ +- Privacy choices: https://tinystudio.in/privacy-choices/ - Terms: https://tinystudio.in/terms/ - Promptly: https://tinystudio.in/promptly/ +- Promptly support: https://tinystudio.in/promptly/support/ +- Promptly privacy: https://tinystudio.in/promptly/privacy/ - Drishti: https://tinystudio.in/drishti/ +- Drishti support: https://tinystudio.in/drishti/support/ +- Drishti privacy: https://tinystudio.in/drishti/privacy/ ## Product boundaries diff --git a/scripts/prepare-static-site-bundle.mjs b/scripts/prepare-static-site-bundle.mjs index a8ddeb2c..419d8c2b 100644 --- a/scripts/prepare-static-site-bundle.mjs +++ b/scripts/prepare-static-site-bundle.mjs @@ -63,9 +63,14 @@ Tiny Studio is a small product company behind Promptly, Drishti, and 0509. - Support: https://tinystudio.in/support/ - Contact: https://tinystudio.in/contact/ - Privacy: https://tinystudio.in/privacy/ +- Privacy choices: https://tinystudio.in/privacy-choices/ - Terms: https://tinystudio.in/terms/ - Promptly: https://tinystudio.in/promptly/ +- Promptly support: https://tinystudio.in/promptly/support/ +- Promptly privacy: https://tinystudio.in/promptly/privacy/ - Drishti: https://tinystudio.in/drishti/ +- Drishti support: https://tinystudio.in/drishti/support/ +- Drishti privacy: https://tinystudio.in/drishti/privacy/ ## Product boundaries @@ -89,6 +94,7 @@ async function main() { await fs.writeFile(cssPath, css); await fs.copyFile(iconPath, appleIconPath); await fs.writeFile(path.join(root, "llms.txt"), llmsTxt); + assertLlmsTxtCoversPublicPages(llmsTxt); for (const relativeFile of htmlFiles) { const filePath = path.join(root, relativeFile); @@ -143,6 +149,22 @@ function addSupportSchema(html) { return html.replace(/(\s* relativeFile !== "404.html"); + const missing = publicFiles + .map(pageUrlFor) + .filter((url) => !content.includes(url)); + if (missing.length) { + throw new Error(`llms.txt does not list every public page; missing: ${missing.join(", ")}`); + } +} + async function assertLocalAssetsExist() { const referenced = new Set(); for (const relativeFile of htmlFiles) {