---
title: "dental-website-review"
description: "Assess a dental practice's website the way a patient uses it: call, book, cost, emergency, the dentist. Collects evidence from the public site and a real phone browser, then judges it against root.site's dental rubric, w"
canonical: https://agentpluginsdirectory.com/plugins/dental-website-review
last-updated: 2026-10-23
---

# dental-website-review
Assess a dental practice's website the way a patient uses it: call, book, cost, emergency, the dentist. Collects evidence from the public site and a real phone browser, then judges it against root.site's dental rubric, with a line for the practice and a line for the developer.
- Slug: dental-website-review
- Publisher: root.site
- Repository: https://github.com/plattegruber/root-site
- Manifest: apps/dental-website-review/plugin/plugin.json
- Version: 0.2.0
- Category (editorial): other
- Skills: 1 (audit-practice)
- MCP servers: 1 (dental-website-review)
- Stars: 0
- Repository created: 2026-05-28
- Repository last pushed: 2026-10-22
- Publisher type: User
- Listing: https://agentpluginsdirectory.com/plugins/dental-website-review
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What dental-website-review does, in the publisher's words

The marketing site for root. websites for dental practices.

- SvelteKit 2 (Svelte 5, runes mode): every page route is statically prerendered
- Tailwind v4: CSS-first config, design tokens live in src/app.css
- Self-hosted fonts: Karla Variable, Instrument Serif, IBM Plex Mono via Fontsource (no Google Fonts CDN)
- Cloudflare Workers: single Worker with static assets binding; /api/contact runs as a Worker function, www → apex redirect via hooks.server.ts with run_worker_first
- mdsvex: blog posts authored as Markdown with YAML frontmatter
- TypeScript everywhere: pnpm run check is zero-error

Custom domains (root.site apex + www.root.site) are declared in wrangler.jsonc; Cloudflare provisions DNS + TLS automatically when the zone lives on the same account. The Worker handles every request (thanks to assets.run_worker_first), 301-redirects www → apex via src/hooks.server.ts, and falls through to the static asset binding for everything else.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/plattegruber/root-site/HEAD/README.md

## MCP servers

- dental-website-review: transport: streamable-http; url: https://website-review.root.site/mcp

Read from the plugin's own mcp.json. Environment variable names only, never values.
