UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

61 lines 2.15 kB
/** * Pattern-based Quality Scoring Engine * * Scores SDLC artifacts against pattern definitions (required/recommended/antipattern). * Scoring: required (60%) + recommended (40%) - antipattern penalty. * Thresholds: excellent (90+), good (75+), acceptable (60+), needs-work (<60). * * @module quality/scoring * @issue #192 */ export interface PatternRule { id: string; pattern: string; description: string; weight?: number; } export interface PatternDefinition { id: string; name: string; description: string; required: PatternRule[]; recommended: PatternRule[]; antipatterns: PatternRule[]; } export interface PatternMatch { rule: PatternRule; found: boolean; matchCount: number; } export interface ScoringResult { score: number; grade: 'excellent' | 'good' | 'acceptable' | 'needs-work'; breakdown: { required: number; recommended: number; antipatternPenalty: number; }; matches: { required: PatternMatch[]; recommended: PatternMatch[]; antipatterns: PatternMatch[]; }; patternId: string; artifactPath: string; } export declare const REQUIRED_WEIGHT = 0.6; export declare const RECOMMENDED_WEIGHT = 0.4; export declare const THRESHOLDS: { readonly excellent: 90; readonly good: 75; readonly acceptable: 60; }; export declare function scoreContent(content: string, patterns: PatternDefinition, artifactPath?: string): ScoringResult; export declare function matchPattern(content: string, rule: PatternRule): PatternMatch; export declare function getGrade(score: number): ScoringResult['grade']; export declare function loadBuiltinPattern(artifactType: string): Promise<PatternDefinition | null>; export declare function loadPatternFromFile(filePath: string): Promise<PatternDefinition | null>; export declare function getAvailablePatternTypes(): string[]; export declare function detectArtifactType(content: string, filePath: string): string | null; export declare function scoreArtifact(filePath: string, patternType?: string): Promise<ScoringResult | null>; //# sourceMappingURL=scoring.d.ts.map