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