Multi-language SDK monorepo for TurboDocx API (TurboSign digital signatures + TurboPartner portal management).
packages/
├── js-sdk/ # TypeScript/JavaScript (@turbodocx/sdk)
├── py-sdk/ # Python (turbodocx-sdk)
├── go-sdk/ # Go (github.com/TurboDocx/SDK/packages/go-sdk)
├── php-sdk/ # PHP (turbodocx/sdk)
├── java-sdk/ # Java (com.turbodocx:sdk)
└── ruby-sdk/ # Ruby (turbodocx-sdk)
.github/workflows/ # Per-SDK CI + publish workflows
| SDK | Install | Build | Test |
|---|---|---|---|
| js-sdk | npm ci |
npm run build |
npm test |
| py-sdk | pip install -e ".[dev]" |
— | pytest -v |
| go-sdk | go mod tidy |
— | go test -v ./... |
| php-sdk | composer install |
— | composer test |
| java-sdk | — | mvn compile |
mvn test -B |
| ruby-sdk | bundle install |
— | bundle exec rspec |
Root-level shortcuts (JS only): npm run build:js, npm run test:js
feat|fix|docs|test|refactor: description
[js-sdk] Add batch signing # PR title format
- All SDKs must maintain feature parity — see
.claude/rules/cross-sdk-parity.md - Five modules per SDK: TurboSign (signatures), TurboPartner (partner portal), TurboWebhooks (org signature webhook), Deliverable (document generation), TurboQuote (CPQ)
- Follow each language's idiomatic naming (camelCase JS, snake_case Py, PascalCase Go)
- Shared error hierarchy:
TurboDocxError > Auth | Validation | NotFound | RateLimit | Network - Config pattern: explicit config → env var fallback → error
See @docs/ARCHITECTURE.md for HTTP client design, file input abstraction, error handling, and CI/CD details.
.claude/rules/cross-sdk-parity.md— feature parity requirements.claude/rules/js-sdk.md— JS/TS-specific conventions.claude/rules/testing.md— TDD workflow and test patterns
This is a public repo. Every non-standard change is recorded as a Change Request issue
(.github/ISSUE_TEMPLATE/change-request.yml); the PR closes it with Closes #<issue>. Bugs use
the Bug Report form. Standard changes (dependency bumps, docs typos) skip the issue.
Never reference internal repos or PRs (e.g. backend/frontend) in this public repo — it leaks unreleased internal context.