/** * Self-Configurator * ADR-025: Enhanced Init with Self-Configuration * * Automatically generates optimal AQE configuration based on project analysis. */ import type { ProjectAnalysis, AQEInitConfig } from './types.js'; interface ConfigurationRule { name: string; condition: (analysis: ProjectAnalysis) => boolean; apply: (config: AQEInitConfig, analysis: ProjectAnalysis) => void; } export interface SelfConfiguratorOptions { /** Apply only essential rules */ minimal?: boolean; /** Skip pattern loading */ skipPatterns?: boolean; /** Custom rules to apply */ customRules?: ConfigurationRule[]; } export declare class SelfConfigurator { private rules; constructor(options?: SelfConfiguratorOptions); /** * Generate recommended configuration based on project analysis */ recommend(analysis: ProjectAnalysis): AQEInitConfig; /** * Get list of rules that would be applied */ getApplicableRules(analysis: ProjectAnalysis): string[]; /** * Recommend learning configuration */ private recommendLearning; /** * Recommend routing configuration */ private recommendRouting; /** * Recommend workers configuration */ private recommendWorkers; /** * Recommend hooks configuration */ private recommendHooks; /** * Recommend skills configuration */ private recommendSkills; /** * Recommend auto-tuning configuration */ private recommendAutoTuning; /** * Recommend enabled domains */ private recommendDomains; /** * Recommend max concurrent agents */ private recommendMaxAgents; } /** * Factory function to create a self-configurator */ export declare function createSelfConfigurator(options?: SelfConfiguratorOptions): SelfConfigurator; /** * Quick function to generate recommended config from analysis */ export declare function recommendConfig(analysis: ProjectAnalysis): AQEInitConfig; export {}; //# sourceMappingURL=self-configurator.d.ts.map