Skip to main content

Documentation Quality Overhaul — Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.
Goal: Bring all 25 hand-written documentation pages up to consistent quality — fix frontmatter, code examples, broken content, marketing fluff, stub pages, and component usage across the entire site. Architecture: 10 sequential task groups covering: frontmatter sweep, WebSocket file rename, index rewrite, changelog cleanup, camera guide code fixes, component fixes, stub page rewrites, integration fixes, WebSocket content fixes, and final validation. Each task produces a commit. Tech Stack: Mintlify, MDX, OpenAPI spec for endpoint research Spec: docs/superpowers/specs/2026-04-09-autonomous-api-docs-design.md + audit findings from 4 parallel review agents Answers to key questions (from user):
  • Staging URL wss://ws.itg.rhombussystems.com:8443/websocket — REMOVE, internal only
  • Rhombus CLI at github.com/RhombusSystems/rhombus-cli — EXISTS, keep reference but do not expand (separate article later)
  • Support email — always support@rhombus.com (never api@rhombus.com)
  • Docs URL — always https://api-docs.rhombus.community (never apidocs.rhombussystems.com)
  • Endpoint count — use stable phrase “800+” everywhere (actual count: 892, changes nightly)
  • Stub pages — build from actual OpenAPI spec endpoints
  • WebSocket filenames — rename to remove redundant websocket- prefix

Task 1: Frontmatter Sweep — All 25 Pages

Files: All .mdx files in root, implementations/, low-code-no-code/, websocket/, api-reference/ Add missing keywords and icon fields, fix descriptions over 160 characters. This is a mechanical sweep — no content changes.
  • Step 1: Add keywords and fix frontmatter on root pages
For each file, add keywords array and icon if missing. Fix descriptions over 160 chars. index.mdx — Shorten description to: "Build security integrations with the Rhombus REST API for cameras, access control, sensors, and analytics." Add keywords: ["api", "developer", "documentation", "rhombus", "security", "REST API", "getting started"] resources.mdx — Already has icon and keywords. No change needed. rate-limits.mdx — Fix title casing to "Rate Limits". Add keywords: ["rate limits", "throttling", "API limits", "retry", "429"] changelog.mdx — Fix description to: "Track new endpoints, breaking changes, and updates to the Rhombus API." (under 160 chars). Add keywords: ["changelog", "updates", "new endpoints", "API changes"] webhooks.mdx — Add keywords: ["webhooks", "event notifications", "HTTP callbacks", "real-time"] documentation-mcp.mdx — Add icon: "robot". Add keywords: ["MCP", "model context protocol", "AI", "Claude", "Cursor", "VS Code"]
  • Step 2: Add keywords and fix frontmatter on implementation pages
implementations/streaming-video.mdx — Add keywords: ["video streaming", "camera", "thumbnail", "HLS", "live video"] implementations/video-player.mdx — Shorten description to: "Build a custom video player for Rhombus camera streams with HLS playback and timeline controls." Add keywords: ["video player", "HLS", "playback", "camera stream"] implementations/advanced-implementation.mdx — Fix keywords from ["rtsp", "sync video"] to ["ISOBMFF", "timestamp", "synchronization", "multi-camera", "video sync"]. Add icon: "microscope" implementations/retrieving-audio.mdx — Add keywords: ["audio", "DASH", "MPD", "media", "recording"] implementations/backup-footage-local-storage.mdx — Add keywords: ["backup", "footage", "local storage", "download", "archive"] implementations/qr-code-access-control.mdx — Add keywords: ["QR code", "access control", "door unlock", "touchless", "credentials"] implementations/alarm-monitoring.mdx — Add keywords: ["alarm", "monitoring", "threat case", "alert", "security"] implementations/iot-sensors.mdx — Add keywords: ["IoT", "sensors", "climate", "temperature", "humidity", "air quality"] implementations/webhook-listener.mdx — Add keywords: ["webhook", "listener", "reverse proxy", "SSH tunnel", "ngrok"]
  • Step 3: Add keywords and fix frontmatter on integration pages
low-code-no-code/zapier.mdx — Add icon: "bolt". Expand keywords from ["Zapier"] to ["Zapier", "automation", "no-code", "workflow", "integration"] low-code-no-code/make.mdx — Add icon: "wand". Add keywords: ["Make", "Integromat", "automation", "no-code", "workflow"] low-code-no-code/n8n.mdx — Add icon: "workflow". Add keywords: ["n8n", "self-hosted", "automation", "workflow", "AI agents"]
  • Step 4: Add keywords and fix frontmatter on WebSocket pages
All 7 WebSocket pages are missing keywords. Add to each: websocket/websocket-overview.mdx — Add keywords: ["WebSocket", "real-time", "STOMP", "event streaming"] websocket/websocket-authentication.mdx — Add keywords: ["WebSocket", "authentication", "API token", "STOMP connect"] websocket/websocket-event-monitoring.mdx — Add keywords: ["WebSocket", "events", "monitoring", "subscription", "filtering"] websocket/websocket-connection-lifecycle.mdx — Add keywords: ["WebSocket", "connection", "lifecycle", "heartbeat", "reconnection"] websocket/websocket-stomp-protocol.mdx — Add keywords: ["STOMP", "protocol", "WebSocket", "frames", "messaging"] websocket/websocket-code-examples.mdx — Add keywords: ["WebSocket", "code examples", "Python", "JavaScript", "Go"] websocket/websocket-troubleshooting.mdx — Add keywords: ["WebSocket", "troubleshooting", "debugging", "connection issues"]
  • Step 5: Validate and commit
python3 scripts/check-content-quality.py
mint validate
git add -A *.mdx implementations/*.mdx low-code-no-code/*.mdx websocket/*.mdx api-reference/*.mdx
git commit -m "fix: add missing keywords, icons, and fix descriptions across all pages"

Task 2: Rename WebSocket Files — Remove Redundant Prefix

Files:
  • Rename: websocket/websocket-overview.mdxwebsocket/overview.mdx
  • Rename: websocket/websocket-authentication.mdxwebsocket/authentication.mdx
  • Rename: websocket/websocket-event-monitoring.mdxwebsocket/event-monitoring.mdx
  • Rename: websocket/websocket-connection-lifecycle.mdxwebsocket/connection-lifecycle.mdx
  • Rename: websocket/websocket-stomp-protocol.mdxwebsocket/stomp-protocol.mdx
  • Rename: websocket/websocket-code-examples.mdxwebsocket/code-examples.mdx
  • Rename: websocket/websocket-troubleshooting.mdxwebsocket/troubleshooting.mdx
  • Modify: docs.json (WebSocket navigation group)
  • Modify: All WebSocket .mdx files (internal links)
  • Step 1: Rename all 7 files
cd websocket
mv websocket-overview.mdx overview.mdx
mv websocket-authentication.mdx authentication.mdx
mv websocket-event-monitoring.mdx event-monitoring.mdx
mv websocket-connection-lifecycle.mdx connection-lifecycle.mdx
mv websocket-stomp-protocol.mdx stomp-protocol.mdx
mv websocket-code-examples.mdx code-examples.mdx
mv websocket-troubleshooting.mdx troubleshooting.mdx
cd ..
  • Step 2: Update docs.json navigation
In docs.json, find the WebSocket group and replace the page references: Old:
"group": "WebSocket",
"pages": [
  "websocket/websocket-overview",
  "websocket/websocket-authentication",
  "websocket/websocket-event-monitoring",
  "websocket/websocket-connection-lifecycle",
  "websocket/websocket-stomp-protocol",
  "websocket/websocket-code-examples",
  "websocket/websocket-troubleshooting"
]
New:
"group": "WebSocket",
"pages": [
  "websocket/overview",
  "websocket/authentication",
  "websocket/event-monitoring",
  "websocket/connection-lifecycle",
  "websocket/stomp-protocol",
  "websocket/code-examples",
  "websocket/troubleshooting"
]
  • Step 3: Update all internal links in WebSocket pages
Search all .mdx files for /websocket/websocket- and replace with /websocket/:
  • websocket/overview.mdx: Update 4 Card hrefs from /websocket/websocket-* to /websocket/*
  • websocket/authentication.mdx: Update link to /websocket/connection-lifecycle
  • websocket/stomp-protocol.mdx: Update link to /websocket/code-examples
  • Any other cross-references between WebSocket pages
  • Step 4: Validate and commit
python3 -c "import json; json.load(open('docs.json')); print('Valid JSON')"
mint broken-links
git add -A
git commit -m "refactor: rename websocket files to remove redundant prefix

Rename websocket/websocket-*.mdx to websocket/*.mdx for cleaner URLs.
Update docs.json navigation and all internal cross-references."

Task 3: Rewrite index.mdx

Files:
  • Modify: index.mdx
Fix placeholder code examples, remove marketing fluff, stabilize endpoint count, make “What You Can Build” cards link to real pages.
  • Step 1: Remove the marketing Info callout and “Why Choose Rhombus” section
Remove lines 8-12 (the “API-First Architecture Since 2016” Info callout). Remove the entire “Why Choose Rhombus?” section (the CardGroup with 4 cards about API-First Design, OpenAPI 3.0, Enterprise Security, JSON over HTTPS).
  • Step 2: Fix code examples with real endpoints
Replace the JavaScript example (HTTP Client tab) — use a real endpoint:
JavaScript
const response = await fetch('https://api2.rhombussystems.com/api/camera/getMinimalCameraStateList', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-auth-scheme': 'api-token',
    'x-auth-apikey': 'YOUR_API_KEY'
  },
  body: JSON.stringify({})
});

const data = await response.json();
console.log(`Found ${data.cameraStates.length} cameras`);
Replace the cURL example with a real endpoint:
cURL
curl -X POST https://api2.rhombussystems.com/api/camera/getMinimalCameraStateList \
  -H "Content-Type: application/json" \
  -H "x-auth-scheme: api-token" \
  -H "x-auth-apikey: YOUR_API_KEY" \
  -d '{}'
  • Step 3: Fix the auth headers display
Replace the JSON object display of auth headers (lines 130-135) with proper HTTP header format:
x-auth-scheme: api-token
x-auth-apikey: YOUR_API_KEY
  • Step 4: Stabilize endpoint count and add links to “What You Can Build” cards
Replace any hardcoded endpoint counts (e.g., “846+”, “850+”) with “800+”. Add href attributes to the “What You Can Build” cards:
  • Camera Management → /implementations/streaming-video
  • Access Control → /implementations/qr-code-access-control
  • Environmental Monitoring → /implementations/iot-sensors
  • Analytics & Insights → /api-reference/overview
  • Event Management → /webhooks
  • Device Administration → /api-reference/overview
  • Step 5: Validate and commit
mint validate
git add index.mdx
git commit -m "fix: rewrite index page with real code examples, remove marketing fluff

Replace placeholder URLs with real endpoints, fix auth header display,
stabilize endpoint count to '800+', add navigation links to cards."

Task 4: Clean Up Changelog

Files:
  • Modify: changelog.mdx
Fix inconsistent endpoint counts, trim bloated entries, remove emoji from headings.
  • Step 1: Fix endpoint totals
Review all <Update> entries and ensure the running totals are internally consistent. Where numbers contradict, replace specific counts with relative changes only (e.g., “+29 endpoints” rather than “Total: 892”). Remove absolute totals that will go stale.
  • Step 2: Trim the November 2025 “New Documentation Launch” entry
This entry is ~87 lines of marketing content. Condense to 5-10 lines covering: what changed (migrated to Mintlify, new navigation, interactive API playground), and a link to the main docs.
  • Step 3: Trim the November 2025 “Documentation Navigation Restructure” entry
Condense from ~45 lines to 5-10 lines: what changed (reorganized into 3 tabs, added implementation guides), link to relevant sections.
  • Step 4: Remove emoji from headings
Remove emoji prefixes from all <Update> headings and sub-headings (e.g., ”✨ Major API Expansion” → “Major API Expansion”).
  • Step 5: Remove internal endpoint references
Remove any references to internal-only endpoints (e.g., sendShipmentShippedEmail) from public changelog entries.
  • Step 6: Validate and commit
mint validate
git add changelog.mdx
git commit -m "fix: clean up changelog — fix counts, trim bloated entries, remove emoji"

Task 5: Fix Code Examples in Camera Guides

Files:
  • Modify: implementations/streaming-video.mdx
  • Modify: implementations/video-player.mdx
  • Modify: implementations/advanced-implementation.mdx
  • Modify: implementations/retrieving-audio.mdx
  • Modify: implementations/backup-footage-local-storage.mdx
  • Step 1: Fix streaming-video.mdx
  1. Fix syntax error around line 83-84: broken header object 'x-auth-apikey: YOUR_API_KEY' should be 'x-auth-apikey': 'YOUR_API_KEY'
  2. Fix unused apiKey parameter around line 62 — use it instead of hardcoding
  3. Fix incorrect thumbnail URL around line 799 to match the pattern from line 25
  4. Replace generic “Next Steps” section with linked Cards to related pages
  5. Fix json language tag on binary layout example (line ~43) to text
  • Step 2: Fix video-player.mdx
  1. Fix duplicate streaming key in player.updateSettings() (around line 270-296) — merge into one object
  2. Fix email mismatch: change mailto:api@rhombus.com to mailto:support@rhombus.com (around line 699)
  3. Add auth headers to troubleshooting curl examples (around lines 545-553)
  • Step 3: Fix advanced-implementation.mdx
  1. Fix keywords: replace ["rtsp", "sync video"] with ["ISOBMFF", "timestamp", "synchronization", "multi-camera", "video sync"]
  2. Fix json language tag on binary layout example to text
  3. Fix email mismatch: change mailto:api@rhombus.com to mailto:support@rhombus.com
  4. Update deprecated datetime.datetime.utcfromtimestamp() calls to datetime.datetime.fromtimestamp(ts, tz=datetime.timezone.utc)
  5. Add #include <iostream> to C++ example
  • Step 4: Fix retrieving-audio.mdx
  1. Remove unnecessary --- horizontal rules (lines 39, 152, 248, 265, 308)
  2. Fix off-by-one: range(1, int(num_segments))range(1, int(num_segments) + 1) (line ~226)
  3. Link API Reference endpoint names to actual documentation pages
  • Step 5: Fix backup-footage-local-storage.mdx
  1. Fix Steps component misuse (lines 29-49): replace ### Heading markdown inside <Steps> with proper <Step title="..."> components
  2. Fix json language tag on file naming convention to text
  3. Use environment variable pattern for email credentials instead of hardcoded placeholders
  4. Add missing import datetime in webhook example
  • Step 6: Validate and commit
mint validate
mint broken-links
git add implementations/
git commit -m "fix: resolve code bugs, email mismatches, and component issues in camera guides"

Task 6: Fix Integration Pages

Files:
  • Modify: low-code-no-code/zapier.mdx
  • Modify: low-code-no-code/make.mdx
  • Modify: low-code-no-code/n8n.mdx
  • Modify: documentation-mcp.mdx
  • Step 1: Fix zapier.mdx
  1. Remove specific “8,000+” app count from description — replace with “thousands of apps”
  2. Fix Authentication code block (line ~56-62): the https://console... URL in a bash fence is not a command. Change to plain text or wrap in a Note callout with a link.
  3. Replace the pricing table with a link to Zapier’s pricing page: For current pricing, see [Zapier Pricing](https://zapier.com/pricing).
  • Step 2: Fix make.mdx
  1. Fix Authentication code block — same issue as Zapier (URL in bash fence)
  2. Replace pricing table with link: For current pricing, see [Make Pricing](https://www.make.com/en/pricing).
  3. Verify rate limit claim (“1000 req/hr”) — add link to /rate-limits page
  • Step 3: Fix n8n.mdx
  1. Either complete the Custom Rhombus Node TypeScript example (lines ~409-451) or remove it — incomplete skeletons violate content standards
  2. Remove or rephrase the community templates claim if Rhombus-specific templates don’t actually exist on n8n’s site
  3. Update Docker Compose environment variables to current n8n conventions (remove deprecated N8N_BASIC_AUTH_* vars)
  • Step 4: Fix documentation-mcp.mdx
  1. Verify link /implementations/video-player is not broken
  2. Tighten the introductory paragraph (single long sentence)
  • Step 5: Validate and commit
mint validate
mint broken-links
git add low-code-no-code/ documentation-mcp.mdx
git commit -m "fix: clean up integration pages — remove stale pricing, fix code blocks"

Task 7: Rewrite Alarm Monitoring Guide

Files:
  • Modify: implementations/alarm-monitoring.mdx
Currently a 55-line stub. Rewrite with real content based on these API endpoints:
  • Alert Monitoring: orgStatus, locationStatus, enableMonitoringForLocation, disableMonitoringForLocation, getAlertMonitoringSettingsForLocation
  • Threat Cases: getAlertMonitoringThreatCases, escalateThreatCaseToAlarm, dismissThreatCase, cancelThreatCase
  • PINs: createPinForLocation, deletePinForLocation
  • Policy Alerts: getPolicyAlerts, dismissPolicyAlertV2
  • Step 1: Write the new page content
Replace the entire file with a comprehensive guide covering:
  1. Overview — What alarm monitoring does, how it integrates with Rhombus cameras and sensors
  2. Prerequisites — API key, alarm monitoring license, configured location
  3. Check Monitoring StatusorgStatus and locationStatus with CodeGroup (Python, JavaScript, cURL)
  4. Enable/Disable MonitoringenableMonitoringForLocation / disableMonitoringForLocation with CodeGroup
  5. Manage Threat CasesgetAlertMonitoringThreatCases, escalateThreatCaseToAlarm, dismissThreatCase with CodeGroup and response examples
  6. Manage PINscreatePinForLocation, deletePinForLocation with CodeGroup
  7. Work with Policy AlertsgetPolicyAlerts, dismissPolicyAlertV2 with CodeGroup
  8. Next Steps — Cards linking to related pages
All code examples must:
  • Use CodeGroup with Python, JavaScript, and cURL
  • Include auth headers (x-auth-scheme: api-token, x-auth-apikey: YOUR_API_KEY)
  • Use https://api2.rhombussystems.com base URL
  • Include realistic response examples
  • Be complete and runnable
  • Step 2: Validate and commit
mint validate
mint broken-links
git add implementations/alarm-monitoring.mdx
git commit -m "feat: rewrite alarm monitoring guide with complete API workflows

Add monitoring status checks, threat case management, PIN management,
and policy alert workflows with multi-language code examples."

Task 8: Rewrite IoT Sensors Guide

Files:
  • Modify: implementations/iot-sensors.mdx
Currently a 67-line stub. Rewrite with real content based on these API endpoints:
  • Climate: getMinimalClimateStateList, getClimateEventsForSensor, getConfig, updateDetails
  • Climate Policies: createClimatePolicy, getClimatePolicies, updateClimatePolicy
  • Environmental Gateways: getMinimalEnvironmentalGatewayStates, getEventsForEnvironmentalGateway
  • Related sensors: Door (4 endpoints), Occupancy (4 endpoints)
  • Step 1: Write the new page content
Replace the entire file with a comprehensive guide covering:
  1. Overview — Rhombus IoT sensor capabilities (temperature, humidity, air quality, occupancy, door sensors)
  2. Prerequisites — API key, sensors deployed
  3. List All SensorsgetMinimalClimateStateList with CodeGroup (Python, JavaScript, cURL) and response example
  4. Read Sensor DatagetClimateEventsForSensor with CodeGroup, showing temperature/humidity data
  5. Configure SensorsgetConfig and updateDetails with CodeGroup
  6. Set Up Climate AlertscreateClimatePolicy with CodeGroup showing threshold configuration
  7. Environmental GatewaysgetMinimalEnvironmentalGatewayStates with CodeGroup
  8. Export Sensor Data/api/export/climateEvents for CSV download
  9. Next Steps — Cards linking to related pages
All code examples must follow same standards as Task 7.
  • Step 2: Validate and commit
mint validate
mint broken-links
git add implementations/iot-sensors.mdx
git commit -m "feat: rewrite IoT sensors guide with complete API workflows

Add sensor listing, climate data reading, configuration, alert policies,
gateway management, and data export with multi-language code examples."

Task 9: Fix WebSocket Content Issues

Files:
  • Modify: websocket/overview.mdx (after Task 2 rename)
  • Modify: websocket/event-monitoring.mdx
  • Modify: websocket/connection-lifecycle.mdx
  • Modify: websocket/stomp-protocol.mdx
  • Modify: websocket/code-examples.mdx
  • Modify: websocket/troubleshooting.mdx
  • Modify: websocket/authentication.mdx
Note: File paths use the NEW names from Task 2. If Task 2 hasn’t run, use the old websocket- prefixed names.
  • Step 1: Fix overview.mdx
Remove the staging URL wss://ws.itg.rhombussystems.com:8443/websocket (around line 29). Keep only the production URL.
  • Step 2: Fix event-monitoring.mdx
  1. Expand the entity types table (line ~70-71): replace vague “Other entities” with known types from the API, or add a Note stating the full list is available via the WebSocket connection itself
  2. Rewrite line ~74: remove the --all-events CLI flag reference. Replace with: “To receive all event types, omit the entity-type filter from your SUBSCRIBE destination.”
  3. Add error handling to integration pattern examples (Slack webhook, webhook relay)
  • Step 3: Fix connection-lifecycle.mdx
  1. Fix the reconnection example (line ~299-322): implement actual exponential backoff instead of flat time.sleep(5):
def connect_with_backoff(url, max_retries=10):
    for attempt in range(max_retries):
        try:
            ws = websocket.create_connection(url)
            return ws
        except Exception as e:
            delay = min(5 * (2 ** attempt), 60)
            print(f"Connection failed: {e}. Retrying in {delay}s...")
            time.sleep(delay)
    raise ConnectionError("Max retries exceeded")
  • Step 4: Fix stomp-protocol.mdx
Resolve heartbeat value inconsistency: line ~220 shows heart-beat:10000,0 but lines ~75 and ~108 show heart-beat:10000,10000. Check the actual server behavior and make all examples consistent.
  • Step 5: Fix code-examples.mdx
Restructure the page to use <Tabs> component for Python/JavaScript/Go instead of sequential sections. This reduces the 675-line page to a more navigable format:
<Tabs>
  <Tab title="Python">
    [Python complete example]
  </Tab>
  <Tab title="JavaScript">
    [JavaScript complete example]
  </Tab>
  <Tab title="Go">
    [Go complete example]
  </Tab>
</Tabs>
  • Step 6: Fix troubleshooting.mdx
  1. Fix the docs URL: change https://apidocs.rhombussystems.com to https://api-docs.rhombus.community
  2. Fix the wscat/websocat section (line ~229-248): rename section to “Test with websocat” since that’s what the content actually demonstrates
  3. Supplement the curl connectivity test with a proper TCP check: nc -zv ws.rhombussystems.com 8443
  • Step 7: Fix authentication.mdx
  1. Fix Go snippet missing imports (time, log, fmt)
  2. Standardize placeholder tokens: use YOUR_API_KEY consistently (not your-api-token)
  • Step 8: Validate and commit
mint validate
mint broken-links
git add websocket/
git commit -m "fix: resolve WebSocket content issues — staging URL, heartbeat, tabs, troubleshooting"

Task 10: Fix Remaining Page Issues

Files:
  • Modify: resources.mdx
  • Modify: webhooks.mdx
  • Modify: implementations/qr-code-access-control.mdx
  • Modify: implementations/webhook-listener.mdx
  • Step 1: Fix resources.mdx
Replace hardcoded “850+ endpoints” with “800+”.
  • Step 2: Fix webhooks.mdx
  1. Fix the generic /api-reference link (line ~57) — link to a more specific section or remove the link text and say “See the API Reference for webhook integration endpoints”
  2. Add a sample webhook payload (JSON) showing what a typical event notification looks like — this is the most common thing developers look for
  3. Link each CRUD operation bullet (Create, List, Update, Delete) to corresponding API endpoint descriptions
  • Step 3: Fix qr-code-access-control.mdx
  1. Replace external API URL (line ~73) with internal root-relative link
  2. Remove or condense the “Benefits” section (lines ~419-447) — it reads like marketing
  3. Update the stale date in example response (2024-08-01)
  • Step 4: Fix webhook-listener.mdx
  1. Fix broken bold formatting on line ~684: ****Third Party Integrations ->Webhooks**** → proper markdown
  2. Merge redundant “Next Steps” and “Additional Resources” sections into one
  • Step 5: Validate and commit
mint validate
mint broken-links
git add resources.mdx webhooks.mdx implementations/qr-code-access-control.mdx implementations/webhook-listener.mdx
git commit -m "fix: clean up resources, webhooks, QR code, and webhook listener pages"

Task 11: Final Validation

Run all Mintlify CLI validation commands and content quality checks to confirm everything is clean.
  • Step 1: Run mint validate
mint validate
Expected: success build validation passed — zero warnings, zero errors.
  • Step 2: Run mint broken-links
mint broken-links
Expected: success no broken links found
  • Step 3: Run mint a11y
mint a11y
Expected: All MDX files pass, all images have alt text.
  • Step 4: Run content quality check
python3 scripts/check-content-quality.py
Expected: No quality issues found.
  • Step 5: Verify page count and structure
find . -name "*.mdx" -not -path "./api-reference/*" | wc -l
wc -l docs.json
Expected: 25 MDX pages (or 26 if api-reference/overview.mdx is counted), docs.json under 260 lines.
  • Step 6: Start dev server for manual spot check
mint dev
Verify a sampling of pages render correctly in the browser.