{"owner":"traceloop","repo":"openllmetry","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["CLAUDE.md"],"skills":{"CLAUDE.md":"# OpenLLMetry Repository Guide\n\n## Repository Structure\nThis repository contains multiple PyPI-publishable packages organized and orchestrated using Nx workspace management.\n\n### Nx Workspace Commands\n```bash\n# Run tests across all packages\nnx run-many -t test\n\n# Run linting across all packages\nnx run-many -t lint\n\n# Update lock files across all packages\nnx run-many -t lock\n\n# Run specific targets on specific packages\nnx run <package-name>:test\nnx run <package-name>:lint\n\n# Show project graph\nnx graph\n\n# Show what's affected by changes\nnx affected:test\nnx affected:lint\n```\n\n## Package Management\nAll packages use uv as the package manager. Always execute commands through uv:\n```bash\nuv run <command>\n```\n\n## Testing with VCR Cassettes\nTests utilize VCR cassettes for API calls.\n\n### Commands\n```bash\n# Run tests normally (uses existing cassettes)\nuv run pytest tests/\n\n# Re-record all cassettes (requires API keys)\nuv run pytest tests/ --record-mode=all\n\n# Record only new test episodes\nuv run pytest tests/ --record-mode=new_episodes\n\n# Record cassettes once (if they don't exist)\nuv run pytest tests/ --record-mode=once\n\n# Run tests without recording (fails if cassettes missing)\nuv run pytest tests/ --record-mode=none\n\n# Run specific test files\nuv run pytest tests/test_agents.py --record-mode=once\n```\n\n### Guidance\nRe-record cassettes when API interactions change to ensure test accuracy.\nNever commit secrets or PII. Scrub them using VCR filters (e.g., filter_headers, before_record) or your test framework's equivalent.\nStore API keys only in environment variables/secure vaults; never in code or cassettes.\nTypical record modes you may use: once, new_episodes, all, none (choose per test needs).\nCreating new cassettes requires valid API keys (OpenAI, Anthropic, etc.); ask the user to provide them if needed.\n\n## Debugging with Console Span Exporter\nFor debugging OpenTelemetry spans and hierarchy issues, use the console exporter:\n\n```python\nfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter\nfrom traceloop.sdk import Traceloop\n\nTraceloop.init(\n    app_name=\"debug-app\",\n    exporter=ConsoleSpanExporter(),\n    # other config...\n)\n```\n\nThis outputs all spans to console in JSON format, showing trace IDs, span IDs, parent relationships, and attributes for debugging span hierarchy issues.\n\n## Semantic Conventions\nThe semantic convention package follows the OpenTelemetry GenAI specification:\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/\n\n## Instrumentation Packages\nInstrumentation packages should leverage the semantic conventions package. Their purpose is to instrument AI-related libraries and generate spans and tracing data compliant with OpenTelemetry semantic conventions.\n\n## Code Quality\nRuff is used for code linting. Configuration is in each package's pyproject.toml under `[tool.ruff]`."},"files":{"CLAUDE.md":"# OpenLLMetry Repository Guide\n\n## Repository Structure\nThis repository contains multiple PyPI-publishable packages organized and orchestrated using Nx workspace management.\n\n### Nx Workspace Commands\n```bash\n# Run tests across all packages\nnx run-many -t test\n\n# Run linting across all packages\nnx run-many -t lint\n\n# Update lock files across all packages\nnx run-many -t lock\n\n# Run specific targets on specific packages\nnx run <package-name>:test\nnx run <package-name>:lint\n\n# Show project graph\nnx graph\n\n# Show what's affected by changes\nnx affected:test\nnx affected:lint\n```\n\n## Package Management\nAll packages use uv as the package manager. Always execute commands through uv:\n```bash\nuv run <command>\n```\n\n## Testing with VCR Cassettes\nTests utilize VCR cassettes for API calls.\n\n### Commands\n```bash\n# Run tests normally (uses existing cassettes)\nuv run pytest tests/\n\n# Re-record all cassettes (requires API keys)\nuv run pytest tests/ --record-mode=all\n\n# Record only new test episodes\nuv run pytest tests/ --record-mode=new_episodes\n\n# Record cassettes once (if they don't exist)\nuv run pytest tests/ --record-mode=once\n\n# Run tests without recording (fails if cassettes missing)\nuv run pytest tests/ --record-mode=none\n\n# Run specific test files\nuv run pytest tests/test_agents.py --record-mode=once\n```\n\n### Guidance\nRe-record cassettes when API interactions change to ensure test accuracy.\nNever commit secrets or PII. Scrub them using VCR filters (e.g., filter_headers, before_record) or your test framework's equivalent.\nStore API keys only in environment variables/secure vaults; never in code or cassettes.\nTypical record modes you may use: once, new_episodes, all, none (choose per test needs).\nCreating new cassettes requires valid API keys (OpenAI, Anthropic, etc.); ask the user to provide them if needed.\n\n## Debugging with Console Span Exporter\nFor debugging OpenTelemetry spans and hierarchy issues, use the console exporter:\n\n```python\nfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter\nfrom traceloop.sdk import Traceloop\n\nTraceloop.init(\n    app_name=\"debug-app\",\n    exporter=ConsoleSpanExporter(),\n    # other config...\n)\n```\n\nThis outputs all spans to console in JSON format, showing trace IDs, span IDs, parent relationships, and attributes for debugging span hierarchy issues.\n\n## Semantic Conventions\nThe semantic convention package follows the OpenTelemetry GenAI specification:\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/\n\n## Instrumentation Packages\nInstrumentation packages should leverage the semantic conventions package. Their purpose is to instrument AI-related libraries and generate spans and tracing data compliant with OpenTelemetry semantic conventions.\n\n## Code Quality\nRuff is used for code linting. Configuration is in each package's pyproject.toml under `[tool.ruff]`."},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","title":"CLAUDE.md","content":"# OpenLLMetry Repository Guide\n\n## Repository Structure\nThis repository contains multiple PyPI-publishable packages organized and orchestrated using Nx workspace management.\n\n### Nx Workspace Commands\n```bash\n# Run tests across all packages\nnx run-many -t test\n\n# Run linting across all packages\nnx run-many -t lint\n\n# Update lock files across all packages\nnx run-many -t lock\n\n# Run specific targets on specific packages\nnx run <package-name>:test\nnx run <package-name>:lint\n\n# Show project graph\nnx graph\n\n# Show what's affected by changes\nnx affected:test\nnx affected:lint\n```\n\n## Package Management\nAll packages use uv as the package manager. Always execute commands through uv:\n```bash\nuv run <command>\n```\n\n## Testing with VCR Cassettes\nTests utilize VCR cassettes for API calls.\n\n### Commands\n```bash\n# Run tests normally (uses existing cassettes)\nuv run pytest tests/\n\n# Re-record all cassettes (requires API keys)\nuv run pytest tests/ --record-mode=all\n\n# Record only new test episodes\nuv run pytest tests/ --record-mode=new_episodes\n\n# Record cassettes once (if they don't exist)\nuv run pytest tests/ --record-mode=once\n\n# Run tests without recording (fails if cassettes missing)\nuv run pytest tests/ --record-mode=none\n\n# Run specific test files\nuv run pytest tests/test_agents.py --record-mode=once\n```\n\n### Guidance\nRe-record cassettes when API interactions change to ensure test accuracy.\nNever commit secrets or PII. Scrub them using VCR filters (e.g., filter_headers, before_record) or your test framework's equivalent.\nStore API keys only in environment variables/secure vaults; never in code or cassettes.\nTypical record modes you may use: once, new_episodes, all, none (choose per test needs).\nCreating new cassettes requires valid API keys (OpenAI, Anthropic, etc.); ask the user to provide them if needed.\n\n## Debugging with Console Span Exporter\nFor debugging OpenTelemetry spans and hierarchy issues, use the console exporter:\n\n```python\nfrom opentelemetry.sdk.trace.export import ConsoleSpanExporter\nfrom traceloop.sdk import Traceloop\n\nTraceloop.init(\n    app_name=\"debug-app\",\n    exporter=ConsoleSpanExporter(),\n    # other config...\n)\n```\n\nThis outputs all spans to console in JSON format, showing trace IDs, span IDs, parent relationships, and attributes for debugging span hierarchy issues.\n\n## Semantic Conventions\nThe semantic convention package follows the OpenTelemetry GenAI specification:\nhttps://opentelemetry.io/docs/specs/semconv/gen-ai/\n\n## Instrumentation Packages\nInstrumentation packages should leverage the semantic conventions package. Their purpose is to instrument AI-related libraries and generate spans and tracing data compliant with OpenTelemetry semantic conventions.\n\n## Code Quality\nRuff is used for code linting. Configuration is in each package's pyproject.toml under `[tool.ruff]`.","category":"root","tokens":710}]}