{"repo":"dodopayments/dualmark","free":true,"listed":false,"github":"https://github.com/dodopayments/dualmark","clone":"git clone https://github.com/dodopayments/dualmark.git","description":"Open-source AEO (Answer Engine Optimization) infrastructure — every page, dual-marked. Markdown twins for AI agents alongside HTML for humans, picked by HTTP content negotiation.","language":"TypeScript","stars":100,"topics":["aeo","ai-search","answer-engine-optimization","cloudflare-workers","content-negotiation","llms-txt","markdown","nextjs","typescript","ai-bots"],"license":"Apache-2.0","category":"ai-agents","readme_excerpt":"Dualmark The AEO infrastructure your marketing site is missing. Your blog ranks #1 on Google. ChatGPT cites your competitor. That's not a content problem. It's an infrastructure problem . AI search engines (ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews) read the web differently from humans — they want clean markdown without nav chrome, JavaScript, or cookie banners. Most marketing sites give them HTML soup and wonder why they get ignored. Dualmark gives every page a markdown twin. Same URL. Two formats. Picked by HTTP content negotiation. Drop it into your Astro/Next.js/SvelteKit/Cloudflare stack in 30 seconds. Score it with dualmark verify . Quickstart · Why · Examples · Spec · Docs --- Quickstart Astro (30 seconds) That's it. Every blog post has a markdown twin at /blog/ .md . llms.txt is generated. Every HTML response advertises its twin via Link: ; rel=\"alternate\"; type=\"text/markdown\" . ChatGPT crawler sees clean markdown. Your existing pages don't change. Next.js App Router (60 seconds) That's it. Bot UAs get markdown, browsers get HTML with a Link rel=\"alternate\" header, direct .md URLs serve markdown. Full example with next dev → 120/125 conformance score: Full Next.js example → SvelteKit (60 seconds) Full example with vite dev → 125/125 conformance score: Full SvelteKit example → Cloudflare Workers (60 seconds) Wrap your existing Worker. AI bots get markdown at the edge — single-digit-ms first-byte from 300+ cities. Full example with wrangler dev → 125/125","default_branch":null,"files":null,"tree":[],"storefront":"/r/dodopayments","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dodopayments/dualmark/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}