# @plyaz/config

Shared configuration constants and environment flags used throughout the Plyaz ecosystem.  This package centralizes chain settings, feature toggles and other runtime values so that all apps share a single source of truth.

## 📦 Installation

```bash
pnpm add @plyaz/config
```
## 🚀 What's Included

### Core Configurations
- **Environment detection** - Server/client, dev/prod/test flags
- **Blockchain support** - Multi-chain configurations with testnets
- **Provider integrations** - Alchemy, OAuth providers, Web3 auth
- **API configurations** - Endpoints, caching, webhooks, rate limiting
- **Security policies** - Blocked regions, production safety flags
```

## Development

### Setup

Install dependencies and run the basic checks:

```bash
pnpm install
pnpm lint
pnpm test
```

### Build

Compile the library to the `dist` folder:

```bash
pnpm build
```

For a watch mode during development:

```bash
pnpm dev
```

### Linting & Formatting

Run the ESLint rules and apply automatic fixes:

```bash
pnpm lint
pnpm lint:fix
```

Check or apply Prettier formatting:

```bash
pnpm format:check
pnpm format
```

### Tests

Execute the test suite once:

```bash
pnpm test
```

Watch tests as you work:

```bash
pnpm test:watch
```

Generate coverage information:

```bash
pnpm test:coverage
```

## Relationship to Plyaz-Official/types

Type definitions for configuration values live in [Plyaz-Official/types](https://github.com/Plyaz-Official/types). Installing `@plyaz/types` alongside this package provides strongly typed access to each exported constant.

## About this repository

This package was scaffolded from the internal `package-template` and relies on [`@plyaz/devtools`](https://www.npmjs.com/package/@plyaz/devtools) for shared TypeScript, ESLint, Prettier and Vitest configuration.
