/** * Confidence level for detections */ export type Confidence = 'high' | 'medium' | 'low'; /** * Category of detected technology */ export type TechnologyCategory = 'language' | 'framework' | 'deployment' | 'testing' | 'database'; /** * A detected technology with confidence and evidence */ export interface DetectedTechnology { name: string; category: TechnologyCategory; confidence: Confidence; version?: string; evidence: string; tags: string[]; } /** * Complete project analysis result */ export interface ProjectAnalysis { languages: DetectedTechnology[]; frameworks: DetectedTechnology[]; deployment: DetectedTechnology[]; testing: DetectedTechnology[]; databases: DetectedTechnology[]; existingSkills: string[]; projectPath: string; workspaces?: string[]; } /** * Package.json structure (partial) */ export interface PackageJson { name?: string; dependencies?: Record; devDependencies?: Record; peerDependencies?: Record; scripts?: Record; workspaces?: string[] | { packages?: string[]; }; } /** * Cargo dependency specification */ export type CargoDependency = string | { version?: string; features?: string[]; optional?: boolean; path?: string; git?: string; }; /** * Cargo.toml structure (partial) */ export interface CargoToml { package?: { name?: string; version?: string; }; dependencies?: Record; 'dev-dependencies'?: Record; } /** * pyproject.toml structure (partial) */ export interface PyProjectToml { project?: { name?: string; dependencies?: string[]; }; tool?: { poetry?: { dependencies?: Record; 'dev-dependencies'?: Record; }; }; } /** * Detection context passed to detector functions */ export interface DetectionContext { projectPath: string; packageJson?: PackageJson; cargoToml?: CargoToml; pyProjectToml?: PyProjectToml; envVars?: Record; configFiles: string[]; } /** * Options for project analysis */ export interface AnalysisOptions { /** * Skip workspace detection and analysis * @default false */ skipWorkspaces?: boolean; /** * Skip reading environment files (.env, .env.local, etc.) * @default false */ skipEnvFiles?: boolean; /** * Skip skill detection in .claude/skills/ * @default false */ skipSkillDetection?: boolean; } //# sourceMappingURL=types.d.ts.map