Skip to main content

CLAUDE.md — TestDino Documentation

Project Overview

TestDino documentation site built with Mintlify. Pure MDX content — no build step, no package.json, no Node.js dependencies. Deployed automatically via Mintlify GitHub App on push to main.
  • Framework: Mintlify (npm i -g mintmint dev for local dev at localhost:3000)
  • Config: docs.json (navigation, theme, SEO, analytics)
  • Styling: custom.css (theme overrides, callout styles, table styling)
  • Content: .mdx files organized by section
  • Assets: Images hosted on Azure Blob Storage (testdinostr.blob.core.windows.net/docs/)
  • Analytics: Amplitude

Directory Structure

docs/
├── cli/                    # CLI integration (Node.js, Python)
├── guides/                 # How-to guides (CI, flaky tests, debugging)
│   ├── ci-optimization/
│   ├── debug-failures/
│   └── flaky-tests/
├── platform/               # Platform feature reference
│   ├── analytics/
│   ├── ai-insights/
│   ├── dashboard/
│   ├── organizations/
│   ├── pull-requests/
│   ├── test-cases/
│   └── test-runs/
├── test-management/        # Test management features
├── integrations/           # Third-party integrations (CI/CD, Jira, Slack)
├── mcp/                    # Model Context Protocol docs
├── images/                 # Local icon assets (SVG)
├── logo/                   # Brand logos (light.svg, dark.svg, og-image.svg)
├── scripts/                # Shell utility scripts
├── docs.json               # PRIMARY CONFIG — navigation, theme, SEO
├── custom.css              # Theme overrides
├── index.mdx               # Homepage
├── getting-started.mdx     # Quick start
├── faqs.mdx                # FAQ page
├── llms.txt                # LLM-friendly content export
└── robots.txt              # Crawler rules

Key URLs

File Conventions

  • Naming: kebab-case for all files and directories (generate-api-keys.mdx, debug-failures/)
  • Format: .mdx (Markdown + JSX components)
  • Navigation: Defined in docs.jsonnavigation.groups (not filesystem-driven)
  • Pages reference: Without .mdx extension in docs.json (e.g., "cli/nodejs" not "cli/nodejs.mdx")

Frontmatter (Required)

Every .mdx file must include:
---
title: "Short, Descriptive Title"
sidebarTitle: "Sidebar Label"          # Optional, shorter version
description: "Action-oriented, under 160 characters."
icon: "relevant-icon"
keywords: ['keyword1', 'keyword2', 'keyword3', 'keyword4', 'keyword5']
difficulty: beginner                    # beginner | intermediate | advanced
og:image: "logo/og-image.svg"
---
  • description: Under 160 characters, action-oriented
  • keywords: 5-7 keywords, mix primary terms with long-tail variations
  • og:image: Always "logo/og-image.svg"

Writing Style

Reference: WRITING_GUIDELINES.md

Tone

Calm, neutral, confident. Developer-first. No marketing, hype, or buzzwords.

Rules

RuleDetail
TensePresent tense; imperative for instructions
VoiceActive, direct. No hedging
Sentences10-15 words average
Paragraphs1-4 sentences max
Pronouns”you” (implicit/explicit); never “we”
HeadingsShort, descriptive, action-oriented

Banned

  • Filler phrases: “simply”, “just”, “easily”, “actually”
  • Filler adjectives: “powerful”, “robust”, “seamless”
  • Indirect phrasing: “helps you”, “lets you”, “allows you to” — use direct verbs
  • Vague words: “might”, “could”, “should” — make direct statements
  • Em dashes — rephrase instead
  • Exclamation marks (except in code/commands)
  • Emojis in prose (rare exceptions in tables only)

Quality Bar

Documentation should read like Playwright docs, GitHub docs, Stripe docs, Vercel docs.

Content Structure Patterns

Page Structure

  1. First sentence states what the feature does
  2. Quick Reference table at top (for long pages)
  3. Body sections with H2/H3 headings
  4. Related cards at bottom (2-4 cards via <CardGroup>)

Document Types

  • Tutorial (Getting Started): Sequential steps, <Steps> component, screenshots, assumes minimal knowledge
  • Guide (Flaky Tests, CI Optimization): Problem-solution, multiple approaches via <Tabs>, best practices
  • Reference (Platform features): Feature descriptions, settings tables, concise, non-sequential

Mintlify Components

Steps — Sequential procedures

<Steps>
  <Step title="Step Name">
    Content here
  </Step>
</Steps>

Tabs — Platform/language variations

<Tabs>
  <Tab title="Node.js">Content</Tab>
  <Tab title="Python">Content</Tab>
</Tabs>
<CardGroup cols={2}>
  <Card title="Title" icon="icon-name" href="/path">
    Brief description
  </Card>
</CardGroup>

Callouts — Strategic use only (1-3 per page)

<Note>Helpful information</Note>
<Warning>Important caution</Warning>
<Tip>Pro tip or best practice</Tip>
<Info>Contextual information</Info>

Accordion — Collapsible deep dives

<AccordionGroup>
  <Accordion title="Section title">
    Content here
  </Accordion>
</AccordionGroup>

Images and Videos

<img src="https://testdinostr.blob.core.windows.net/docs/..." alt="Descriptive alt text" />
<video controls loop preload="metadata" src="..." alt="Description" />
  • All images hosted on Azure Blob Storage
  • Always include descriptive alt text
  • Videos always use controls, loop, preload="metadata"

Code Blocks

  • Include language identifier: ```javascript, ```bash, ```yaml
  • Add filename when relevant: ```javascript playwright.config.js
  • Keep examples minimal and copy-paste ready
  • Use <Tabs> for multi-language examples
  • Secrets shown as "your-token" or ${{ secrets.NAME }}

Cross-Linking

ContextLink to
Mentioning a featurePlatform documentation page
CLI flags/cli/nodejs or /cli/python
Setup stepsRelated guide
Quick reference itemsDetailed section or page
PrerequisitesSetup guide
  • Use absolute paths from root: [Dashboard](/platform/dashboard/overview)
  • Descriptive link text (not “click here”)
  • Related <CardGroup> at bottom of every page

Tables

  • Use for comparisons, options, settings, permissions, quick lookups
  • Left-align columns: | :--- | :--- |
  • Keep to 2-4 columns, under 8 rows when possible
  • First column is typically the key/identifier

Checklist Before Publishing

  • First sentence states what the feature does
  • No marketing language or filler
  • Short paragraphs and sentences
  • Tables for options/comparisons
  • Images with alt text
  • Quick reference at top (if long page)
  • Related cards at bottom
  • Cross-links to relevant pages
  • Keywords in frontmatter (5-7)
  • Description under 160 characters
  • No em dashes, exclamation marks, or emojis in prose
  • Page added to docs.json navigation

Configuration Reference

  • Navigation: docs.jsonnavigation.groups — add new pages here
  • Theme colors: docs.jsoncolors (primary: #0284c7, light: #38bdf8, dark: #075985)
  • Fonts: Geist (body), Plus Jakarta Sans (headings)
  • Custom styles: custom.css — callouts, tables, scrollbars, code blocks
  • SEO metatags: docs.jsonseo.metatags
  • Analytics: Amplitude (configured in docs.jsonintegrations)

Common Tasks

Add a new page

  1. Create section/page-name.mdx with required frontmatter
  2. Add path (without .mdx) to docs.jsonnavigation.groups
  3. Add related cards linking to/from the new page

Add a new section

  1. Create directory with overview.mdx
  2. Add group entry in docs.json with icon
  3. Use expanded: false for collapsible sidebar groups

Run locally

mint dev