Skip to content

Latest commit

 

History

History
177 lines (121 loc) · 2.53 KB

File metadata and controls

177 lines (121 loc) · 2.53 KB

Contributing Guide

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

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

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.