Official Clover API clients live in this polyglot monorepo. The current release scope covers the TypeScript SDK, Go SDK, and Go-based Clover CLI. Other language directories remain integration-ready previews until their package-specific release gates are complete.
| Platform | Location | Distribution |
|---|---|---|
| TypeScript | packages/typescript |
npm package @sendclover/sdk |
| Go | packages/go |
Go module github.com/openmirai/clover-sdks/packages/go |
| CLI | apps/cli |
GoReleaser binaries and Go module github.com/openmirai/clover-sdks/apps/cli |
Python, Java/Kotlin, Rust, Swift, and Dart/Flutter packages are not included in
the current publication claim. Documentation-only community targets for .NET,
Elixir, PHP, and Ruby are in docs/community.
The TypeScript SDK, Go SDK, and CLI target Clover V2:
- Base path
/api/v1 - Success envelope
CommonResponse(SDKs unwrapdata) - Errors as
ErrorResponse(notapplication/problem+json)
See docs/CONTRACT.md for the full contract.
Use the native toolchain inside the package you are changing. The root
Makefile provides the same gates used by CI:
python3 -m pip install pre-commit==4.6.2
make hooks-installThe installer enables both pre-commit checks and Conventional Commit message
validation. It preserves a configured global core.hooksPath; the global hook
may delegate to the generated repository hook without resetting Git settings.
make checkmake check validates the repository layout, Go SDK, and CLI. TypeScript is
verified independently with npm run format:check, npm run lint,
npm run typecheck, npm test, and npm pack --dry-run in its package.
Current releases use independent tags:
typescript/vX.Y.Zpackages/go/vX.Y.Zapps/cli/vX.Y.Z
Deferred package release workflows and metadata are retained for later completion, but are outside the current release approval.
The Go SDK exposes the Phase 1 resource contract. Mutation calls require a
bounded Idempotency-Key; the SDK preserves request metadata, bounds response
bodies, and retries only safe transient failures. Sync OpenAPI from the Clover
backend swagger into openapi/.