name: libconfig description: > libconfig - Configuration management library. serviceConfig, extensionConfig, and scriptConfig load settings from files and environment variables. Configuration class provides advanced features like namespacing and storage backend loading. Use for service initialization, environment-specific settings, and runtime configuration.
libconfig Skill
When to Use
- Loading configuration for services at startup
- Managing environment-specific settings (local, docker, production)
- Accessing configuration values with defaults
- Initializing applications with proper config hierarchy
Key Concepts
Namespace configs: serviceConfig, extensionConfig, scriptConfig provide scoped configuration for different component types.
Configuration class: Advanced configuration with storage backend support and dynamic reloading.
Usage Patterns
Pattern 1: Service configuration
import { serviceConfig } from "@copilot-ld/libconfig";
const config = serviceConfig("agent");
const host = config.get("HOST", "localhost");
const port = config.get("PORT", 50051);
Pattern 2: Extension configuration
import { extensionConfig } from "@copilot-ld/libconfig";
const config = extensionConfig("web");
const authEnabled = config.get("AUTH_ENABLED", "false") === "true";
Integration
Used by all services and extensions at startup. Loads from .env files and config/*.yml.