# Phoenix Client Development

> 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.

- Skill: `arize-ai-phoenix/phoenix-client-development` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add arize-ai-phoenix/phoenix-client-development`
- Raw SKILL.md: https://api.skillmd.com/api/skills/arize-ai-phoenix/phoenix-client-development/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: Apache-2.0
- Author: arize-ai (https://skillmd.com/u/arize-ai-phoenix)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/arize-ai-phoenix/phoenix-client-development

---


# 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`.

