This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
C# SDK for the HeyGen AI video generation platform, auto-generated from the HeyGen OpenAPI specification using AutoSDK. Published as a NuGet package under the tryAGI organization.
# Build the solution
dotnet build HeyGen.slnx
# Build for release (also produces NuGet package)
dotnet build HeyGen.slnx -c Release
# Run integration tests (requires HEYGEN_API_KEY env var)
dotnet test src/tests/IntegrationTests/HeyGen.IntegrationTests.csproj
# Regenerate SDK from OpenAPI spec
cd src/libs/HeyGen && ./generate.shThe SDK code is entirely auto-generated — do not manually edit files in src/libs/HeyGen/Generated/.
src/libs/HeyGen/openapi.yaml— the HeyGen OpenAPI spec (fetched from upstream)src/libs/HeyGen/generate.sh— orchestrates: download spec → fix spec → run AutoSDK CLI → output toGenerated/- CI auto-updates the spec every 3 hours and creates PRs if changes are detected
| Project | Purpose |
|---|---|
src/libs/HeyGen/ |
Main SDK library (HeyGenClient) |
src/tests/IntegrationTests/ |
Integration tests against real HeyGen API |
Tests in src/tests/IntegrationTests/Examples are the single source of truth for both test coverage and documentation:
- Each file has a JSDoc header (
order,title,slug) consumed byautosdk docs sync . - Comments prefixed with
////become prose paragraphs in generated docs - CI workflow (
.github/workflows/mkdocs.yml) auto-generatesdocs/examples/and populatesEXAMPLES:START/ENDmarkers in README.md, docs/index.md, and mkdocs.yml - Config:
autosdk.docs.jsonpoints tosrc/tests/IntegrationTests/Examples
- Target:
net10.0(single target) - Language: C# 13 preview with nullable reference types
- Signing: Strong-named assemblies via
src/key.snk - Versioning: Semantic versioning from git tags (
vprefix) via MinVer - Analysis: All .NET analyzers enabled, AOT/trimming compatibility enforced
- Testing: MSTest + AwesomeAssertions
- Uses shared workflows from
HavenDV/workflowsrepo - Dependabot updates NuGet packages weekly (auto-merged)
- Documentation deployed to GitHub Pages via MkDocs Material