{"_id":"@adkinn/astro-ai-readiness","_rev":"9-fb0b2a8c2c49438100dffcfb94edae25","name":"@adkinn/astro-ai-readiness","dist-tags":{"latest":"0.0.15"},"versions":{"0.0.7":{"name":"@adkinn/astro-ai-readiness","version":"0.0.7","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.7","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"b9e1d6ad99920b15d57656e051fa13b0a983b170","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.7.tgz","fileCount":37,"integrity":"sha512-iBldRwWmf+cQMEGSmXSYuMNOFul81NSLj3VuFbpF8AkLsN1b/3Pu3E7aVfd/IvDkaqGYWjINintlC1RtlcK2ew==","signatures":[{"sig":"MEUCIQC5csUbzDKiXuumquzawhNdALVf4KYRfntLESN8K/ICcAIgN+wDAmsOJLWg/1kRgcaMDypv+izY4k5jRTdhIuNSahI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85689},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"1543797432a3c1e326230165a50fcba3f1c2df08","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"11.9.0","description":"AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^6.1.9","typescript":"^5.6.0","@types/node":"^25.6.0"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.7_1783632462966_0.19555112457200274","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@adkinn/astro-ai-readiness","version":"0.0.8","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.8","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"2818fe015591a57207117dd03608c2fa0ca2f8be","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.8.tgz","fileCount":38,"integrity":"sha512-amUjsi8mu+vIcZrTNZ4EdQWTbE4RZmUjEW+TQsCjbQuwsBvgSsE4hHgmSKHTzET8/swaauWblfbI+tVH/2Y54g==","signatures":[{"sig":"MEYCIQDknYqeNRU4imqpe5y16KR0OgEvR4+7AN/j5JMdHXAaZQIhALxbUEx1dWGK10k6aTI3SLtwWogSkwk9Ns7XwxSU7Y8w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"b66b68337bbce8241dcc9c6683ad4ff712849c94","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"11.9.0","description":"AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^6.1.9","typescript":"^5.6.0","@types/node":"^25.6.0"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.8_1783637085386_0.15111960583620454","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@adkinn/astro-ai-readiness","version":"0.0.9","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.9","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"512860a449dbb2ce1b1103dd25d3e7d6509bf905","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.9.tgz","fileCount":39,"integrity":"sha512-bw33t03U6nuXKaEjYHMoqNFlGTBMlZ+yddKRmnafvaFST23fPDrHFwj0KNWhM1WsdD20ybR3V09y18UuAaiFGw==","signatures":[{"sig":"MEUCIQCzRLtFhhnN8J8djBjl32vQueFPXFvSH4WkBBOX32vIiQIgZ7G7TS27CMcU9t2vtOGt7CTZFQ4K++EC+MlHbiC9sHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adkinn%2fastro-ai-readiness@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117881},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"9e61075a519b0890d42e2bfaa7ebe80d5261502f","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"10.9.8","description":"AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^6.1.9","typescript":"^5.6.0","@types/node":"^25.6.0"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.9_1783639916990_0.9447411450534386","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@adkinn/astro-ai-readiness","version":"0.0.10","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.10","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"099fe07ed0773e9be9503e3245c4e97ab5c345d9","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.10.tgz","fileCount":39,"integrity":"sha512-qDPktJkwrckVuF+Q3++ZXsZaUI5bQoBMmUJDilo+Wm6LLAoc8Dcjfm4GswWLn5tqjIF1N5z2iq/SPqt/jdNuig==","signatures":[{"sig":"MEUCICbWS+QXt93MUuo6vVGYja9Sq+eqzgeftt7GhGVbOFplAiEAkZrSv4ajf6wvUPp+EP1TJc2Gj0EVdtdL7s1gAwkztXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adkinn%2fastro-ai-readiness@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":118897},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"6da979e8980d178a952ea7c296bb46ba645fc753","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"10.9.8","description":"AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^6.1.9","typescript":"^5.6.0","@types/node":"^25.6.0"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.10_1783707451542_0.352693829098903","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@adkinn/astro-ai-readiness","version":"0.0.11","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.11","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"ac3ef7b13be8a1626dc75484a1f34345a8d5f21e","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.11.tgz","fileCount":39,"integrity":"sha512-wH5f7oPiHE37dT76ssXYuyuEMUQnvkSQOJy5ZGRfXGFuWJgcVP0TfLJu5ouTwfme7rqt8BNYBYh7mdc16caLbA==","signatures":[{"sig":"MEUCICvcDz6gHx1i/skzvA1J2pzscu2bDzgJdn8CKuRJm+7NAiEAusFdtTTLbueuA6re1asYDj3MWiV7mccxp7PmLhcja3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adkinn%2fastro-ai-readiness@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121070},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"61815e243ebe57bedb5b1f35544f194948302e09","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"10.9.8","description":"AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^6.1.9","typescript":"^5.6.0","@types/node":"^25.6.0"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.11_1783709886677_0.9345330633625908","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@adkinn/astro-ai-readiness","version":"0.0.12","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.12","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"6d71d2ce89bdb3e871b4fe7d24101028701bf57e","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.12.tgz","fileCount":39,"integrity":"sha512-AbRQFZdZZ9JmwkFKiYeXAL7vz78VSl+csw55VxpgYi+NyM6c7ka1ofKfW2wpq9gqnqBOWr5GKMBMVCNgjJMdZg==","signatures":[{"sig":"MEYCIQDE+XhPUxr0FfXvg9fJt2OCeGpb1szMHxRz9+gtcq6nUwIhANWCD9KtoRMU89lgW+zEySgcdxUtpKsAlzOEKm/lqVV2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adkinn%2fastro-ai-readiness@0.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121173},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"550668b4368a0833a2ebba2fcc6807b6f14414b2","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"10.9.8","description":"AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^6.1.9","typescript":"^5.6.0","@types/node":"^25.6.0"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.12_1787785584714_0.0610383601628548","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@adkinn/astro-ai-readiness","version":"0.0.13","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney","email":"npm@adamkinney.com"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.13","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"51520a1bd5ef6521b8aeaf69f2f46d8137ce75b7","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.13.tgz","fileCount":39,"integrity":"sha512-gYppmkvKkkIro3Vx/kSqn5ycDPxbhMFcsQ97px0gTpBq5mK46FmZanIPHmg07zPHLfsR1JN1zwq0HH8CcqXmwg==","signatures":[{"sig":"MEYCIQDriRS9WnSnrSlVwxL1ycEYMY1m+ojy116/nWWxq/0cRAIhAN4T2OumNLfhdzslg3c6fxabRh3Nkc9st1O4RGPou79p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adkinn%2fastro-ai-readiness@0.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121208},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"6532574f688166d84ea5c77634abea5c26c0dc2e","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"10.9.8","description":"AI Readiness toolkit for Astro — six JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^6.1.9","typescript":"^5.6.0","@types/node":"^25.6.0"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.13_1787786175407_0.4913982268207675","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@adkinn/astro-ai-readiness","version":"0.0.14","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"url":"https://adamkinney.com","name":"Adam Kinney","email":"npm@adamkinney.com"},"license":"MIT","_id":"@adkinn/astro-ai-readiness@0.0.14","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"dist":{"shasum":"9eabb89d70442aab2c8c9e43dd81c5687ddcbacd","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.14.tgz","fileCount":41,"integrity":"sha512-r+qF6x22MmEhjUlSSQWnR/jLoemNJZxiQ20+OBhuIgoExnuWqNFDayjMGmHfSaEAiZg6pNZnTUBWfm8VW01Ibw==","signatures":[{"sig":"MEUCIQCF6UZyVZlwC0WbT8hvkBz4uo3KJnBrz3/5RKjrRDiuNgIgP5jc6z5O1lYISBbUQyiiaBdIBAOIzXGKM8btUC7jhes=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123754},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"gitHead":"63bd49279ea909e6d3c26cf728509ac8520ed23b","scripts":{"lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs","test":"npm run build && node --test tests/*.test.mjs","build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit"},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"repository":{"url":"git+https://github.com/adkinn/astro-ai-readiness.git","type":"git"},"_npmVersion":"11.9.0","description":"AI Readiness toolkit for Astro — eight JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^7.2.9","typescript":"^5.6.0","@types/node":"^22.20.1"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-ai-readiness_0.0.14_1787877261036_0.09925088002399507","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@adkinn/astro-ai-readiness","version":"0.0.15","description":"AI Readiness toolkit for Astro — eight JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js"}},"scripts":{"build":"tsup && cp src/components/*.astro dist/components/","typecheck":"tsc --noEmit","test":"npm run build && node --test tests/*.test.mjs","lint":"npm run typecheck && npm run build && node scripts/lint-package.mjs"},"dependencies":{"zod":"^3.23.0"},"devDependencies":{"@types/node":"^22.20.1","astro":"^7.2.9","tsup":"^8.3.0","typescript":"^5.6.0"},"keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"author":{"name":"Adam Kinney","email":"npm@adamkinney.com","url":"https://adamkinney.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/adkinn/astro-ai-readiness.git"},"homepage":"https://github.com/adkinn/astro-ai-readiness#readme","bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0 || ^7.0.0"},"engines":{"node":">=22.12.0"},"publishConfig":{"access":"public"},"gitHead":"9e7fc146df928aa8d3d7da1b54525db0de65ead5","_id":"@adkinn/astro-ai-readiness@0.0.15","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-2I0cjjQ8PhzU4eUMpzvkO6mFHZnPyW3Y5ZtyAaMukRb/ti3b0Qj7HdeWn62H/eOlYsP0bpKujHgq2m8b4IGhNA==","shasum":"e38e2d341cc7ed94924e945f3bc777e694ff91ba","tarball":"https://registry.npmjs.org/@adkinn/astro-ai-readiness/-/astro-ai-readiness-0.0.15.tgz","fileCount":41,"unpackedSize":129649,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHX89mr0Ix8OMsSuAfndOaeVhjtpmFaIGySyDx76fi0aAiBOlA+2fKnTk32AySqRzNTJhAneZnzR/kzZ7sg5dOeNZw=="}]},"_npmUser":{"name":"adkinn","email":"adam.kinney@gmail.com"},"directories":{},"maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astro-ai-readiness_0.0.15_1787976025655_0.813222443411926"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-09T21:27:42.786Z","modified":"2026-08-29T04:00:25.913Z","0.0.7":"2026-07-09T21:27:43.116Z","0.0.8":"2026-07-09T22:44:45.526Z","0.0.9":"2026-07-09T23:31:57.155Z","0.0.10":"2026-07-10T18:17:31.739Z","0.0.11":"2026-07-10T18:58:06.802Z","0.0.12":"2026-08-26T23:06:24.866Z","0.0.13":"2026-08-26T23:16:15.556Z","0.0.14":"2026-08-28T00:34:21.177Z","0.0.15":"2026-08-29T04:00:25.763Z"},"bugs":{"url":"https://github.com/adkinn/astro-ai-readiness/issues"},"author":{"name":"Adam Kinney","email":"npm@adamkinney.com","url":"https://adamkinney.com"},"license":"MIT","homepage":"https://github.com/adkinn/astro-ai-readiness#readme","keywords":["ai-readiness","aeo","agent-readable","llms-txt","llms-full-txt","agents-md","mcp","robots-txt","schema-org","json-ld","astro-integration","astro-component","withastro"],"repository":{"type":"git","url":"git+https://github.com/adkinn/astro-ai-readiness.git"},"description":"AI Readiness toolkit for Astro — eight JSON-LD components plus llms.txt, llms-full.txt, agents.md, robots.txt, and .well-known/mcp.json outputs.","maintainers":[{"name":"adkinn","email":"adam.kinney@gmail.com"}],"readme":"# @adkinn/astro-ai-readiness\n\n> AI Readiness toolkit for Astro — eight JSON-LD helper components plus `dist/llms.txt`, `dist/llms-full.txt`, `dist/agents.md`, `dist/robots.txt`, and `dist/.well-known/mcp.json`.\n\n**Status:** v0.0.15 — content signals that land where crawlers read them. Tested against Astro 5, 6, and 7 on Node 22 and 24. Builds on v0.0.11's app / product / game support: `<SoftwareApplicationSchema />` (screenshots, feature list, offers, and a `type` for `VideoGame` / `MobileApplication` / `WebApplication` + `gamePlatform`), Organization `description` + `sameAs` + `contactPoint`, `founder.url`, WebSite `inLanguage`, and custom `## sections` for `agents.md` — proven on three real sites (a person, an app, a game).\n\n## New in v0.0.15\n\nContent signals that say what they mean, where they're read.\n\n- **The Content Signals Policy notice ships with the signals.** A\n  `Content-Signal: ai-train=no` is a string until something states what it means\n  and under what authority. The policy's own text — reproduced verbatim, [released\n  under CC0](https://blog.cloudflare.com/content-signals-policy/) — defines each\n  signal and declares that restrictions are *express reservations of rights under\n  Article 4 of the EU DSM Directive*. The toolkit defaults to `training-opt-out`,\n  so shipping the refusal without that framing was leaving the standing off the\n  claim. Set `contentSignalNotice: false` to omit it. No signals means no notice.\n- **`Content-Signal` now sits inside a `User-agent` group.** It is a group-member\n  record, like `Allow` and `Disallow`. Through v0.0.14 the toolkit emitted it above\n  the first `User-agent:` line, where — per [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)\n  — it belongs to no group and parsers may discard it. Both reference\n  implementations ([Cloudflare's own robots.txt](https://blog.cloudflare.com/robots.txt),\n  `stackoverflow.com`) place it in a group. **If you enabled `robotsTxt` on an\n  earlier version, re-run your build: the signal you configured may not have been\n  read.**\n- **`contentSignals` accepts `'omit'`.** Saying nothing about a signal is not the\n  same as saying `no` — an absent signal expresses no preference, while `no`\n  expresses a refusal. A site that wants to declare `search=yes` and stay silent\n  on training can now write `aiTrain: 'omit'` and get exactly that.\n- **No more malformed empty header.** Omitting every signal used to emit a bare\n  `Content-Signal: ` line — a directive with a trailing space and nothing in it.\n  The line is now dropped entirely; the rules and `Sitemap` still ship.\n\nv0.0.14 brought Astro 7 support (peer range `^5.0.0 || ^6.0.0 || ^7.0.0`, CI\nagainst 5.18.0 / 6.4.8 / 7.2.9 on Node 22 and 24), one publisher `@id` across the\nwhole graph, `<TechArticleSchema />` on person-first sites, and a `private` policy\nthat omits the sitemap. See `CHANGELOG.md` for the full history.\n\n## What ships in v0.0.11\n\n\n**Eight JSON-LD components**:\n- `<OrganizationSchema />` — Organization block. Config-driven from `organization` (optional; now supports `description`, `contactPoint`, and `founder.url`); place in your `BaseLayout` so it ships site-wide and the `#organization` `@id` reference resolves on every page. Renders nothing if `organization` is unset.\n- `<PersonSchema />` — Person block. Config-driven from `person` (optional); for sites whose primary identity is an individual. Place in your `BaseLayout`; declares `#person`, and becomes the WebSite publisher when set. Renders nothing if `person` is unset.\n- `<SoftwareApplicationSchema />` — SoftwareApplication block. Config-driven from `softwareApplication` (optional); for app/product sites. Emits `#app` with `operatingSystem`, `applicationCategory`, `screenshot[]`, `featureList[]`, `offers[]`, and links `publisher`/`author` to the site's Organization (or Person). Renders nothing if unset.\n- `<WebSiteSchema />` — WebSite block. Config-driven (now supports `inLanguage`); alongside `<OrganizationSchema />` or `<PersonSchema />` in `BaseLayout`.\n- `<CollectionSchema name url description? />` — CollectionPage block. Props-driven; place on collection-index pages (`/articles/`, `/tags/[tag]/`, etc.).\n- `<BreadcrumbSchema items={[{ name, url }, ...]} />` — BreadcrumbList. Items-array prop; place on multi-level pages where the navigation hierarchy isn't already declared inline. Empty `items` skips emission.\n- `<FAQPageSchema items={[{ question, answer }, ...]} />` — FAQPage. Items-array prop; place on pages with FAQ data. Long-form answers escape `</script>` and U+2028 / U+2029 automatically. Empty `items` skips emission.\n- `<TechArticleSchema headline description datePublished {...optional} />` — TechArticle block. Heavy-props; place on article-detail pages. `author` defaults to a Person synthesized from `config.organization.founder`; pass an explicit `author` prop to override.\n\n**Five file outputs**:\n- `dist/llms.txt` — [llmstxt.org](https://llmstxt.org/) format from the `llmsTxt` config block. H1 / blockquote summary / optional body / H2 sections with bulleted links / optional canonical-reference footer. Opt-in.\n- `dist/llms-full.txt` — manual full-context markdown from the `llmsFull` config block. This is config-driven in v0.0.7; content-collection introspection is a later layer.\n- `dist/agents.md` — Markdown discovery file for AI-agent crawlers from the `agentsMd` config block. H1 / blockquote description / optional `## Audience`, arbitrary `## sections` (title + markdown content), `## Contact`, and `## Links`. Opt-in.\n- `dist/.well-known/mcp.json` — [Model Context Protocol](https://modelcontextprotocol.io/) discovery file from the `mcp` config block. Pretty-printed JSON with `$schema` reference to the toolkit-published v1 shape (per D-22). Supports `status: 'active'` (requires `url` + `tools[]`) and `status: 'planned'` (requires `planned_tools[]`; `url` forbidden by schema). Opt-in.\n- `dist/robots.txt` — robots policy composition from the `robotsTxt` config block. Presets: `search-visible`, `training-opt-out` (default), and `private`; supports explicit bot rules, `Sitemap`, and optional [Content Signals](https://blog.cloudflare.com/content-signals-policy/) directives (each signal is `'yes'`, `'no'`, or `'omit'` to stay silent about it), emitted inside the `*` user-agent group.\n\n**`@astrojs/sitemap` detection per D-8.** When you call `aiReadiness({...})` and `@astrojs/sitemap` isn't in your integrations list, the toolkit logs a build-time warning. Sitemap is an AI-Readiness baseline; when `robotsTxt` is enabled, the generated `robots.txt` includes a `Sitemap` line by default.\n\nAll eight components emit canonical Schema.org JSON-LD with cross-component `@id` references (`#organization`, `#person`, `#app`, `#website`) so search and AI consumers can resolve the entity graph without redeclaring shared fields.\n\nURL config fields (`site`, `organization.url`, `organization.logo`, `founder.sameAs`, `llmsTxt.*.url`) require `https://` (or `http://localhost` for dev).\n\nConfig validation errors are formatted with one issue per line — `path: message` per Zod issue — instead of the default `ZodError` JSON blob.\n\n## Install\n\n```bash\nnpm install @adkinn/astro-ai-readiness\n```\n\n## Quick start\n\nConfigure (v0.0.9 accepts `site`, optional `person`, optional `organization`, optional `softwareApplication`, optional `webSite`, optional `llmsTxt`, optional `llmsFull`, optional `agentsMd`, optional `mcp`, and optional `robotsTxt` blocks — provide at least one of `person`/`organization` as the site identity. The Zod schema rejects unknown keys, and URL fields must use `https://` or `http://localhost`):\n\n```ts\n// astro.config.mjs\nimport { defineConfig } from 'astro/config'\nimport sitemap from '@astrojs/sitemap'\nimport aiReadiness from '@adkinn/astro-ai-readiness'\n\nexport default defineConfig({\n  site: 'https://your-site.com',\n  integrations: [\n    sitemap(),                              // recommended — AI Readiness baseline (D-8)\n    aiReadiness({\n      site: 'https://your-site.com',\n      organization: {\n        name: 'Your Brand',\n        url: 'https://your-site.com',\n        logo: 'https://your-site.com/logo.png',\n        founder: {\n          name: 'Your Name',\n          jobTitle: 'Founder',\n          sameAs: ['https://your-site.com', 'https://x.com/handle'],\n        },\n      },\n      webSite: {\n        // Optional. `name` defaults to organization.name when absent.\n        description: 'What your site does, in one sentence.',\n      },\n      llmsTxt: {\n        // Optional. When set, the toolkit ships dist/llms.txt at build time.\n        // Note: `summary` must be single-line — multi-paragraph summaries break\n        // the llms.txt blockquote shape. Use `body` (free-form markdown) for\n        // additional prose. Multi-line summary throws at config-validation time.\n        summary: 'What your site does, in one sentence — for AI agents discovering your content.',\n        body: 'A free-form markdown paragraph or two between summary and sections. Plain prose; no top-level H2 here (those are reserved for link sections below).',\n        sections: [\n          {\n            title: 'Articles',\n            links: [\n              { title: 'All Articles', url: 'https://your-site.com/articles/' },\n              { title: 'RSS Feed', url: 'https://your-site.com/rss.xml' },\n            ],\n          },\n        ],\n        deferTo: {\n          // Single canonical-reference link, rendered as a footer.\n          title: 'Articles Index',\n          url: 'https://your-site.com/articles/',\n        },\n      },\n      llmsFull: {\n        // Optional. When set, the toolkit ships dist/llms-full.txt at build time.\n        // v0.0.7 is manual/config-driven; later slices can derive sections from\n        // content collections.\n        sections: [\n          {\n            title: 'Site Context',\n            content: 'Long-form context agents should read before summarizing this site.',\n          },\n          {\n            title: 'Canonical Resources',\n            content: '- https://your-site.com/articles/\\n- https://your-site.com/rss.xml',\n          },\n        ],\n      },\n      agentsMd: {\n        // Optional. When set, the toolkit ships dist/agents.md at build time.\n        description: 'What your site does and who it serves — for AI-agent crawlers.',\n        audience: 'Developers and AI agents acting on their behalf.',\n        contact: 'hello@your-site.com',\n        links: [\n          { title: 'Articles', url: 'https://your-site.com/articles/', description: 'All articles' },\n          { title: 'RSS Feed', url: 'https://your-site.com/rss.xml', description: 'Machine-readable article stream' },\n        ],\n      },\n      mcp: {\n        // Optional. When set, the toolkit ships dist/.well-known/mcp.json at build time.\n        // Each server must have status: 'active' or status: 'planned'.\n        // Active: requires url + tools[]. Planned: requires planned_tools[]; url is forbidden.\n        servers: [\n          {\n            // A live MCP server — must have url + tools.\n            status: 'active',\n            name: 'your-knowledge',\n            url: 'https://mcp.your-site.com',\n            description: 'MCP server exposing your site knowledge for AI agents.',\n            tools: [\n              { name: 'search_articles', description: 'Search articles by keyword or tag.' },\n              { name: 'fetch_article', description: 'Fetch a specific article by slug.' },\n            ],\n          },\n          {\n            // A planned server — declares intent without a live URL.\n            status: 'planned',\n            name: 'your-future-server',\n            description: 'Planned MCP server for future capability.',\n            planned_tools: [\n              { name: 'lookup', description: 'Lookup by ID once the server ships.' },\n            ],\n          },\n        ],\n      },\n      robotsTxt: {\n        // Optional. When set, the toolkit ships dist/robots.txt at build time.\n        // Default policy is \"training-opt-out\": ordinary search stays open while\n        // common model-training bot tokens are disallowed. Some vendors bundle\n        // training and grounding under one token, so override rules when needed.\n        policy: 'training-opt-out',\n        // Defaults to https://your-site.com/sitemap-index.xml. Set false to omit.\n        // The private policy omits it by default; an explicit URL still opts in.\n        sitemap: 'https://your-site.com/sitemap-index.xml',\n        // The CC0 Content Signals Policy text ships above the signals by\n        // default — it is what makes a restriction an express reservation of\n        // rights. Set false only if you state that framing elsewhere.\n        contentSignalNotice: true,\n        contentSignals: {\n          // Per the Content Signals Policy: 'yes' grants the use, 'no'\n          // refuses it, and 'omit' says nothing — which the policy defines as\n          // neither granting nor restricting. Omitting every signal drops the\n          // Content-Signal line rather than emitting an empty one. The line is\n          // written into the `*` user-agent group, where crawlers read it.\n          // https://blog.cloudflare.com/content-signals-policy/\n          search: 'yes',\n          aiTrain: 'no',\n          aiInput: 'yes',\n        },\n        // Add or replace rules when your site has a specific bot policy.\n        additionalLines: [\n          '# Custom lines are appended before Sitemap.',\n        ],\n      },\n    }),\n  ],\n})\n```\n\n> **Note on raw markdown.** `llmsTxt.*`, `llmsFull.*`, and `agentsMd.*` string fields are emitted as raw markdown. If you're templating user-generated content into those fields, escape `]`, `)`, and leading `>` to avoid breaking the rendered Markdown shape. Author-controlled strings (typical case) need no escaping. `mcp.json` is JSON-serialized and has no markdown-injection surface.\n\nUse the components:\n\n```astro\n---\n// src/layouts/BaseLayout.astro — site-wide\nimport { OrganizationSchema, WebSiteSchema } from '@adkinn/astro-ai-readiness/components'\n---\n<head>\n  <OrganizationSchema />\n  <WebSiteSchema />\n</head>\n```\n\n`<OrganizationSchema />` declares `@id: '<site>#organization'`; `<WebSiteSchema />` references it. Order matters in the head — identity component first.\n\n**Personal-brand sites** lead with a `Person` instead. Configure a `person` block (and omit `organization` if you don't need it), then:\n\n```astro\n---\n// src/layouts/BaseLayout.astro — site-wide\nimport { PersonSchema, WebSiteSchema } from '@adkinn/astro-ai-readiness/components'\n---\n<head>\n  <PersonSchema />\n  <WebSiteSchema />\n</head>\n```\n\n`<PersonSchema />` declares `@id: '<site>#person'`; when `person` is set, `<WebSiteSchema />` publisher and the `llms.txt` heading follow it.\n\n```astro\n---\n// src/pages/articles/index.astro — collection index pages\nimport { CollectionSchema } from '@adkinn/astro-ai-readiness/components'\n---\n<CollectionSchema\n  name=\"All Articles\"\n  url={new URL('articles/', Astro.site).toString()}\n  description=\"Production-tested articles, version-pinned environments.\"\n/>\n```\n\n```astro\n---\n// any multi-level page — site-context navigation\nimport { BreadcrumbSchema } from '@adkinn/astro-ai-readiness/components'\nimport type { BreadcrumbItem } from '@adkinn/astro-ai-readiness/components'\n\nconst crumbs: BreadcrumbItem[] = [\n  { name: 'Home', url: new URL('/', Astro.site).toString() },\n  { name: 'Articles', url: new URL('/articles/', Astro.site).toString() },\n  { name: 'How agents handle errors', url: Astro.url.toString() },\n]\n---\n<BreadcrumbSchema items={crumbs} />\n```\n\n```astro\n---\n// pages with FAQ data — items-array of question/answer pairs\nimport { FAQPageSchema } from '@adkinn/astro-ai-readiness/components'\nimport type { FAQItem } from '@adkinn/astro-ai-readiness/components'\n\nconst faqs: FAQItem[] = [\n  { question: 'What is X?', answer: 'X is...' },\n  { question: 'Why does Y matter?', answer: 'Because...' },\n]\n---\n<FAQPageSchema items={faqs} />\n```\n\n```astro\n---\n// article-detail pages — required props only\nimport { TechArticleSchema } from '@adkinn/astro-ai-readiness/components'\n---\n<TechArticleSchema\n  headline=\"How agents handle errors\"\n  description=\"A pattern for agent error handling that doesn't lose context.\"\n  datePublished=\"2026-04-01T12:00:00Z\"\n/>\n```\n\n`<TechArticleSchema>` defaults `author` to a Person synthesized from whichever identity the site declares — `organization.founder` on a company site, `person` on a solo one (name from `.name`, URL from `.url`, falling back to `.sameAs[0]`). Pass an explicit `author={{ name, url? }}` to override on multi-author sites. The component throws at build time only if `author` is omitted and neither identity is configured — actionable error pointing at the `aiReadiness({...})` config.\n\nAdvanced — full prop surface:\n\n```astro\n<TechArticleSchema\n  headline={article.title}\n  description={article.description}\n  datePublished={article.pubDate.toISOString()}\n  dateModified={(article.updatedDate ?? article.pubDate).toISOString()}\n  author={{ name: 'Guest Author', url: 'https://example.com' }}\n  image={{ url: 'https://your-site.com/og.png', width: 1200, height: 630 }}\n  articleSection=\"Tutorials\"\n  keywords={['ai', 'agents', 'error-handling']}\n  proficiencyLevel=\"intermediate\"\n  dependencies={['Node 22', 'Astro 5.5']}\n/>\n```\n\nBuild your site (`npm run build`); inspect any `dist/*.html` — you'll see inline `<script type=\"application/ld+json\">` blocks with cross-referenced `@id`s tying the entity graph together.\n\n## Design principles\n\n- **Zero client JS.** Every component emits inline `<script type=\"application/ld+json\">` at build time. Hydrating JSON-LD would erode the very Schema.org category it's meant to lift.\n- **Compose, don't clobber.** `robotsTxt` exposes explicit rules and appended lines so user intent can override presets. If you already maintain a hand-written `public/robots.txt`, compare the generated file before adopting it — Astro copies `public/` into the build output before the toolkit writes, and the toolkit will not overwrite a file that's already there. It logs a warning and skips, so enabling `robotsTxt` does nothing until you delete the hand-written one.\n- **Composes with `@astrojs/sitemap`.** Doesn't replace it. The integration warns when sitemap is missing and `robotsTxt` defaults its `Sitemap` line to `/sitemap-index.xml`.\n\n## What's beyond v0.1\n\nThe v0.1 line is content → artifacts: components and files. Build-time AI-readiness self-scoring, spec validation against [llmstxt.org](https://llmstxt.org), and content lints are on the v0.2 horizon — but not committed scope yet. v0.1 ships first.\n\n## Shipped on\n\n- [adamkinney.com](https://adamkinney.com) — the personal-brand reference implementation. Person-first: runs `PersonSchema` + `WebSiteSchema` site-wide and emits `dist/llms.txt` at <https://adamkinney.com/llms.txt> and `dist/agents.md` at <https://adamkinney.com/agents.md>.\n- comicscry.com — the app/product reference implementation (Astro 6 SSR, `@astrojs/cloudflare`). Ran `OrganizationSchema` + `WebSiteSchema` site-wide and `SoftwareApplicationSchema` + `FAQPageSchema` on the homepage, and emitted `dist/llms.txt`, `dist/agents.md`, and `dist/robots.txt`. Drove the app/product features in v0.0.9–v0.0.10. **[Retired August 2026](https://adamkinney.com/lab/comic-scry/)** — the site is gone, so this one is history rather than something you can go look at.\n\n`VideoGame` / `gamePlatform` support in v0.0.11 was built for gurn.app, but that\nadoption never merged — the live site's `llms.txt` is hand-written and its\n`robots.txt` carries no generator line. The feature is tested and shipped; it\njust doesn't have a site you can go look at yet.\n\n## Contributing\n\nPRs welcome. See [CONTRIBUTING.md](./.github/CONTRIBUTING.md) and our [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n## License\n\nMIT — Copyright (c) 2026 Adam Kinney, LLC.\n","readmeFilename":"README.md"}