--- name: phoenix-client-development description: "Development guide for the @arizeai/phoenix-client TypeScript SDK — run and resume experiments, manage OpenTelemetry tracer providers with stack-based attach/detach, and write vitest unit and integration tests. Use when adding features to phoenix-client, debugging experiment lifecycle or provider cleanup, modifying dataset/prompt/session/span APIs, or writing tests for the js/packages/phoenix-client/ directory." license: Apache-2.0 metadata: author: oss@arize.com version: "1.0.0" languages: TypeScript internal: true --- # Phoenix Client Development TypeScript SDK for Phoenix AI observability: datasets, experiments, prompts, sessions, spans, traces. Read existing code in the directory you're working in before writing new code. ## Rule Files | Rule file | When to read | | ---------------------- | --------------------------------------------------------- | | `rules/experiments.md` | Experiment execution, task runners, evaluator wiring | | `rules/prompts.md` | Prompt helpers, selector shapes, server version gating | | `rules/tracing.md` | OpenTelemetry tracer providers, span export, global state | | `rules/testing.md` | Unit tests, integration tests, test fixtures | ## Build and Test ```bash cd js/ pnpm --filter phoenix-client test ``` Tests use **vitest**. Test files live in `test/` named `*.test.ts`.