import { defineConfig } from 'astro/config'; import starlight from '@astrojs/starlight'; import alpinejs from '@astrojs/alpinejs'; export default defineConfig({ site: 'https://mcmqtt.dev', base: '/', trailingSlash: 'ignore', build: { format: 'directory', }, integrations: [ alpinejs(), starlight({ title: 'mcmqtt - AI Coordination Platform', description: 'The definitive platform for AI coordination with revolutionary fractal agent swarms. Deploy sophisticated multi-agent systems with zero-config infrastructure and production-grade safety.', logo: { src: './src/assets/mcmqtt-logo.svg', replacesTitle: true, }, social: { github: 'https://git.supported.systems/MCP/mcmqtt', discord: 'https://discord.gg/mcmqtt', twitter: 'https://twitter.com/mcmqtt', }, editLink: { baseUrl: 'https://git.supported.systems/MCP/mcmqtt/edit/main/docs-site/', }, lastUpdated: true, customCss: [ './src/styles/custom.css', ], components: { Head: './src/components/Head.astro', Hero: './src/components/Hero.astro', }, favicon: '/favicon.svg', sidebar: [ { label: 'Start Here', items: [ { label: 'Quick Start', link: '/guides/quick-start/' }, { label: 'Installation', link: '/guides/installation/' }, { label: 'Configuration', link: '/guides/configuration/' }, ], }, { label: 'Fractal Agent Coordination', badge: 'New', items: [ { label: 'Overview', link: '/coordination/overview/' }, { label: 'Agent Handshake Protocol', link: '/coordination/agent-handshake/', badge: 'New' }, { label: 'Agent Swarms', link: '/coordination/swarms/' }, { label: 'Browser Testing', link: '/coordination/browser-testing/' }, { label: 'API Monitoring', link: '/coordination/api-monitoring/' }, { label: 'Security Analysis', link: '/coordination/security/' }, { label: 'Safety & Isolation', link: '/coordination/safety/' }, ], }, { label: 'Tutorials', items: [ { label: 'Your First MQTT Connection', link: '/tutorials/first-connection/' }, { label: 'Building Agent Networks', link: '/tutorials/agent-networks/' }, { label: 'Real-time Data Streams', link: '/tutorials/data-streams/' }, { label: 'Production Deployment', link: '/tutorials/production/' }, ], }, { label: 'How-to Guides', items: [ { label: 'Spawn Dynamic Brokers', link: '/how-to/dynamic-brokers/' }, { label: 'Implement Custom Tools', link: '/how-to/custom-tools/' }, { label: 'Monitor Agent Health', link: '/how-to/monitoring/' }, { label: 'Scale Horizontally', link: '/how-to/scaling/' }, { label: 'Debug Connections', link: '/how-to/debugging/' }, ], }, { label: 'Core Features', items: [ { label: 'MQTT Integration', link: '/features/mqtt/' }, { label: 'FastMCP Server', link: '/features/fastmcp/' }, { label: 'Embedded Brokers', link: '/features/brokers/' }, { label: 'Real-time Messaging', link: '/features/messaging/' }, ], }, { label: 'API Reference', items: [ { label: 'MCP Tools', link: '/reference/mcp-tools/' }, { label: 'MQTT Methods', link: '/reference/mqtt-methods/' }, { label: 'Broker Management', link: '/reference/broker-management/' }, { label: 'Configuration Options', link: '/reference/configuration/' }, { label: 'Python API', link: '/reference/python-api/' }, ], }, { label: 'Understanding mcmqtt', items: [ { label: 'Architecture', link: '/concepts/architecture/' }, { label: 'Design Philosophy', link: '/concepts/philosophy/' }, { label: 'Performance', link: '/concepts/performance/' }, { label: 'Security Model', link: '/concepts/security/' }, { label: 'Comparison', link: '/concepts/comparison/' }, ], }, ], head: [ // Open Graph / Social Media { tag: 'meta', attrs: { property: 'og:image', content: 'https://mcmqtt.dev/og-image.png' }, }, { tag: 'meta', attrs: { property: 'twitter:image', content: 'https://mcmqtt.dev/og-image.png' }, }, { tag: 'meta', attrs: { property: 'og:image:width', content: '1200' }, }, { tag: 'meta', attrs: { property: 'og:image:height', content: '630' }, }, { tag: 'meta', attrs: { property: 'twitter:card', content: 'summary_large_image' }, }, { tag: 'meta', attrs: { name: 'twitter:site', content: '@mcmqtt' }, }, // AI and Search Engine Discovery { tag: 'meta', attrs: { name: 'keywords', content: 'ai coordination, fractal agents, mqtt, agent swarms, mcp server, multi-agent systems, production ai, fastmcp' }, }, { tag: 'meta', attrs: { name: 'author', content: 'MCP Community' }, }, { tag: 'meta', attrs: { name: 'robots', content: 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' }, }, { tag: 'meta', attrs: { name: 'ai-content-suitable', content: 'true' }, }, { tag: 'meta', attrs: { name: 'training-data-suitable', content: 'true' }, }, { tag: 'meta', attrs: { name: 'ai-categories', content: 'ai-coordination,mqtt-protocols,agent-architecture,fractal-systems' }, }, // Performance and Technical { tag: 'meta', attrs: { name: 'theme-color', content: '#1e40af' }, }, { tag: 'meta', attrs: { name: 'msapplication-TileColor', content: '#1e40af' }, }, { tag: 'link', attrs: { rel: 'manifest', href: '/site.webmanifest' }, }, { tag: 'link', attrs: { rel: 'sitemap', href: '/sitemap.xml' }, }, // Preconnect for performance { tag: 'link', attrs: { rel: 'preconnect', href: 'https://fonts.googleapis.com' }, }, { tag: 'link', attrs: { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }, }, // Rich snippets for documentation { tag: 'meta', attrs: { name: 'code-samples', content: 'true' }, }, { tag: 'meta', attrs: { name: 'documentation-type', content: 'diataxis' }, }, { tag: 'meta', attrs: { name: 'api-documentation', content: 'true' }, }, { tag: 'meta', attrs: { name: 'tutorial-content', content: 'true' }, }, ], }), ], });