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
TypeScript
/**
* 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