ccguard
Version:
Automated enforcement of net-negative LOC, complexity constraints, and quality standards for Claude code
42 lines • 1.16 kB
TypeScript
import { ConfigLoader } from '../config/ConfigLoader';
import { Formatter } from '../formatting';
export interface ProjectScanResult {
totalLines: number;
fileCount: number;
timestamp: string;
error?: string;
}
export interface ProjectScannerOptions {
maxFiles?: number;
timeout?: number;
ignoreEmptyLines?: boolean;
formatter?: Formatter;
}
export declare class ProjectScanner {
private locCounter;
private configLoader;
private cache;
private readonly CACHE_TTL;
constructor(configLoader: ConfigLoader, options?: ProjectScannerOptions);
/**
* Scan the project directory and count total LOC
*/
scan(projectRoot: string): Promise<ProjectScanResult>;
/**
* Clear the cache (useful for tests or when files change externally)
*/
clearCache(): void;
/**
* Find all files in the project directory
*/
private findProjectFiles;
/**
* Filter files based on whitelist configuration
*/
private filterFiles;
/**
* Check if a file path matches a glob pattern
*/
private matchesPattern;
}
//# sourceMappingURL=projectScanner.d.ts.map