faf-cli
Version:
😽 TURBO-CAT: The Rapid Catalytic Converter • Project DNA ✨ for ANY AI • Fully Integrated with React, Next.js, Svelte, TypeScript, Vite & n8n • FREE FOREVER • 10,000+ developers • Championship Edition
74 lines • 2.43 kB
TypeScript
/**
* 📊 FAF CLI Analytics & Telemetry System
* F1-inspired performance monitoring and user analytics
*/
interface UsageStats {
totalCommands: number;
favoriteCommands: Record<string, number>;
averageExecutionTime: number;
errorRate: number;
lastUsed: string;
projectTypes: Record<string, number>;
}
/**
* Core Analytics Engine
*/
export declare class FafAnalytics {
private static instance;
private events;
private statsPath;
private constructor();
static getInstance(): FafAnalytics;
/**
* Track command execution
*/
trackCommand(command: string, args: string[], duration: number, success: boolean): Promise<void>;
/**
* Track errors with context
*/
trackError(error: Error, command?: string, args?: string[]): Promise<void>;
/**
* Track performance milestones
*/
trackPerformance(milestone: string, duration: number, metadata?: Record<string, any>): Promise<void>;
/**
* Track feature usage
*/
trackFeatureUsage(feature: string, context?: Record<string, any>): Promise<void>;
/**
* Get usage statistics
*/
getUsageStats(): Promise<UsageStats>;
/**
* Display championship-style analytics summary
*/
showAnalyticsSummary(): Promise<void>;
/**
* Privacy controls
*/
disableTelemetry(): Promise<void>;
enableTelemetry(): Promise<void>;
private recordEvent;
private flushEvents;
private updateUsageStats;
private saveUsageStats;
private getVersion;
private getPlatformInfo;
private getCpuInfo;
private detectProjectType;
private formatErrorRate;
}
/**
* Convenience functions for analytics tracking
*/
export declare const analytics: FafAnalytics;
export declare function trackCommand(command: string, args: string[], duration: number, success: boolean): Promise<void>;
export declare function trackError(error: Error, command?: string, args?: string[]): Promise<void>;
export declare function trackPerformance(milestone: string, duration: number, metadata?: Record<string, any>): Promise<void>;
export declare function trackFeatureUsage(feature: string, context?: Record<string, any>): Promise<void>;
/**
* Performance monitoring decorator
*/
export declare function withPerformanceTracking<T extends (...args: any[]) => Promise<any>>(fn: T, name: string): T;
export {};
//# sourceMappingURL=analytics.d.ts.map