Skip to content

emitkithq/sdks

Repository files navigation

EmitKit SDKs

Official SDKs for the EmitKit API - Real-time event tracking and notifications

License: MIT CI Status

📦 Available SDKs

Language Package Version Documentation
TypeScript/JavaScript @emitkit/js npm Docs

🚀 Quick Start

JavaScript/TypeScript

npm install @emitkit/js
# or
pnpm add @emitkit/js
# or
yarn add @emitkit/js
import { EmitKit } from '@emitkit/js';

const client = new EmitKit('emitkit_xxxxxxxxxxxxxxxxxxxxx');

await client.events.create({
  channelName: 'payments',
  title: 'Payment Received',
  metadata: { amount: 99.99 }
});

🏗️ Architecture

This is a monorepo containing multiple SDK packages, all auto-generated from the EmitKit OpenAPI specification.

Structure

@emitkit/jss/
├── packages/
│   ├── js/          # TypeScript/JavaScript SDK
│   └── ...          # Future SDKs
├── scripts/         # Automation scripts
└── openapi/         # Synced OpenAPI spec

Automation

  • Daily Sync: OpenAPI spec is automatically synced from production API
  • Auto-Generation: SDKs are regenerated when the spec changes
  • Auto-Publishing: New versions are published to npm on release tags
  • CI/CD: Tests run on all pull requests

🛠️ Development

Prerequisites

  • Node.js 20+
  • pnpm 9+

Setup

# Clone the repository
git clone https://github.com/emitkit/emitkit-sdks.git
cd @emitkit/jss

# Install dependencies
pnpm install

# Sync OpenAPI spec
pnpm run sync

# Generate all SDKs
pnpm run generate

# Build all packages
pnpm run build

# Run tests
pnpm run test

Development Workflow

# Watch mode for development
pnpm run dev

# Lint code
pnpm run lint

# Clean build artifacts
pnpm run clean

📝 Adding a New SDK

  1. Create a new package directory: packages/<language>/
  2. Add generator configuration
  3. Update scripts/generate.ts to include the new SDK
  4. Add package to SDK_PACKAGES array

🤝 Contributing

Contributions are welcome! Please read our Contributing Guide for details.

Reporting Issues

If you find a bug or have a feature request, please open an issue.

📄 License

MIT License - see LICENSE for details

🔗 Links


Note: These SDKs are automatically generated from the OpenAPI specification. Do not edit generated files directly.

About

Official SDKs for the EmitKit API - Real-time event tracking and notifications

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors