This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
C# SDK for the Recraft AI image generation platform, auto-generated from the Recraft OpenAPI specification using AutoSDK. Published as a NuGet package under the tryAGI organization.
# Build the solution
dotnet build Recraft.slnx
# Build for release (also produces NuGet package)
dotnet build Recraft.slnx -c Release
# Run integration tests (requires RECRAFT_API_KEY env var)
dotnet test src/tests/IntegrationTests/Recraft.IntegrationTests.csproj
# Regenerate SDK from OpenAPI spec
cd src/libs/Recraft && ./generate.shThe SDK code is entirely auto-generated -- do not manually edit files in src/libs/Recraft/Generated/.
src/libs/Recraft/openapi.yaml-- the Recraft OpenAPI spec (fetched fromhttps://external.api.recraft.ai/doc/spec/api.yaml)src/libs/Recraft/generate.sh-- orchestrates: download spec, fix spec, run AutoSDK CLI, output toGenerated/- CI auto-updates the spec and creates PRs if changes are detected
| Project | Purpose |
|---|---|
src/libs/Recraft/ |
Main SDK library (RecraftClient) |
src/tests/IntegrationTests/ |
Integration tests against real Recraft 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# 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