Back to skills
SkillHub ClubShip Full StackFull Stack

moai-cc-configuration

Enterprise configuration management with Zod/Pydantic validation

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
0
Hot score
74
Updated
March 20, 2026
Overall rating
C0.5
Composite score
0.5
Best-practice grade
B84.0

Install command

npx @skill-hub/cli install jg-chalk-io-nora-livekit-moai-cc-configuration
configurationvalidationsecrets-managementtypescriptpython

Repository

jg-chalk-io/Nora-LiveKit

Skill path: .claude/skills/moai-cc-configuration

Enterprise configuration management with Zod/Pydantic validation

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: jg-chalk-io.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install moai-cc-configuration into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/jg-chalk-io/Nora-LiveKit before adding moai-cc-configuration to shared team environments
  • Use moai-cc-configuration for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: moai-cc-configuration
version: 4.0.0
updated: 2025-11-20
status: stable
description: Enterprise configuration management with Zod/Pydantic validation
allowed-tools: [Read, Bash, WebSearch, WebFetch]
---

# Configuration Management Expert

**Scalable Application Configuration & Secrets**

> **Focus**: Environment Variables, Validation (Zod/Pydantic), Secrets  
> **Stack**: TypeScript (Zod), Python (Pydantic), Docker, Kubernetes

---

## Overview

Patterns for managing application settings across environments (Dev, Staging, Prod) securely and reliably.

### Core Principles

1.  **12-Factor App**: Store config in the environment.
2.  **Strict Validation**: Fail fast if config is invalid at startup.
3.  **Secret Separation**: Never commit secrets; use Vault/KMS/Secrets Manager.
4.  **Type Safety**: Treat configuration as typed objects, not raw strings.

---

## Implementation Patterns

### 1. TypeScript Configuration (Zod)

Type-safe configuration with runtime validation.

```typescript
import { z } from "zod";
import dotenv from "dotenv";

dotenv.config();

const configSchema = z.object({
  env: z.enum(["development", "production", "test"]),
  port: z.coerce.number().default(3000),
  db: z.object({
    host: z.string(),
    port: z.coerce.number().default(5432),
    user: z.string(),
    password: z.string(), // Treat as secret
    ssl: z.coerce.boolean().default(false),
  }),
  redis: z.object({
    url: z.string().url(),
  }),
  features: z.object({
    newDashboard: z.coerce.boolean().default(false),
  }),
});

// Validate process.env
const parsed = configSchema.safeParse({
  env: process.env.NODE_ENV,
  port: process.env.PORT,
  db: {
    host: process.env.DB_HOST,
    port: process.env.DB_PORT,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD,
    ssl: process.env.DB_SSL,
  },
  redis: {
    url: process.env.REDIS_URL,
  },
  features: {
    newDashboard: process.env.FEATURE_NEW_DASHBOARD,
  },
});

if (!parsed.success) {
  console.error("❌ Invalid configuration:", parsed.error.format());
  process.exit(1);
}

export const config = parsed.data;
```

### 2. Python Configuration (Pydantic)

Robust settings management using Pydantic BaseSettings.

```python
from pydantic_settings import BaseSettings
from pydantic import PostgresDsn, RedisDsn, Field

class Settings(BaseSettings):
    environment: str = Field("development", alias="NODE_ENV")
    database_url: PostgresDsn
    redis_url: RedisDsn
    api_key: str = Field(..., min_length=32)
    debug: bool = False

    class Config:
        env_file = ".env"
        case_sensitive = False

# Usage
try:
    settings = Settings()
    print(f"Running in {settings.environment} mode")
except Exception as e:
    print(f"❌ Configuration error: {e}")
    exit(1)
```

### 3. Multi-Environment Docker Compose

Managing overrides for different environments.

**docker-compose.yml (Base)**

```yaml
services:
  app:
    image: myapp
    environment:
      - NODE_ENV=${NODE_ENV:-production}
      - DB_HOST=db
    depends_on:
      - db
```

**docker-compose.dev.yml (Override)**

```yaml
services:
  app:
    build: .
    volumes:
      - .:/app
    environment:
      - DEBUG=true
```

**Command**: `docker-compose -f docker-compose.yml -f docker-compose.dev.yml up`

---

## Secret Management Best Practices

1.  **Development**: Use `.env` files (git-ignored) or local secret managers.
2.  **Production**: Inject secrets as environment variables via platform (AWS Secrets Manager, K8s Secrets, Vault).
3.  **Rotation**: Design apps to handle secret rotation (e.g., reconnect on DB auth failure).
4.  **Logging**: **NEVER** log configuration objects without redaction.

---

## Validation Checklist

- [ ] **Schema**: Is every config variable defined in a schema (Zod/Pydantic)?
- [ ] **Defaults**: Are sensible defaults provided for non-critical values?
- [ ] **Secrets**: Are secrets explicitly marked and handled securely?
- [ ] **Fail-Fast**: Does the app crash immediately on invalid config?
- [ ] **Types**: Is the configuration fully typed in the codebase?

---

## Related Skills

- `moai-devops-docker`: Container configuration
- `moai-devops-k8s`: Kubernetes ConfigMaps & Secrets
- `moai-security-encryption`: Encrypting sensitive config

---

**Last Updated**: 2025-11-20
moai-cc-configuration | SkillHub