Repository navigation
chore(content): describe oRPC in llms.txt and site JSON-LD - #2313
Conversation
- Add an llms.txt details block: what oRPC is, when to use it, install command, and the v1/v2 docs split. - Configure seo.organization (middleapi) and seo.software (oRPC, with GitHub and npm sameAs), so Blume emits the Organization and SoftwareApplication nodes. - Drop the hand-written home page JSON-LD, which duplicated Blume's WebSite node under a different @id. - Turn off PageLayout's graph on the blog pages, which already emit their own BlogPosting and Blog nodes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qz33dCYYrmnUDSJSYPbGoz
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
orpc | 3a1d7e6 | Commit Preview URL Branch Preview URL |
Oct 23 2026, 05:57 AM |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The changes add descriptive No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
More templates
@orpc/ai-sdk
@orpc/arktype
@orpc/bun
@orpc/client
@orpc/cloudflare
@orpc/contract
@orpc/experimental-effect
@orpc/evlog
@orpc/hibernation
@orpc/json-schema
@orpc/experimental-lock
@orpc/mcp
@orpc/msw
@orpc/nest
@orpc/next
@orpc/node
@orpc/openapi
@orpc/opentelemetry
@orpc/pinia-colada
@orpc/pino
@orpc/publisher
@orpc/ratelimit
@orpc/server
@orpc/shared
@orpc/swr
@orpc/tanstack-query
@orpc/trpc
@orpc/valibot
@orpc/zod
commit: |
Merging this PR will not alter performance1 warning
Comparing Footnotes
|
There was a problem hiding this comment.
ℹ️ No critical issues — one minor suggestion inline.
Reviewed changes
This run reviewed the config-only SEO / agents changes across 4 files in apps/content:
blume.config.ts— addsseo.organization(middleapi, with X and Open CollectivesameAs),seo.software(license, OS,price: 0, GitHub + npmsameAs), and anagents.llmsTxt.detailsblock.pages/index.astro— drops the hand-writtenWebSite+SoftwareApplicationgraph, relying onPageLayout's built-in structured data.pages/blog/[...slug].astro,pages/blog/index.astro— setstructuredDataEnabled={false}soPageLayoutstops emitting a duplicateTechArticle.
I checked each against the installed Blume 2.2.3: the config keys and their defaults exist in schema.ts, buildStructuredData emits the Organization on every page and the SoftwareApplication on the homepage (price: 0 correctly survives the !== undefined check and still yields the same Offer), and PageLayout's default keeps the homepage graph on. The llms.txt links resolve to real routes and the install command matches getting-started.mdx. Nothing blocking.
deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏
…-3of956 # Conflicts: # apps/content/pages/blog/index.astro

Requested by dinwwwh · project thread
Config-only changes to
apps/contentso search engines and AI assistants get a clearer picture of what oRPC is.Changes
agents.llmsTxt.details): a short "what oRPC is / when to reach for it" paragraph and list, the install command, and a note that these are the v2 beta docs with v1 at v1.orpc.dev. It lands between the tagline and the page sections, as the llms.txt spec describes.seo.organization:middleapi(GitHub org, X, Open Collective assameAs). Blume adds it to every page as thepublisher.seo.software: replaces the hand-written homeSoftwareApplicationnode (same license, OS, free offer), now with GitHub and npm (@orpc/server,@orpc/client) insameAs.PageLayoutnow emits a graph on custom pages too, so:WebSitenodes (https://orpc.dev#websitefrom Blume andhttps://orpc.dev/#websitehand-written). The hand-written block is gone.TechArticleplus the hand-writtenBlogPosting), and the blog index got aTechArticlenext to itsBlog.structuredDataEnabled={false}on both blog pages keeps only the hand-written nodes.Verification
Built the site locally (OG card generation turned off for the build only, since the sandbox can't reach Google Fonts; not committed) and checked
dist/client:/now has one graph:WebSite,Organization,WebPage,SoftwareApplication.WebSite,Organization,TechArticle(+ breadcrumbs)./bloghas onlyBlog; posts have onlyBlogPosting.llms.txtshows the details block right after the tagline.pnpm docs:validatepasses and ESLint is clean onblume.config.ts.Note: the install command in the details block uses
@beta, like Getting Started. It needs the same update when v2 goes stable.Generated by Claude Code