UNPKG

claude-buddy

Version:

Your friendly AI development companion for Claude Code - supercharge Claude Code with intelligent workflows and safety features

96 lines 2.6 kB
import { PersonaConfig, CollaborationPattern } from './personas.js'; export interface BuddyConfig { personas: Record<string, PersonaConfig>; activation: ActivationConfig; collaboration_matrix?: Record<string, CollaborationPattern>; validation_chain?: ValidationChainConfig; } export interface ActivationConfig { confidence_threshold: number; max_active_personas: number; collaboration_enabled: boolean; } export interface ValidationChainConfig { security_validation?: string[]; quality_validation?: string[]; performance_validation?: string[]; } export interface HookConfig { type: 'command'; command: string; description: string; enabled: boolean; timeout: number; } export interface HookMatcher { matcher: string; hooks: HookConfig[]; } export interface HooksConfig { hooks: { PreToolUse?: HookMatcher[]; PostToolUse?: HookMatcher[]; UserPromptSubmit?: HookMatcher[]; Notification?: HookMatcher[]; Stop?: HookMatcher[]; SubagentStop?: HookMatcher[]; PreCompact?: HookMatcher[]; }; } export interface LearningConfig { enabled: boolean; adaptationRate: number; memoryRetention: number; feedbackWeight: number; patternThreshold: number; } export interface AutoActivationEngineConfig { keywordWeight: number; contextWeight: number; filePatternWeight: number; historyWeight: number; confidenceThreshold: number; } export interface PerformanceConfig { cacheEnabled: boolean; cacheTTL: number; maxCacheSize: number; lazyLoading: boolean; batchSize: number; } export interface LoggingConfig { level: 'debug' | 'info' | 'warn' | 'error'; enableFileLogging: boolean; logDirectory: string; maxLogSize: number; logRotation: boolean; } export interface SecurityConfig { enableValidation: boolean; allowedFileTypes: string[]; blockedPatterns: string[]; maxInputLength: number; sanitizeInput: boolean; } export interface SystemConfig { buddy: BuddyConfig; hooks?: HooksConfig; learning?: LearningConfig; autoActivation?: AutoActivationEngineConfig; performance?: PerformanceConfig; logging?: LoggingConfig; security?: SecurityConfig; } export interface ConfigValidationResult { isValid: boolean; errors: string[]; warnings: string[]; suggestions: string[]; } export interface ConfigSource { path: string; type: 'file' | 'environment' | 'default'; lastModified?: Date; checksum?: string; } //# sourceMappingURL=config.d.ts.map