@revealui/config
v0.2.0
Published
Environment configuration management for RevealUI - type-safe environment variables with Zod validation.
Readme
@revealui/config
Environment configuration management for RevealUI - type-safe environment variables with Zod validation.
Features
- Type-safe: Full TypeScript support with Zod validation
- Environment detection: Automatically detects NODE_ENV
- Dotenv loading: Loads
.envfiles with priority - Validation: Validates all environment variables on load
- MCP Configuration: Configuration management for MCP servers
- RevealUI Config: RevealUI-specific configuration
Installation
pnpm add @revealui/configUsage
Load Environment Configuration
import { loadConfig } from '@revealui/config'
// Load and validate environment variables
const config = loadConfig()
// Access validated config
console.log(config.database.url) // Type-safe access
console.log(config.stripe.secretKey)
console.log(config.vercel.token)RevealUI Configuration
import { getRevealUIConfig } from '@revealui/config/revealui'
const config = getRevealUIConfig()
// Returns validated RevealUI configurationMCP Configuration
import { getMCPConfig } from '@revealui/config/mcp'
const mcpConfig = getMCPConfig()
// Returns MCP server configurationEnvironment Variables
The config package validates these environment variables:
Required Variables
# Database
POSTGRES_URL=postgresql://user:password@host/database
# RevealUI
REVEALUI_SECRET=your_secret_key_here
REVEALUI_PUBLIC_SERVER_URL=http://localhost:4000Optional Variables
# Stripe
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
# Vercel
VERCEL_API_KEY=vercel_...
BLOB_READ_WRITE_TOKEN=vercel_blob_...
# Neon
NEON_API_KEY=neon_...
# Supabase
SUPABASE_URL=https://....supabase.co
SUPABASE_ANON_KEY=eyJ...
SUPABASE_SERVICE_ROLE_KEY=eyJ...File Loading Priority
Environment variables are loaded in this order (later overrides earlier):
- System environment variables
.env(shared defaults, if present).env.local(local overrides).env.development.local(development mode).env.production.local(production mode)
Validation
The package uses Zod schemas to validate configuration:
import { loadConfig } from '@revealui/config'
try {
const config = loadConfig()
// Config is valid and type-safe
} catch (error) {
// Validation failed - missing or invalid variables
console.error('Configuration error:', error)
}Development
# Build package
pnpm --filter @revealui/config build
# Run tests
pnpm --filter @revealui/config test
# Type check
pnpm --filter @revealui/config typecheck
# Lint
pnpm --filter @revealui/config lintRelated Documentation
- Environment Variables Guide - Complete environment setup
- Quick Start - Initial setup instructions
- MCP Guide - MCP server configuration
License
MIT
