=============== LIBRARY RULES =============== From library maintainers: - Use bun as the default package manager and runtime - Prefer framework plugins (aeo.js/next, aeo.js/astro, aeo.js/vite, aeo.js/nuxt, aeo.js/angular, aeo.js/webpack) over manual CLI invocation when a framework is detected - The widget is opt-in via config.widget.enabled and runs entirely client-side - Generated files (robots.txt, llms.txt, llms-full.txt, sitemap.xml, ai-index.json) are written to the public/ or dist/ output directory based on framework ### Install and Run aeo.js Demos Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Commands to install all demos, run specific framework demos, and build all demos. Each script rebuilds the library first. ```bash npm run demo:install npm run demo:astro # Astro → http://localhost:4321 npm run demo:next # Next.js → http://localhost:3100 npm run demo:vite # Vite+React → http://localhost:3200 npm run demo:nuxt # Nuxt → http://localhost:3300 npm run demo:angular # Angular → http://localhost:3400 npm run demo:webpack # Webpack → http://localhost:3500 npm run demo:build-all ``` -------------------------------- ### Install aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Install the aeo.js package using npm. This is the first step to using the library in your project. ```bash npm install aeo.js ``` -------------------------------- ### Check Site Visibility with aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Use npx to quickly check a website's visibility score and AI crawler access without installing the library. This command provides a GEO readiness score and actionable fixes. ```bash npx aeo.js check mysite.com ``` -------------------------------- ### Load Aeo Widget Manually in React Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Use this hook in React applications for manual widget integration, especially in Next.js or similar setups. It dynamically imports the widget script. ```tsx 'use client'; import { useEffect } from 'react'; export function AeoWidgetLoader() { useEffect(() => { import('aeo.js/widget').then(({ AeoWidget }) => { new AeoWidget({ config: { title: 'My Site', url: 'https://mysite.com', widget: { enabled: true, position: 'bottom-right' }, }, }); }); }, []); return null; } ``` -------------------------------- ### Deploying aeo.js Demo to Vercel Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Instructions for deploying a specific demo to Vercel. Requires setting the root directory to the demo subfolder and Vercel will use the provided vercel.json. ```bash vercel.json ``` -------------------------------- ### Configure SvelteKit Post-Build Step Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Add a post-build script to `package.json` for Aeo.js integration with SvelteKit. ```json { "scripts": { "postbuild": "node -e \"import('aeo.js/sveltekit').then(m => m.postBuild({ title: 'My Site', url: 'https://mysite.com' }))\"" } } ``` -------------------------------- ### Configure Remix Post-Build Step Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Add a post-build script to `package.json` for Aeo.js integration with Remix. ```json { "scripts": { "postbuild": "node -e \"import('aeo.js/remix').then(m => m.postBuild({ title: 'My Site', url: 'https://mysite.com' }))\"" } } ``` -------------------------------- ### Configure Angular Post-Build Step Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Add a post-build script to `package.json` for Aeo.js integration with Angular. ```json { "scripts": { "postbuild": "node -e \"import('aeo.js/angular').then(m => m.postBuild({ title: 'My App', url: 'https://myapp.com' }))\"" } } ``` -------------------------------- ### Aeo.js CLI Usage Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Use the Aeo.js CLI for standalone operations like generating content, initializing, and checking the project. No framework is needed for these commands. ```bash npx aeo.js generate --url https://mysite.com --title "My Site" npx aeo.js init npx aeo.js check ``` -------------------------------- ### Configure Next.js Integration Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Integrate Aeo.js into your Next.js project using the `withAeo` higher-order component in `next.config.mjs` and add a post-build script to `package.json`. ```js // next.config.mjs import { withAeo } from 'aeo.js/next'; export default withAeo({ aeo: { title: 'My Site', description: 'A site optimized for AI discovery', url: 'https://mysite.com', }, }); ``` ```json { "scripts": { "postbuild": "node -e \"import('aeo.js/next').then(m => m.postBuild({ title: 'My Site', url: 'https://mysite.com' }))\"" } } ``` -------------------------------- ### AEO.js Project Configuration Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Configure AEO.js by defining site metadata, enabling various generators for AI optimization, and setting up schema, Open Graph, and widget properties. Refer to the official documentation for a full reference. ```javascript import { defineConfig } from 'aeo.js'; export default defineConfig({ title: 'My Site', url: 'https://mysite.com', description: 'A description of your site', generators: { robotsTxt: true, llmsTxt: true, llmsFullTxt: true, rawMarkdown: true, sitemap: true, aiIndex: true, schema: true, }, schema: { enabled: true, organization: { name: 'My Company', url: 'https://mysite.com' }, defaultType: 'WebPage', }, og: { enabled: true, image: 'https://mysite.com/og.png', twitterHandle: '@mycompany', }, widget: { enabled: true, position: 'bottom-right', theme: { accent: '#4ADE80', badge: '#4ADE80' }, }, }); ``` -------------------------------- ### Astro Integration for aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Import and use the Astro integration for aeo.js. Ensure the correct plugin import path is used. ```javascript integrations: [aeoAstroIntegration()] ``` -------------------------------- ### Configure Astro Integration Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Add the Aeo.js integration to your Astro project by importing and configuring `aeoAstroIntegration` in `astro.config.mjs`. ```js // astro.config.mjs import { defineConfig } from 'astro/config'; import { aeoAstroIntegration } from 'aeo.js/astro'; export default defineConfig({ site: 'https://mysite.com', integrations: [ aeoAstroIntegration({ title: 'My Site', description: 'A site optimized for AI discovery', url: 'https://mysite.com', }), ], }); ``` -------------------------------- ### Configure Nuxt Integration Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Integrate Aeo.js into your Nuxt project by adding 'aeo.js/nuxt' to the `modules` array and configuring the `aeo` property in `nuxt.config.ts`. ```ts // nuxt.config.ts export default defineNuxtConfig({ modules: ['aeo.js/nuxt'], aeo: { title: 'My Site', description: 'A site optimized for AI discovery', url: 'https://mysite.com', }, }); ``` -------------------------------- ### Configure Webpack Integration Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Add the Aeo.js Webpack plugin to your Webpack configuration by importing and instantiating `AeoWebpackPlugin` in `webpack.config.js`. ```js // webpack.config.js const { AeoWebpackPlugin } = require('aeo.js/webpack'); module.exports = { plugins: [ new AeoWebpackPlugin({ title: 'My Site', description: 'A site optimized for AI discovery', url: 'https://mysite.com', }), ], }; ``` -------------------------------- ### Nuxt Integration for aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Configure Nuxt to use the aeo.js module. Add the module to the 'modules' array and configure 'aeo' options in the Nuxt config. ```javascript modules: ['aeo.js/nuxt'] aeo: {} ``` -------------------------------- ### Next.js Integration for aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Integrate aeo.js with Next.js using the provided higher-order component. Configure aeo options within the HOC. ```javascript export default withAeo({ aeo: {...} }) ``` -------------------------------- ### Aeo React Widget Component Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md A pre-built React component for easy integration of the Aeo widget. Pass your configuration object directly to the component. ```tsx import { AeoReactWidget } from 'aeo.js/react'; ``` -------------------------------- ### Vite+React Integration for aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Add the aeo.js Vite plugin to your Vite configuration. Ensure the plugin is correctly imported and added to the plugins array. ```javascript plugins: [aeoVitePlugin()] ``` -------------------------------- ### Configure Vite Integration Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md Add the Aeo.js Vite plugin to your Vite project by importing and configuring `aeoVitePlugin` in `vite.config.ts`. ```ts // vite.config.ts import { defineConfig } from 'vite'; import { aeoVitePlugin } from 'aeo.js/vite'; export default defineConfig({ plugins: [ aeoVitePlugin({ title: 'My Site', description: 'A site optimized for AI discovery', url: 'https://mysite.com', }), ], }); ``` -------------------------------- ### Aeo Vue Widget Component Source: https://github.com/multivmlabs/aeo.js/blob/main/README.md A pre-built Vue component for easy integration of the Aeo widget. Pass your configuration object directly to the component. ```vue ``` -------------------------------- ### Angular Integration for aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Integrate aeo.js into an Angular project by calling a post-build hook. This ensures aeo.js runs after the Angular build process. ```javascript postBuild() after ng build ``` -------------------------------- ### Webpack Integration for aeo.js Source: https://github.com/multivmlabs/aeo.js/blob/main/demo/README.md Add the aeo.js Webpack plugin to your Webpack configuration. Ensure the plugin is instantiated correctly and added to the plugins array. ```javascript plugins: [new AeoWebpackPlugin()] ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.