# Sonor Developers > Documentation for building on Sonor: @sonordev/site-kit and the packages around it. Every page is markdown at its URL plus `.md`. The whole set is in one file at /llms-full.txt. Current releases: @sonordev/site-kit@7.2.0, sonor-setup@7.1.2, @sonordev/contracts@2.4.0, @sonordev/agency-site-kit@0.11.1, @sonordev/re-site-kit@0.6.0. An MCP server with search_docs and get_doc tools is at https://sonor.dev/api/mcp. ## Guides - [Get started](https://sonor.dev/guides/getting-started.md): A Sonor site is a Next.js site with @sonordev/site-kit installed and one API key. Everything it shows or tracks (SEO, analytics, forms, articles, reviews, chat, agent tools) is ma… - [Industry kits](https://sonor.dev/guides/kits.md): site-kit covers what every Sonor site needs. An industry kit adds what one kind of site needs on top of it: an agency's case studies, a brokerage's listings. A kit never rebuilds… - [Agents and AI visibility](https://sonor.dev/guides/agents.md): People increasingly meet a business through an assistant: ChatGPT, Claude, Perplexity, Google's AI answers. Sonor gives a site three ways to be understood and used by them, and te… - [The public API](https://sonor.dev/guides/api.md): Every site-kit module talks to Sonor over one public API at https://api.sonor.io/api/public. site-kit is the supported way to use it: it handles auth, caching, the site host, retr… ## site-kit - [Overview](https://sonor.dev/site-kit.md): All-in-one integration kit for Sonor-powered Next.js sites. One package, one env var, every module: SEO, Analytics, Forms, Articles, Commerce, Website chat, Popups, GEO/AEO, Booki… - [Migrating to 7](https://sonor.dev/site-kit/migrating-to-7.md): site-kit 7 is organised the way Sonor's dashboard is: one entry per module. Most sites need no changes at all. Move a site when you next touch it; nothing forces it before then, b… - [For coding agents](https://sonor.dev/site-kit/agents.md): For the full machine-readable contract (modules, env, blessed patterns, failure modes, exit codes) run: - [Layout](https://sonor.dev/site-kit/layout.md): RSC-compatible master layout that auto-composes all site-kit features. - [Live updates](https://sonor.dev/site-kit/live-updates.md): Your pages stay cached, and when someone changes content in Sonor, the pages that use it refresh within seconds. It takes one route file: - [SEO](https://sonor.dev/site-kit/seo.md): Server Components and server helpers that render what you manage in the SEO module at app.sonor.io: page metadata, JSON-LD, FAQs, internal links, content blocks, redirects and rob… - [Analytics](https://sonor.dev/site-kit/analytics.md): Automatic page view tracking, custom events, conversions, scroll depth, heatmap clicks, and Core Web Vitals. All data flows through the Sonor API. - [Sitemap](https://sonor.dev/site-kit/sitemap.md): Auto-generates sitemap.xml from your Next.js app directory structure. Discovers pages, resolves dynamic routes, syncs to Sonor, and optionally writes build-time llms.txt. - [Proxy](https://sonor.dev/site-kit/proxy.md): Composable Next.js Proxy factory. Zero-config redirects + security headers. Opt-in AI discovery headers. - [Redirects](https://sonor.dev/site-kit/redirects.md): Sonor-managed 301/302/307/308 redirect rules. Used by createProxy() or standalone. - [OG cards](https://sonor.dev/site-kit/og.md): Social cards, rendered at build time by headless Chrome. Real CSS, real webfonts, no Satori subset, nothing at runtime. - [Managed copy](https://sonor.dev/site-kit/copy.md): Let the owner edit a site's words in Sonor without a deploy, while you keep the markup. Wrap the copy you'd like managed; the text in your code is the fallback, so the page render… - [Articles](https://sonor.dev/site-kit/articles.md): Use one routing object for the stock components and their SEO helpers. Existing sites keep /article/slug unless they opt in. basePath remains supported as a metadata alias; basePa… - [Images](https://sonor.dev/site-kit/images.md): Sonor-managed image slots with dev-mode editing, focal point support, and image picker. - [Reputation](https://sonor.dev/site-kit/reputation.md): Display client reviews, testimonials, and rating statistics from Sonor. - [Forms](https://sonor.dev/site-kit/forms.md): Sonor-managed forms with multi-step support, conditional logic, validation, anti-bot protection, and automatic CRM routing. - [Website chat](https://sonor.dev/site-kit/chat.md): Echo's chat launcher and conversation on your site, configured in Sonor (Messages → Chat settings). AI answers, live handoff to your team, and an offline form when nobody's around. - [Popups and banners](https://sonor.dev/site-kit/popups.md): The popups, banners and toasts you publish in Sonor (Website → Popups & Banners), shown on your site where and when you set them, in the site's own design. - [CTA bar](https://sonor.dev/site-kit/cta-bar.md): The Liquid Glass mobile CTA bar (6.1.0). A floating frosted capsule that keeps a site's one or two highest-intent actions a thumb away on phones. - [Signal (A/B)](https://sonor.dev/site-kit/signal.md): Real-time A/B experiments, behavior tracking, and dynamic configuration from Signal AI. Requires full_signal plan. - [Commerce](https://sonor.dev/site-kit/commerce.md): Products, services, classes, events, and checkout flows — all managed from the Sonor dashboard. - [Booking](https://sonor.dev/site-kit/booking.md): Embeddable booking/scheduling widget — like Calendly, built into Sonor. Appointments, consultations, classes. - [llms.txt and AEO](https://sonor.dev/site-kit/llms.md): Generative Engine Optimization (GEO) and Answer Engine Optimization (AEO) for Sonor-powered Next.js sites. Makes businesses visible to ChatGPT, Claude, Perplexity, Google AI Overv… - [MCP and agent tools](https://sonor.dev/site-kit/mcp.md): Make a marketing site something an AI agent can use, not just read. - [Motion](https://sonor.dev/site-kit/motion.md): The Upforge motion standard: highly interactive, lean, and designed from day one for SEO/AEO. Three tiers, three subpaths, so a site only installs and ships what it imports. - [Sign in with Sonor](https://sonor.dev/site-kit/admin-auth.md): Put a site's own admin area behind a Sonor login. Whoever can open the project in Sonor (its owners and members, the managing agency, platform admins) can sign in; nobody else can… - [Changelog](https://sonor.dev/site-kit/changelog.md): Forms, popups and booking now work the way AI agent browsers, autofill and screen readers expect, Sonor's schema can't put a template's placeholders on a live page, and the retire… ## sonor-setup CLI - [Overview](https://sonor.dev/cli.md): Set up, verify and migrate a Next.js site on Sonor, for @sonordev/site-kit. - [Changelog](https://sonor.dev/cli/changelog.md): First release as its own package. Until now the CLI shipped inside @sonordev/site-kit (as its sonor-setup bin), where it was 3 MB of every site's install and needed a site-kit rel… ## contracts - [Overview](https://sonor.dev/contracts.md): The rules Sonor's sites, APIs and dashboard have to agree on, as one package. Pure functions and types: no dependencies, no DOM, no network. - [Changelog](https://sonor.dev/contracts/changelog.md): A minor release: one new entry, @sonordev/contracts/schema-placeholders, and the llms.txt sanitizers stop cutting mid-word. Every other entry is unchanged. ## agency-site-kit - [Overview](https://sonor.dev/agency-site-kit.md): Case studies for agency websites built on Sonor. The kit fetches your portfolio from Sonor and gives your site the rules every case study follows: which numbers it may claim and t… - [Quickstart](https://sonor.dev/agency-site-kit/quickstart.md): The setup CLI adds a working portfolio to a Next.js App Router site in one command: the routes, a starter renderer you own, the webhook Sonor calls when content changes, and the r… - [Proof and provenance](https://sonor.dev/agency-site-kit/proof.md): A case study is only as good as the numbers in it, so every number carries where it came from, and the kit decides what each one may claim. This page covers that model and the fun… - [Sections and devices](https://sonor.dev/agency-site-kit/sections.md): A case study is a list of sections: a hero, the challenge, the strategy, results, a testimonial and so on. This page covers reading them in the right order, pulling out one sectio… - [Images, labels and paths](https://sonor.dev/agency-site-kit/images.md): The small helpers every renderer prints through: turning an image field into something safe to put in src (with its real size when the file name says it), printing categories, ser… - [JSON-LD](https://sonor.dev/agency-site-kit/json-ld.md): Each case study page should tell search engines and AI crawlers what it is. buildPortfolioJsonLd builds a schema.org Article from a case study, and jsonLdString turns it into text… - [Fetching](https://sonor.dev/agency-site-kit/fetching.md): The server side of the kit: the functions that load case studies from Sonor, the helpers that turn them into Next.js metadata, static params and sitemap entries, and the error con… - [Types](https://sonor.dev/agency-site-kit/types.md): Every shape the kit hands you is typed, from a list item to each section's data. This page covers where to import the types from and what the main ones hold. The declarations in t… - [Brand layout](https://sonor.dev/agency-site-kit/layout.md): AgencySiteKitLayout wraps your site in your agency's brand. It fetches the colours, fonts and radii you set in Sonor and publishes them as --sk-* CSS variables, in light and dark,… - [Live updates and preview](https://sonor.dev/agency-site-kit/live-updates.md): Two route handlers connect your site to the Sonor dashboard. The webhook regenerates the pages a change touched as soon as you publish, so a case study goes live in seconds withou… - [Live device frames](https://sonor.dev/agency-site-kit/device-frames.md): A screenshot shows what a client's site looked like. A live frame shows the site itself: scrollable, current, obviously real. This page covers how to put a client's live site insi… - [Subpath map](https://sonor.dev/agency-site-kit/subpaths.md): Every entry point the package publishes, where each one can run, and everything it exports. Each entry ships as ESM and CommonJS with type declarations. - [Changelog](https://sonor.dev/agency-site-kit/changelog.md): What changed in each release, for the sites that use the kit. It's pre-1.0, so a breaking change can land in a minor release; the entry says so when it does. Releases before 0.9.0… ## re-site-kit - [Overview](https://sonor.dev/re-site-kit.md): Real estate listings for Sonor-powered Next.js sites: search and filters, a page for every listing, the MLS attribution IDX rules ask for, condo buildings, trending homes, and MCP… - [Quickstart](https://sonor.dev/re-site-kit/quickstart.md): This page wires a listings index and a listing detail page end to end: search, filters, paging, a detail view with a photo gallery, schema.org markup, IDX attribution, an inquiry… - [Search and filters](https://sonor.dev/re-site-kit/search.md): Everything a listings index needs: searchListings fetches a filtered, sorted page of listings, ListingFilters is the search form, and ListingPagination links between pages. All th… - [Listing pages](https://sonor.dev/re-site-kit/listing-pages.md): The pieces of a page per listing: getListing and getListingParams to fetch and pre-render, listingMetadata for the title and social cards, ListingDetail and ListingGallery to show… - [Cards and grids](https://sonor.dev/re-site-kit/cards.md): ListingCard shows one listing as a card: photo, price, address, specs and the listing brokerage. ListingGrid lays a list of them out in a responsive grid. Both render on the serve… - [Hot properties](https://sonor.dev/re-site-kit/hot-listings.md): Show the homes people are looking at most. ListingViewTracker counts a view each time someone opens a listing page, Sonor ranks the listings from those views, and getHotListings r… - [Buildings and the registry](https://sonor.dev/re-site-kit/buildings.md): Condo and townhome sites usually have a page per building. Sonor can match every MLS listing to its building, so each building page shows what's for sale there with one call. Your… - [Market snapshot](https://sonor.dev/re-site-kit/market-snapshot.md): summarizeListings turns a set of listings into the numbers a buyer wants at a glance: how many are for sale, the price range, median price and price per square foot, typical HOA,… - [Inquiry forms](https://sonor.dev/re-site-kit/inquiry-forms.md): ListingInquiryForm puts an "Ask about this home" form on a listing page. It's a Sonor managed form with the listing filled in, so every lead lands in the CRM attached to the prope… - [IDX compliance](https://sonor.dev/re-site-kit/idx.md): When your site shows listings from other brokerages, the MLS attaches display rules. This page covers what those rules usually ask for, what the kit already does about them, and I… - [MCP tools](https://sonor.dev/re-site-kit/mcp.md): @sonordev/re-site-kit/mcp gives a real estate site a public MCP endpoint, so a buyer's AI assistant can search your live listings, read one in detail, browse your buildings, and a… - [Formatting and JSON-LD](https://sonor.dev/re-site-kit/formatting.md): The helpers the components use to turn a listing into display text and schema.org markup. They're exported so your own layouts can say things the same way. All of them are pure fu… - [Types](https://sonor.dev/re-site-kit/types.md): Every type the package exports, with its fields. Data types come from the package root; each component's props type is exported next to the component. - [Subpath map](https://sonor.dev/re-site-kit/exports.md): The package has four entry points. The split is what keeps listing pages server-rendered: the root holds nothing that needs the browser, the server-only code can't leak into a cli… - [Styling and performance](https://sonor.dev/re-site-kit/styling.md): The components come unstyled apart from a few layout essentials, with a stable class on every element so your site's CSS can make them its own. This page lists every class hook, e… - [Changelog](https://sonor.dev/re-site-kit/changelog.md): First public release.