Skip to content
Ahmed Abbas edited this page Apr 19, 2026 · 1 revision

CLAUDE.md — JavaScript SDK Wiki

This directory is the published, public wiki for the JavaScript SDK. It contains two categories of pages.

Shared Docs vs JS-Specific Docs

  • Shared docs (lowercase-hyphenated filenames, e.g. rule-evaluation.md, data-management.md, segments.md, bucketing-algorithm.md, and everything listed under "Core Concepts (Shared)" / "How-To Guides (Shared)" in AI_Index.md) — Do not edit these files here. They are synced automatically from a canonical source in a private backend repo (path within that repo: public/js/tracking/full-stack-docs/, with concepts/ and guides/ subdirs). The same files also appear in the PHP SDK wiki. Any edit made here will be overwritten on the next sync.

  • JS-specific docs (CamelCase filenames, e.g. Quickstart.md, Installation.md, Initialization.md, Configuration.md, ConfigTypes.md, CodeExamples.md, BuildConfiguration.md) — These are JS-only and are edited directly in this wiki.

Decision Rule Before Editing Anything

  1. Check the filename.
    • Lowercase-hyphenated → shared → edit the canonical source in the backend repo (public/js/tracking/full-stack-docs/) instead.
    • CamelCase → JS-specific → edit here.
  2. AI_Index.md and this CLAUDE.md are wiki-specific and edited here.

Writing Rules for Shared Docs (Public Audience)

This wiki is public. The PHP SDK wiki is also public. The backend wiki and the backend repo are private. When editing any shared doc at its canonical source (in the backend repo, under public/js/tracking/full-stack-docs/):

  1. Never reference the private backend wiki or any private repo. No links to backend.wiki/*, no "see the backend wiki for details." If the content is needed, inline it; otherwise omit.
  2. Never reference internal backend filesystem paths (backend/public/..., backend/apiDoc/..., backend/src/..., etc.) — readers don't have that tree. Use package names (@convertcom/js-sdk-data, @convertcom/js-sdk-types, @convertcom/js-sdk-rules) and class/method names. For public specs, link to a known-valid URL (e.g. https://api.convert.com/doc/v2/...).
  3. Never invent URLs. Guessed GitHub wiki URLs (https://github.com/<org>/<repo>/wiki/<page>) are a particularly common failure — org, repo, slug, and casing are all likely wrong. If you don't know the URL is correct, don't write it. Prefer relative links within the shared docs (e.g. [RuleManager](rule-evaluation)); the sync pipeline rewrites them to each wiki's URL.
  4. Prefer package-level references over file paths and line numbers. @convertcom/js-sdk-data -> DataManager.matchRulesByField ages better than packages/data/src/data-manager.ts:366-370.

The canonical source directory has its own CLAUDE.md restating these rules for anyone editing in place.

Clone this wiki locally