===============
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.