UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

96 lines 2.54 kB
/** * Configuration Loader * * Manages loading, validating, and merging AIWG CLI configurations from multiple sources. * Supports .aiwgrc.json, package.json, and command-line overrides. */ export interface ValidationConfig { enabled: boolean; threshold: number; context?: 'academic' | 'technical' | 'executive' | 'casual'; failOnCritical: boolean; rules?: string[]; } export interface OptimizationConfig { enabled: boolean; autoApply: boolean; strategies: string[]; createBackup: boolean; } export interface OutputConfig { format: 'text' | 'json' | 'html' | 'junit'; destination?: string; verbose: boolean; colors: boolean; } export interface WatchConfig { enabled: boolean; patterns: string[]; debounce: number; ignorePatterns?: string[]; } export interface HooksConfig { preCommit: boolean; prePush: boolean; hookPath?: string; } export interface AiwgConfig { version: string; validation: ValidationConfig; optimization: OptimizationConfig; output: OutputConfig; watch: WatchConfig; hooks: HooksConfig; } export interface ConfigValidationResult { valid: boolean; errors: string[]; warnings: string[]; } /** * Configuration Loader class */ export declare class ConfigLoader { private configCache; /** * Load configuration from file or defaults */ load(configPath?: string): Promise<AiwgConfig>; /** * Load configuration from .aiwgrc.json file */ loadFromFile(filePath: string): Promise<Partial<AiwgConfig> | null>; /** * Load configuration from package.json "aiwg" field */ loadFromPackageJson(pkgPath: string): Promise<Partial<AiwgConfig> | null>; /** * Find config file by walking up directory tree */ findConfigFile(startDir: string): Promise<Partial<AiwgConfig> | null>; /** * Merge multiple partial configs into one complete config */ merge(configs: Partial<AiwgConfig>[]): AiwgConfig; /** * Validate configuration object */ validate(config: AiwgConfig): ConfigValidationResult; /** * Get default configuration */ getDefaults(): AiwgConfig; /** * Generate example config file content */ generateExample(): string; /** * Clear cached configuration */ clearCache(): void; /** * Override specific config values */ override(config: AiwgConfig, overrides: Partial<AiwgConfig>): AiwgConfig; } //# sourceMappingURL=config-loader.d.ts.map