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 tomain.
- Framework: Mintlify (
npm i -g mint→mint devfor local dev at localhost:3000) - Config:
docs.json(navigation, theme, SEO, analytics) - Styling:
custom.css(theme overrides, callout styles, table styling) - Content:
.mdxfiles organized by section - Assets: Images hosted on Azure Blob Storage (
testdinostr.blob.core.windows.net/docs/) - Analytics: Amplitude
Directory Structure
Key URLs
| Environment | URL |
|---|---|
| Documentation | https://docs.testdino.com |
| App | https://app.testdino.com |
| Sandbox | https://sandbox.testdino.com |
| Changelog | https://changelog.testdino.com |
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.json→navigation.groups(not filesystem-driven) - Pages reference: Without
.mdxextension indocs.json(e.g.,"cli/nodejs"not"cli/nodejs.mdx")
Frontmatter (Required)
Every.mdx file must include:
description: Under 160 characters, action-orientedkeywords: 5-7 keywords, mix primary terms with long-tail variationsog:image: Always"logo/og-image.svg"
Writing Style
Reference:WRITING_GUIDELINES.md
Tone
Calm, neutral, confident. Developer-first. No marketing, hype, or buzzwords.Rules
| Rule | Detail |
|---|---|
| Tense | Present tense; imperative for instructions |
| Voice | Active, direct. No hedging |
| Sentences | 10-15 words average |
| Paragraphs | 1-4 sentences max |
| Pronouns | ”you” (implicit/explicit); never “we” |
| Headings | Short, 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
- First sentence states what the feature does
- Quick Reference table at top (for long pages)
- Body sections with H2/H3 headings
- 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
Tabs — Platform/language variations
Cards — Related content links
Callouts — Strategic use only (1-3 per page)
Accordion — Collapsible deep dives
Images and Videos
- 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
| Context | Link to |
|---|---|
| Mentioning a feature | Platform documentation page |
| CLI flags | /cli/nodejs or /cli/python |
| Setup steps | Related guide |
| Quick reference items | Detailed section or page |
| Prerequisites | Setup 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.jsonnavigation
Configuration Reference
- Navigation:
docs.json→navigation.groups— add new pages here - Theme colors:
docs.json→colors(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.json→seo.metatags - Analytics: Amplitude (configured in
docs.json→integrations)
Common Tasks
Add a new page
- Create
section/page-name.mdxwith required frontmatter - Add path (without
.mdx) todocs.json→navigation.groups - Add related cards linking to/from the new page
Add a new section
- Create directory with
overview.mdx - Add group entry in
docs.jsonwith icon - Use
expanded: falsefor collapsible sidebar groups