/** * Unique identifier for a scaffold target. */ type TargetId = "minimal" | "basic" | "cli" | "mcp" | "daemon" | "library" | "full-stack" | "api" | "worker" | "web"; /** * Whether the target produces a runnable application or a library package. */ type TargetCategory = "runnable" | "library"; /** * Whether the target has a working template or is a planned placeholder. */ type TargetStatus = "ready" | "stub"; /** * Whether a target can be used with init, scaffold, or both. */ type TargetScope = "init-only" | "scaffold-only" | "both"; /** * Complete definition for a scaffold target. */ interface TargetDefinition { readonly category: TargetCategory; readonly defaultBlocks: readonly string[]; readonly description: string; readonly id: TargetId; readonly placement: "apps" | "packages"; readonly presetDir: string; readonly scope: TargetScope; readonly status: TargetStatus; } export { TargetId, TargetCategory, TargetStatus, TargetScope, TargetDefinition };