This file provides guidance to WARP (warp.dev) when working with code in this repository.
This is the Tiger Data documentation repository, containing the source content for https://www.tigerdata.com/docs/. Tiger Data (formerly Timescale) is a modern Postgres data platform for time series, events, analytics, and vector search. The documentation is written in Markdown with custom components and is built separately in a private Gatsby-based repository.
Run link checker locally:
npx markdown-link-check <file.md> --config mlc_config.jsonThe repository uses Vale for prose linting:
vale --glob='["_partials/**/*", "_troubleshooting/**/*", "about/**/*", "api/**/*", "getting-started/**/*", "mst/**/*", "navigation/**/*", "self-hosted/**/*", "tutorials/**/*", "use-timescale/**/*", "ai/**/*"]'Vale configuration is in .vale.ini and uses Vale + Google style guides.
Custom markdownlint rules are in .vscode/markdownlint/ and configured via .markdownlint.json and .markdownlint-cli2.jsonc. These enforce documentation-specific patterns like:
- Proper blank lines around
<Highlight>blocks - Correct
<Procedure>formatting - Proper frontmatter structure
Use the template generator script for new two-step aggregate hyperfunction groups:
npm run template:hyperfunctionThis interactive script creates the directory structure and template files in api/_hyperfunctions/.
Helper scripts in .helper-scripts/ for bulk frontmatter editing:
cd .helper-scripts
./extract-excerpts.sh # Extract excerpts to single file
# Edit extracted_excerpts.md
./insert-excerpts.sh # Update original filesNavigation structure is governed by page-index/page-index.js files throughout the repository. The top-level page-index/page-index.js imports and combines all section-level navigation files.
Page index structure:
href: URL segment, must match markdown filename (without extension)title: Page name in left TOCexcerpt: Short description (up to 100 chars) for page cardstype: Optional -directory,placeholder,redirect-to-child-pagechildren: Array of child pagespageComponents: Display style for child pages -['featured-cards']or['content-list']index: Specify alternative file if notindex.md
Major documentation sections:
getting-started/- Getting started guidesuse-timescale/- Product usage documentationapi/- API references and hyperfunctionstutorials/- Step-by-step tutorialsintegrations/- Integration guidesself-hosted/- Self-hosted deployment docsmst/- Timescale MST documentationai/- AI and vector search featuresmigrate/- Migration guidesabout/- Company and product information
Partials (_partials/): Reusable content snippets. Create files starting with underscore. Import into target .mdx pages.
Troubleshooting (_troubleshooting/): Individual troubleshooting entries (not full pages). Each file contains frontmatter with:
title: Entry titlesection: Must betroubleshootingproductsand/ortopics: Where entry appears (at least one required)errors: Optional error display withlanguageandmessagekeywords: Displayed at bottom, link to related pagestags: Affect related page calculations (not displayed)
Troubleshooting pages are programmatically assembled during build. If page doesn't exist, add entry in page-index with type: "placeholder".
API Documentation (api/): Function references include:
- Function name with empty parentheses if takes arguments
- Brief description with warnings
- Usage samples demonstrating argument syntax
- Argument table:
Name,Type,Default,Required,Description - Return table:
Column,Type,Description
Hyperfunctions are organized in api/_hyperfunctions/ with subdirectories for two-step aggregation pattern functions.
Available formatting beyond standard Markdown:
<Procedure>: Step-by-step instructions with bold step summaries<Highlight>: Note/warning/caution blocks (use sparingly)- Tabs: Multi-option content display
- Multi-tab code blocks
- Tags
See _partials/_formatting_examples.md for syntax and examples.
Documentation uses variables for product names and UI elements with syntax $VARIABLE_NAME. Variables don't work in:
- Page frontmatter
- HTML tables and tabs
Internal links: use :currentVersion: instead of latest in URLs, no need for full domain https://www.tigerdata.com/docs.
Follow Google Developer Documentation Style Guide with exceptions:
- Do NOT capitalize first word after a colon
- Use code font (backticks) for UI elements instead of semi-bold
Include at top of pages:
title: Up to 60 characters, variation of page titleexcerpt: Under 200 characters, variation of intro
Summarize paragraph content in first sentence. Include main keywords in meta tags, page title, first header, and intro.
PRs from this repository automatically trigger preview builds (allow 10 minutes). Preview URLs follow pattern: https://docs-dev.timescale.com/docs-<branch-name-with-hyphens>
Build occurs in private timescale/web-documentation repository using Gatsby.
Production deployment triggered by changes to appropriate branch.
Branch from latest for all changes. PRs target latest branch.
- Only commit when explicitly asked by user
- Never include secrets or sensitive information in documentation
- Sign CLA on first PR (automated)
- Large codebases can be excluded from indexing using
.warpindexingignore