@trailhead/config
v1.0.1
Published
Enhanced Zod-powered configuration management for CLI applications
Maintainers
Readme
@trailhead/config
Type-safe configuration management with validation and documentation generation
Type-safe configuration management with Result-based validation, schema definition with builder patterns, and automatic documentation generation.
Installation
pnpm add @trailhead/configQuick Example
import { defineSchema, createConfigOperations } from '@trailhead/config'
import { z } from 'zod'
// Define schema using Zod
const appConfigSchema = defineSchema(
z.object({
app: z.object({
name: z.string().min(1),
port: z.number().min(1).max(65535).default(3000),
debug: z.boolean().default(false),
}),
})
)
// Load and validate configuration
const configOps = createConfigOperations()
const manager = configOps.create({
name: 'app-config',
sources: [
{ type: 'file', path: './config.json', priority: 1 },
{ type: 'env', priority: 2 },
],
})
const state = await manager.load()
if (state.isOk()) {
console.log('Loaded:', manager.get('app.name'))
}Key Features
- Result-based validation - Explicit error handling for config operations
- Schema definition - Zod integration with field builder patterns
- Multiple sources - Load from files, environment variables, and CLI arguments
- Documentation generation - Auto-generate docs from schemas
- Type-safe - Full TypeScript support with type inference
Documentation
- API Documentation - Complete API reference
- Getting Started - Configuration basics
- Define Schemas - Schema creation patterns
- Generate Docs - Documentation generation
License
MIT © Esteban URL
