hey! i was testing an llms.txt validator against popular docs sites and orm.drizzle.team came back with 71 broken links out of 442 (16%), all of them under /docs/pg/.
what's happening: src/pages/llms.txt.ts builds URLs as ${url.origin}/docs/${directoryName}/${slug} from the _meta.json directory structure, so every dialect gets its prefix, including pg. but the site serves postgres as the default dialect at /docs/<slug> with no prefix, so every pg link in llms.txt 404s while the other dialects work fine:
$ curl -so /dev/null -w "%{http_code}\n" https://orm.drizzle.team/docs/mysql/select
200
$ curl -so /dev/null -w "%{http_code}\n" https://orm.drizzle.team/docs/pg/select
404
$ curl -so /dev/null -w "%{http_code}\n" https://orm.drizzle.team/docs/select
200
so any AI tool that fetches your llms.txt gets 404s for the entire postgres section, which is presumably the section most people want.
simplest fix is probably special-casing pg in getUrl so it emits /docs/<slug> unprefixed, matching the routing. alternatively a redirect from /docs/pg/* to /docs/* would fix it for anyone who already ingested the current file. happy to PR either if you tell me which you'd prefer.
fwiw i found this while testing a checker i just published, llms-txt-check. for context, i maintain docusaurus-plugin-copy-page-button (runs on 28 docs sites; react native and pnpm are the big ones, puppeteer too) so i spend a lot of time in this corner of docs tooling. npx llms-txt-check https://orm.drizzle.team reproduces the report, and as a post-deploy CI step it would catch this class of drift before agents hit it. and if you ever want it guarding this permanently, it's one line in CI after deploy:
- run: npx llms-txt-check@0.1.1 https://orm.drizzle.team
it exits nonzero when any listed url stops serving, so the deploy that breaks a route goes red instead of shipping quietly. happy to PR that too, but no pressure either way, the fix above is the main thing.
all 71 broken URLs (checked 2026-08-09)
https://orm.drizzle.team/docs/pg/overview
https://orm.drizzle.team/docs/pg/upgrade-v1
https://orm.drizzle.team/docs/pg/v0-v1-changes
https://orm.drizzle.team/docs/pg/relations-v1-v2
https://orm.drizzle.team/docs/pg/sql-schema-declaration
https://orm.drizzle.team/docs/pg/relations-schema-declaration
https://orm.drizzle.team/docs/pg/connect-overview
https://orm.drizzle.team/docs/pg/data-querying
https://orm.drizzle.team/docs/pg/migrations
https://orm.drizzle.team/docs/pg/get-started-postgresql
https://orm.drizzle.team/docs/pg/connect-planetscale-postgres
https://orm.drizzle.team/docs/pg/connect-neon
https://orm.drizzle.team/docs/pg/connect-vercel-postgres
https://orm.drizzle.team/docs/pg/connect-prisma-postgres
https://orm.drizzle.team/docs/pg/connect-supabase
https://orm.drizzle.team/docs/pg/connect-xata
https://orm.drizzle.team/docs/pg/connect-pglite
https://orm.drizzle.team/docs/pg/connect-nile
https://orm.drizzle.team/docs/pg/connect-bun-sql
https://orm.drizzle.team/docs/pg/connect-effect-postgres
https://orm.drizzle.team/docs/pg/connect-netlify-db
https://orm.drizzle.team/docs/pg/connect-aws-data-api-pg
https://orm.drizzle.team/docs/pg/connect-drizzle-proxy
https://orm.drizzle.team/docs/pg/column-types
https://orm.drizzle.team/docs/pg/indexes-constraints
https://orm.drizzle.team/docs/pg/sequences
https://orm.drizzle.team/docs/pg/views
https://orm.drizzle.team/docs/pg/schemas
https://orm.drizzle.team/docs/pg/relations
https://orm.drizzle.team/docs/pg/rls
https://orm.drizzle.team/docs/pg/extensions
https://orm.drizzle.team/docs/pg/kit-overview
https://orm.drizzle.team/docs/pg/drizzle-kit-generate
https://orm.drizzle.team/docs/pg/drizzle-kit-migrate
https://orm.drizzle.team/docs/pg/drizzle-kit-push
https://orm.drizzle.team/docs/pg/drizzle-kit-pull
https://orm.drizzle.team/docs/pg/drizzle-kit-export
https://orm.drizzle.team/docs/pg/drizzle-kit-check
https://orm.drizzle.team/docs/pg/drizzle-kit-up
https://orm.drizzle.team/docs/pg/drizzle-kit-studio
https://orm.drizzle.team/docs/pg/kit-custom-migrations
https://orm.drizzle.team/docs/pg/drizzle-config-file
https://orm.drizzle.team/docs/pg/seed-overview
https://orm.drizzle.team/docs/pg/seed-versioning
https://orm.drizzle.team/docs/pg/rqb
https://orm.drizzle.team/docs/pg/joins
https://orm.drizzle.team/docs/pg/select
https://orm.drizzle.team/docs/pg/insert
https://orm.drizzle.team/docs/pg/update
https://orm.drizzle.team/docs/pg/delete
https://orm.drizzle.team/docs/pg/operators
https://orm.drizzle.team/docs/pg/query-utils
https://orm.drizzle.team/docs/pg/aliases
https://orm.drizzle.team/docs/pg/sql
https://orm.drizzle.team/docs/pg/sql-comments
https://orm.drizzle.team/docs/pg/perf-queries
https://orm.drizzle.team/docs/pg/set-operations
https://orm.drizzle.team/docs/pg/generated-columns
https://orm.drizzle.team/docs/pg/transactions
https://orm.drizzle.team/docs/pg/batch-api
https://orm.drizzle.team/docs/pg/cache
https://orm.drizzle.team/docs/pg/dynamic-query-building
https://orm.drizzle.team/docs/pg/read-replicas
https://orm.drizzle.team/docs/pg/custom-types
https://orm.drizzle.team/docs/pg/codecs
https://orm.drizzle.team/docs/pg/zod
https://orm.drizzle.team/docs/pg/valibot
https://orm.drizzle.team/docs/pg/typebox
https://orm.drizzle.team/docs/pg/typebox-legacy
https://orm.drizzle.team/docs/pg/arktype
https://orm.drizzle.team/docs/pg/effect-schema
hey! i was testing an llms.txt validator against popular docs sites and orm.drizzle.team came back with 71 broken links out of 442 (16%), all of them under
/docs/pg/.what's happening:
src/pages/llms.txt.tsbuilds URLs as${url.origin}/docs/${directoryName}/${slug}from the_meta.jsondirectory structure, so every dialect gets its prefix, includingpg. but the site serves postgres as the default dialect at/docs/<slug>with no prefix, so every pg link in llms.txt 404s while the other dialects work fine:so any AI tool that fetches your llms.txt gets 404s for the entire postgres section, which is presumably the section most people want.
simplest fix is probably special-casing pg in
getUrlso it emits/docs/<slug>unprefixed, matching the routing. alternatively a redirect from/docs/pg/*to/docs/*would fix it for anyone who already ingested the current file. happy to PR either if you tell me which you'd prefer.fwiw i found this while testing a checker i just published, llms-txt-check. for context, i maintain docusaurus-plugin-copy-page-button (runs on 28 docs sites; react native and pnpm are the big ones, puppeteer too) so i spend a lot of time in this corner of docs tooling.
npx llms-txt-check https://orm.drizzle.teamreproduces the report, and as a post-deploy CI step it would catch this class of drift before agents hit it. and if you ever want it guarding this permanently, it's one line in CI after deploy:it exits nonzero when any listed url stops serving, so the deploy that breaks a route goes red instead of shipping quietly. happy to PR that too, but no pressure either way, the fix above is the main thing.
all 71 broken URLs (checked 2026-08-09)