/** * Project Context Inference * * Analyzes a repository root to infer domain, ecosystem, and description * without requiring user input. Used during `trellis init` to seed the * agent scaffold with meaningful context. * * @module trellis/scaffold/infer */ export type InferenceConfidence = 'high' | 'medium' | 'low'; export type FrameworkType = 'react' | 'vue' | 'svelte' | 'next' | 'nuxt' | 'remotion' | 'expo' | 'bun' | 'node' | 'cli' | 'library' | 'animation' | 'games' | 'none'; export interface ProjectContext { /** Inferred domain (e.g. 'animation-studio', 'web-app', 'library', etc.) */ domain: string | null; /** Short human-readable description (from README or package.json) */ description: string | null; /** Primary ecosystem (e.g. 'bun', 'node', 'python', 'rust') */ ecosystem: string | null; /** Project name (from package.json or directory name) */ name: string | null; /** Inferred framework (e.g. 'react', 'next', 'cli', etc.) */ framework: FrameworkType | null; /** Approximate file count */ fileCount: number; /** How confident the inference is — determines whether prompts fire */ confidence: InferenceConfidence; /** Key indicator files that were detected */ indicators: string[]; } export interface InferOptions { /** Pre-computed file count from an existing scan (avoids double walk) */ precomputedFileCount?: number; } /** * Infer project context from the filesystem without user input. * * @param rootPath - Absolute path to the project root * @param opts - Optional pre-computed data to avoid duplicate work * @returns A ProjectContext object to seed the agent scaffold */ export declare function inferProjectContext(rootPath: string, opts?: InferOptions): Promise; //# sourceMappingURL=infer.d.ts.map