trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
42 lines • 1.84 kB
TypeScript
/**
* 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<ProjectContext>;
//# sourceMappingURL=infer.d.ts.map