{"_id":"@agent-seo/express","_rev":"2-c6611b38f976e238898e5e9efb08373b","name":"@agent-seo/express","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@agent-seo/express","version":"1.0.0","keywords":["seo","ai","llm","express","middleware","llms-txt","agent","bot"],"license":"MIT","_id":"@agent-seo/express@1.0.0","maintainers":[{"name":"pontidev","email":"felipontiggia@gmail.com"}],"homepage":"https://github.com/pontiggia/agent-seo#readme","bugs":{"url":"https://github.com/pontiggia/agent-seo/issues"},"dist":{"shasum":"729f9d3791cbf34b2d68979030bbf8d278ea04ac","tarball":"https://registry.npmjs.org/@agent-seo/express/-/express-1.0.0.tgz","fileCount":8,"integrity":"sha512-eMZzoNNNc9kdVtZ0YeWP3JFPXTHlVspPpHuof3f9NwNzT72UM7myii4oW9OMER1rHIawfDOB2hOc/QRA6GMpUg==","signatures":[{"sig":"MEUCIDziTL7h7PwJPh06oaIkbWnfXFDRudD/RjGVEfyMcnz4AiEAgfIKoqCIc21SUvK4gp4RxsSE3dcAJOLx511TB4emM4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37100},"main":"dist/index.cjs","type":"module","_from":"file:agent-seo-express-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"pontidev","email":"felipontiggia@gmail.com"},"_resolved":"/private/var/folders/mk/mybmm3tj2c306r_kcz9bjr4h0000gn/T/609fbe831c1156e492be6b3492ffe239/agent-seo-express-1.0.0.tgz","_integrity":"sha512-eMZzoNNNc9kdVtZ0YeWP3JFPXTHlVspPpHuof3f9NwNzT72UM7myii4oW9OMER1rHIawfDOB2hOc/QRA6GMpUg==","repository":{"url":"git+https://github.com/pontiggia/agent-seo.git","type":"git","directory":"packages/express"},"_npmVersion":"10.9.4","description":"Express middleware for AI-readable websites","directories":{},"_nodeVersion":"22.21.0","dependencies":{"@agent-seo/core":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"express":"^4.21.0","supertest":"^7.0.0","@types/express":"^5.0.0","@types/supertest":"^6.0.0"},"peerDependencies":{"express":"^4.21.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express_1.0.0_1771297511873_0.2598640351742374","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@agent-seo/express","version":"1.0.1","description":"Express middleware for AI-readable websites","license":"MIT","repository":{"type":"git","url":"git+https://github.com/pontiggia/agent-seo.git","directory":"packages/express"},"homepage":"https://github.com/pontiggia/agent-seo#readme","bugs":{"url":"https://github.com/pontiggia/agent-seo/issues"},"keywords":["seo","ai","llm","express","middleware","llms-txt","agent","bot"],"type":"module","engines":{"node":">=20.0.0"},"main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"dependencies":{"@agent-seo/core":"1.0.1"},"peerDependencies":{"express":"^4.21.0 || ^5.0.0"},"devDependencies":{"express":"^4.21.0","@types/express":"^5.0.0","supertest":"^7.0.0","@types/supertest":"^6.0.0"},"scripts":{"build":"tsup","test":"vitest run","typecheck":"tsc --noEmit"},"_id":"@agent-seo/express@1.0.1","_integrity":"sha512-CN8MG9VeNDfEfwbo3jFLfbtXa81RuUrDeea1qika1TZuuojmHFzb8dClO1v7dXUZ3S5g+Ua7Y4OKp9IX1XOA0Q==","_resolved":"/private/var/folders/mk/mybmm3tj2c306r_kcz9bjr4h0000gn/T/3fc33fbde0411bd20925e289ac853ffb/agent-seo-express-1.0.1.tgz","_from":"file:agent-seo-express-1.0.1.tgz","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-CN8MG9VeNDfEfwbo3jFLfbtXa81RuUrDeea1qika1TZuuojmHFzb8dClO1v7dXUZ3S5g+Ua7Y4OKp9IX1XOA0Q==","shasum":"63c4c568507e181d149d557c4c925617b767b2aa","tarball":"https://registry.npmjs.org/@agent-seo/express/-/express-1.0.1.tgz","fileCount":9,"unpackedSize":38518,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDCKdzn/uT8uaz3KRuIFARddL2c6wdWddPCzF0X9eHt0AiAuG8Dj/v0cjF1C9z0KkufI1yScAojDZMZNQJeoFMyI6A=="}]},"_npmUser":{"name":"pontidev","email":"felipontiggia@gmail.com"},"directories":{},"maintainers":[{"name":"pontidev","email":"felipontiggia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express_1.0.1_1771297972500_0.011744738251629805"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-17T03:05:11.720Z","modified":"2026-02-17T03:12:52.796Z","1.0.0":"2026-02-17T03:05:12.025Z","1.0.1":"2026-02-17T03:12:52.654Z"},"bugs":{"url":"https://github.com/pontiggia/agent-seo/issues"},"license":"MIT","homepage":"https://github.com/pontiggia/agent-seo#readme","keywords":["seo","ai","llm","express","middleware","llms-txt","agent","bot"],"repository":{"type":"git","url":"git+https://github.com/pontiggia/agent-seo.git","directory":"packages/express"},"description":"Express middleware for AI-readable websites","maintainers":[{"name":"pontidev","email":"felipontiggia@gmail.com"}],"readme":"# @agent-seo/express\n\nExpress middleware for AI-readable websites. Automatically serves Markdown to AI bots, HTML to browsers.\n\n## Install\n\n```bash\nnpm install @agent-seo/express\n```\n\n## Usage\n\n```typescript\nimport express from 'express';\nimport { agentSeo } from '@agent-seo/express';\n\nconst app = express();\n\napp.use(\n  agentSeo({\n    siteName: 'My App',\n    siteDescription: 'A brief description for AI systems.',\n    baseUrl: 'https://myapp.com',\n  }),\n);\n\napp.get('/', (req, res) => {\n  res.send('<html>...</html>');\n});\n\napp.listen(3000);\n```\n\n## How It Works\n\n```\nBrowser → GET /about → HTML (normal)\nGPTBot  → GET /about → Markdown (automatic)\nAnyone  → GET /about.md → Markdown (explicit)\nAnyone  → GET /llms.txt → Site directory for AI agents\n```\n\nThe middleware detects 19 AI bots via User-Agent, transforms HTML responses to clean Markdown with YAML frontmatter, and serves `/llms.txt` automatically.\n\n## Options\n\nAll options from `@agent-seo/core` are supported, plus:\n\n| Option      | Type       | Description                                      |\n| ----------- | ---------- | ------------------------------------------------ |\n| `cache`     | `boolean`  | Enable in-memory LRU cache (default: `true`)     |\n| `cacheSize` | `number`   | Max cached entries (default: `100`)               |\n| `exclude`   | `string[]` | URL patterns to skip (default: `[\"/api\"]`)        |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}