UNPKG

claude-buddy

Version:

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

165 lines 4.28 kB
export interface GitInformation { isRepo: boolean; branch?: string; commitCount?: number; lastCommit?: string; hasChanges?: boolean; remoteUrl?: string; } export interface FileAnalysis { totalFiles: number; codeFiles: number; testFiles: number; configFiles: number; documentationFiles: number; extensions: Record<string, number>; directories: string[]; complexity: 'simple' | 'medium' | 'large' | 'complex'; } export interface ProjectStructure { hasTests: boolean; hasDocumentation: boolean; hasCI: boolean; hasContainerization: boolean; hasConfig: boolean; layered: boolean; monorepo: boolean; frameworks: string[]; buildTools: string[]; } export interface TechnologyStack { frontend: string[]; backend: string[]; database: string[]; testing: string[]; deployment: string[]; security: string[]; primaryLanguage: string; packageManager?: string; } export interface SecurityIndicators { hasAuth: boolean; hasEncryption: boolean; hasSecurityConfig: boolean; hasSecrets: boolean; vulnerablePatterns: string[]; securityFrameworks: string[]; } export interface PerformanceIndicators { hasCaching: boolean; hasOptimization: boolean; hasMonitoring: boolean; hasLoadTesting: boolean; bundleOptimization: boolean; performanceTools: string[]; } export interface QualityIndicators { hasLinting: boolean; hasFormatting: boolean; hasTypeChecking: boolean; hasCodeCoverage: boolean; hasDocumentation: boolean; qualityTools: string[]; codeQualityScore?: number; } export interface ProjectAnalysisContext { cwd: string; projectType: string; technologyStack: TechnologyStack; projectStructure: ProjectStructure; fileAnalysis: FileAnalysis; gitInfo: GitInformation; securityIndicators: SecurityIndicators; performanceIndicators: PerformanceIndicators; qualityIndicators: QualityIndicators; complexity: ProjectComplexity; recommendations: ContextRecommendation[]; timestamp: string; } export interface ProjectComplexity { fileCount: number; directoryDepth: number; estimatedLOC: number; complexity: 'simple' | 'medium' | 'large' | 'complex'; factors: string[]; } export interface ContextRecommendation { persona: string; priority: 'low' | 'medium' | 'high'; reason: string; confidence: number; } export interface InputContext { cwd: string; cleanedInput: string; flags?: ParsedFlags; learning?: LearningRecommendations; command?: string; projectType?: string; files?: string[]; gitInfo?: GitInformation; timestamp?: string; projectAnalysis?: ProjectAnalysisContext; } export interface ParsedFlags { originalInput: string; cleanedInput: string; hasFlags: boolean; personas: { manual: string[]; with: string[]; focus: string[]; }; modes: { comprehensive: boolean; singlePersona: boolean; noCollaboration: boolean; learn: boolean | null; }; focusAreas: string[]; confidence: { override: number | null; threshold: number | null; }; } export interface LearningRecommendations { personas: string[]; reasoning: string[]; adaptations: LearningAdaptation[]; confidence: number; patterns: string[]; } export interface LearningAdaptation { type: 'persona_selection' | 'collaboration' | 'confidence_threshold'; reason: string; impact: number; confidence: number; } export interface FlagValidationResult { isValid: boolean; errors: string[]; warnings: string[]; suggestions: string[]; } export interface ActivationInstructions { mode: 'manual' | 'automatic' | 'error'; strategy: string; personas: { required: string[]; preferred: string[]; focus: string[]; }; collaboration: { enabled: boolean; comprehensive: boolean; singleLeader: boolean; }; learning: { enabled: boolean | null; adaptive: boolean; }; validation: FlagValidationResult; errors?: string[]; fallback?: string; } //# sourceMappingURL=context.d.ts.map