Shared project guidelines for all AI assistants
Other instruction resources:
- .github/copilot-instructions.md - GitHub Copilot (CLI tools, workflows, repo structure)
- CLAUDE.md - Claude with MCP (pointer file)
- .claude/ - Claude MCP configuration (commands, agents, skills)
- .github/instructions/ - File pattern-specific instructions
| Task | Command | Notes |
|---|---|---|
| Install | CYPRESS_INSTALL_BINARY=0 yarn install |
~4s |
| Build | npx hugo --quiet |
~75s — NEVER CANCEL |
| Dev server | npx hugo server |
~92s, port 1313 |
| Test code blocks | yarn test:codeblocks:all |
15-45m — NEVER CANCEL |
| Lint | yarn lint |
~1m |
docs-v2/
├── content/ # Documentation content
│ ├── influxdb3/ # InfluxDB 3 (core, enterprise, cloud-*)
│ ├── influxdb/ # InfluxDB v2 and v1
│ ├── enterprise_influxdb/ # InfluxDB Enterprise v1
│ ├── telegraf/ # Telegraf docs
│ ├── shared/ # Shared content across products
│ └── example.md # Shortcode testing playground
├── layouts/ # Hugo templates and shortcodes
├── assets/ # JS, CSS, TypeScript
├── api-docs/ # InfluxDB OpenAPI specifications, API reference documentation generation scripts
├── data/ # YAML/JSON data files
├── public/ # Build output (gitignored, ~529MB)
└── .github/
└── copilot-instructions.md # Primary AI instructions
Content Paths: See copilot-instructions.md
A hosted MCP server provides semantic search over all InfluxDB documentation. Use it to verify technical accuracy, check API syntax, and find related docs.
See the InfluxDB documentation MCP server guide for setup instructions.
Frontmatter (page metadata):
title: Page Title # Required - becomes h1
description: Brief desc # Required - for SEO
menu:
influxdb_2_0:
name: Nav Label # Optional - nav display name
parent: Parent Node # Optional - for nesting
weight: 1 # Required - sort orderShared Content (avoid duplication):
source: /shared/path/to/content.mdShared content files (/shared/path/to/content.md):
- Don't store frontmatter
- Can use
{{% show-in %}},{{% hide-in %}}, and theversionkeyword (/influxdb3/version/content.md)
Common Shortcodes:
- Callouts:
> [!Note],> [!Warning],> [!Important],> [!Tip] - Tabs:
{{< tabs-wrapper >}}+{{% tabs %}}+{{% tab-content %}} - Required:
{{< req >}}or{{< req type="key" >}} - Code placeholders:
{ placeholders="<PLACEHOLDER>" }
📖 Complete Reference: DOCS-SHORTCODES.md | DOCS-FRONTMATTER.md
Always test before committing:
# Verify server renders (check 200 status)
curl -s -o /dev/null -w "%{http_code}" http://localhost:1313/influxdb3/core/
# Test specific content
yarn test:links content/influxdb3/core/**/*.md
# Run style linting
.ci/vale/vale.sh content/**/*.md📖 Complete Reference: DOCS-TESTING.md
This repository uses git worktrees. When running in a worktree, the working
directory IS the repo root — use it for all file paths. Never hardcode or resolve
paths to the main clone (/Users/*/docs-v2/ without .claude/worktrees/).
Scripts that need PROJECT_ROOT derive it from SCRIPT_DIR (see
test/scripts/init-influxdb3.sh). Agents should use their current working
directory, not the main clone path.
When searching for InfluxDB 3 content, search these paths in parallel (not sequentially):
content/shared/influxdb3-*/— actual content (most content lives here)content/influxdb3/core/— Core frontmatter stubs withsource:referencescontent/influxdb3/enterprise/— Enterprise frontmatter stubs
Use Grep and Glob for all local content searches. Run independent searches in parallel — one call per directory — rather than one at a time.
- NEVER cancel Hugo builds (~75s) or test runs (15-45m) — the site has 5,359+ pages
- Set timeouts: Hugo 180s+, tests 30m+
- Use
pythonnotpyfor code block language identifiers (pytest won't collectpyblocks) - Shared content files (
content/shared/) have no frontmatter — the consuming page provides it viasource:reference. For InfluxDB 3, the shared directories (content/shared/influxdb3-*/) contain the actual prose; product directories contain thin stubs - Product names and versions come from
data/products.yml(single source of truth) - Commit format:
type(scope): description— see DOCS-CONTRIBUTING.md - Network-restricted environments: Cypress (
CYPRESS_INSTALL_BINARY=0), Docker builds, and Alpine packages may fail
Follows Google Developer Documentation Style Guide with these project-specific additions:
- Semantic line feeds — one sentence per line (better diffs)
- No h1 in content —
titlefrontmatter auto-generates h1 - Active voice, present tense, second person
- Long options in CLI examples (
--outputnot-o) - Code blocks within 80 characters
Required frontmatter: title, description, menu, weight
— see DOCS-FRONTMATTER.md
Shared content: source: /shared/path/to/content.md
— shared files use {{% show-in %}} / {{% hide-in %}} for product-specific content
Shortcodes: Callouts use > [!Note] / > [!Warning] syntax
— see DOCS-SHORTCODES.md and content/example.md
Canonical paths from data/products.yml:
| Product | Content Path |
|---|---|
| InfluxDB 3 Core | content/influxdb3/core/ |
| InfluxDB 3 Enterprise | content/influxdb3/enterprise/ |
| InfluxDB 3 Explorer | content/influxdb3/explorer/ |
| InfluxDB Cloud Serverless | content/influxdb3/cloud-serverless/ |
| InfluxDB Cloud Dedicated | content/influxdb3/cloud-dedicated/ |
| InfluxDB Clustered | content/influxdb3/clustered/ |
| InfluxDB OSS v2 | content/influxdb/v2/ |
| InfluxDB OSS v1 | content/influxdb/v1/ |
| InfluxDB Cloud (TSM) | content/influxdb/cloud/ |
| InfluxDB Enterprise v1 | content/enterprise_influxdb/ |
| Telegraf | content/telegraf/ |
| Chronograf | content/chronograf/ |
| Kapacitor | content/kapacitor/ |
| Flux | content/flux/ |
| Shared content | content/shared/ |
Automated PR review for documentation changes. See .github/LABEL_GUIDE.md for the label taxonomy.
| Resource | Path |
|---|---|
| Label guide | .github/LABEL_GUIDE.md |
| Triage agent | .claude/agents/doc-triage-agent.md |
| Content review instructions | .github/instructions/content-review.instructions.md |
| Review agent (local) | .claude/agents/doc-review-agent.md |
| Auto-label workflow | .github/workflows/auto-label.yml |
| Doc review workflow | .github/workflows/doc-review.yml |
| Document | Purpose |
|---|---|
| DOCS-CONTRIBUTING.md | Style guidelines, commit format, contribution workflow |
| DOCS-TESTING.md | Code block testing, link validation, Vale linting |
| DOCS-SHORTCODES.md | Complete shortcode reference |
| DOCS-FRONTMATTER.md | Complete frontmatter field reference |
| api-docs/README.md | API documentation workflow |
| content/example.md | Live shortcode examples |
| .github/copilot-instructions.md | CLI tools, repo structure, workflows |
| .github/LABEL_GUIDE.md | Label taxonomy and review pipeline |