Skip to main content

CLAUDE.md

Working notes for anyone (human or AI) editing the brew.new docs repo.

What this repo is

Mintlify docs site for brew.new. Source of truth for navigation, redirects, SEO, tabs, and appearance is docs.json at the repo root (schema: mintlify.com/docs.json). Only .mdx files listed in docs.json.navigation get published. snippets/ are reusable components, not standalone pages. The OpenAPI spec at api-reference/openapi-public-v1.yaml generates the “Public API v1” group at build time. Content lives in top-level topic folders: analytics/, api-reference/, audience/, brand/, changelog/, create-emails/, get-started/, integrations/, legal/, recipes/, sdks/, settings/. Assets in images/, logo/, favicon.svg.

Terminology — most important rule

The brew.new platform renamed the product type “Campaigns” → “Emails”. Current phrasing is “Emails and Automations”, not “Campaigns and Automations.” The rename is only partially reflected in the docs today:
  • The nav group in docs.json is "Emails", but every page under it still lives at /create-emails/campaigns* and uses “Campaigns” in titles and body copy.
  • API surface identifiers (kind: campaign, /v1/analytics/campaigns, MCP tool get_campaign_analytics, OpenAPI operationId getCampaignAnalytics, schema CampaignAnalyticsResponse, etc.) may or may not be renamed on the backend. Do NOT change these without confirming with the API team.
  • Legal boilerplate and third-party ESP integration docs (Braze, Klaviyo, Mailchimp, etc.) use “campaign” as generic English — leave those alone.
When editing, flag stale “Campaigns” language you notice nearby even if fixing it isn’t the direct task. Do not fix without asking. The categorized mismatch list from the 2026-07-05 audit is in DOCS_AUDIT_REFERENCE.md at the repo root.

Editing guardrails

  • Do not edit content without an explicit ask. If you spot a fix while doing something else, mention it in the response — don’t apply it.
  • The changelog (changelog/posts/* and changelog/api.mdx) has the most drift and reflects multiple eras of the product. Extra care there.
  • Redirects in docs.json are load-bearing — do not remove one without checking what still links to the source path.
  • Prefer linking to canonical paths, not redirect sources. Example: link /create-emails/campaigns directly, not /create-emails/emails (which resolves via redirect).

Publication status

Everything in docs.json.navigation publishes to production. Only snippets/need-help.mdx is intentionally unpublished (reusable snippet). CLAUDE.md and DOCS_AUDIT_REFERENCE.md are .md (not .mdx) and are not in nav — Mintlify does not process them.

Open questions

Answer these to unblock cleanup work:
  1. Was the API kind: campaign enum renamed on the backend? Determines whether the API-surface “campaign” references should be updated.
  2. Does the product UI still show a tab called “Campaigns” inside the “Emails” sidebar item? Determines whether product-surface copy is stale or accurate.
  3. Is the changelog surfaced to end users, or is it hidden despite being wired into docs.json?