<p align="center">
  <a href="https://github.com/xutyxd/ts-openapi-contract-first-boilerplate">
    <picture>
      <source srcset="../ts-contract-first-logo.png" width="150">
      <img alt="TS Contract First logo" src="./ts-contract-first-logo.png" width="150">
    </picture>
  </a>
</p>

<h1 align="center">
  Client to interact with the TS Server concract first API
</h1>

<p align="left">
    <img src="https://img.shields.io/npm/dw/ts-openapi-contract-first-boilerplate"/>
    <img alt="NPM Unpacked Size" src="https://img.shields.io/npm/unpacked-size/ts-openapi-contract-first-boilerplate">
    <img alt="npm bundle size" src="https://img.shields.io/bundlephobia/min/ts-openapi-contract-first-boilerplate">
    <img alt="NPM Version" src="https://img.shields.io/npm/v/ts-openapi-contract-first-boilerplate">
</p>

# Contract-First Boilerplate for TypeScript – Streamline Your API Development

A boilerplate for building contract-first APIs in TypeScript with OpenAPI. Includes OpenAPI definition, compliant server setup, and npm package generation for seamless API development.

## 📦 Packages

### 📦 CommonJS

```js
const { ContractFirstAPIClient } = require('ts-openapi-contract-first-boilerplate');
```

### 📦 ESM

```js
import { ContractFirstAPIClient } from 'ts-openapi-contract-first-boilerplate';
```

### 📦 TypeScript

```ts
import { ContractFirstAPIClient } from 'ts-openapi-contract-first-boilerplate';
```

## 📝 License

This project is licensed under the `GNU AFFERO GENERAL PUBLIC LICENSE` - see the [LICENSE](LICENSE) file for details