← back to CelebritySignatures
Add AI-readable site guide
19ad3e6f1cf1c92c99cbda2eb754a6f7ede26889 · 2026-08-31 02:08:01 -0700 · Steve Abrams
Files touched
A package-lock.jsonM server.js
Diff
commit 19ad3e6f1cf1c92c99cbda2eb754a6f7ede26889
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Aug 31 02:08:01 2026 -0700
Add AI-readable site guide
---
package-lock.json | 12 ++++++++++++
server.js | 6 ++++++
2 files changed, 18 insertions(+)
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..c809992
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,12 @@
+{
+ "name": "celebrity-signatures",
+ "version": "1.0.3",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "celebrity-signatures",
+ "version": "1.0.3"
+ }
+ }
+}
diff --git a/server.js b/server.js
index 297b175..4990668 100644
--- a/server.js
+++ b/server.js
@@ -963,6 +963,12 @@ ${museums.length ? `<div class="sec">In the collections of</div><div class="meta
res.end('User-agent: *\nAllow: /\nSitemap: https://celebsignatures.com/sitemap.xml\n');
return;
}
+ if (path === '/llms.txt' && M === 'GET') {
+ const count = (await mergedSignatures()).length;
+ res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8', 'Cache-Control': 'public, max-age=3600' });
+ res.end(`# Celebrity Signatures\n\n> A sourced public-domain archive of ${count.toLocaleString()} notable signatures, with crawlable person pages and archival attribution.\n\n- Canonical site: https://celebsignatures.com/\n- Signature index: https://celebsignatures.com/sitemap.xml\n- Games: https://celebsignatures.com/game\n- Murals: https://celebsignatures.com/murals\n- Contributor upload: https://celebsignatures.com/upload\n\nEach /a/Q… page describes one person and includes Person JSON-LD, source/license fields, canonical metadata, and an image of the signature.\n`);
+ return;
+ }
// AdSense ads.txt — required for the account to be authorized to serve ads.
// Served only once a publisher id is configured (else 404, so no broken file).
if (path === '/ads.txt' && M === 'GET') {
← 93f7578 CelebritySignatures mobile: early-game respects Difficulty +
·
back to CelebritySignatures
·
wear: charge apparel through live-capable Stripe resolver, n 8b5b7ca →