Contributing Guide
February 24, 2026 · View on GitHub
Table of Contents
Overview
This repository contains the CDP SDK implementations in multiple programming languages. Each language implementation is contained in its own directory and has its own build tools, dependencies, and development workflow.
Repository Structure
cdp-sdk/
├── go/ # Go implementation
├── python/ # Python implementation
├── rust/ # Rust implementation
└── typescript/ # TypeScript implementation
Language-Specific Guides
Go Development
Prerequisites
- Go 1.23 or higher
- Make
Setup
cd go
make build_deps
Development Commands
# Format code
make lint-fix
# Run linter
make lint
# Run tests
make test
Python Development
Prerequisites
- Development Setup
- Python 3.10 or higher
- pip
Setup
cd python
make setup
make install
Development Commands
# Format code
make format
# Run linter
make lint
# Fix lint errors
make lint-fix
# Run tests
make test
# Generate documentation
make docs
# Generate HTML of documentation
make local-docs
Rust Development
Prerequisites
- Rust 1.93.1 or higher
- Cargo
- Make
Setup
cd rust
cargo build
Development Commands
# Check code and dependencies
make check
# Format code
make format
# Run linter
make lint
# Fix lint errors
make lint-fix
# Run tests
make test
# Run end-to-end tests
make test-e2e
# Build documentation
make docs
# Build client
make build
# Generate OpenAPI client and build client
make generate
TypeScript Development
Prerequisites
- Development Setup
- Node.js v22.x or higher
- pnpm 10.x or higher
Setup
cd typescript
pnpm install
Development Commands
# Format code
pnpm format
# Run linter
pnpm lint
# Fix lint errors
pnpm lint:fix
# Run tests
pnpm test
# Build documentation
pnpm docs
# Generate OpenAPI client
pnpm orval
Each language implementation follows its own idiomatic conventions and best practices. Please refer to the specific language directories for more detailed documentation and requirements.