/** * Asset-related types for bundles and starters */ import type { OwnershipRule } from './ownership'; /** * Bundle manifest structure */ export interface BundleManifest { $schema?: string; id: string; version: string; name: string; description?: string; author?: { name?: string; email?: string; url?: string; }; license?: string; repository?: { type?: string; url?: string; }; engines?: { forge?: string; node?: string; }; ownership?: Record; dependencies?: { bundles?: string[]; npm?: Record; }; scripts?: Record; tags?: string[]; keywords?: string[]; homepage?: string; files?: string[]; exclude?: string[]; } /** * Starter manifest structure */ export interface StarterManifest { $schema?: string; id: string; version: string; name: string; description?: string; author?: { name?: string; email?: string; url?: string; }; license?: string; repository?: { type?: string; url?: string; }; engines?: { forge?: string; node?: string; }; framework?: string; language?: string; styling?: string; features?: string[]; dependencies?: Record; scripts?: Record; configuration?: { prompts?: Array<{ name: string; message: string; default?: string; }>; replacements?: Record; }; recommendedBundles?: string[]; tags?: string[]; keywords?: string[]; homepage?: string; demo?: string; files?: string[]; exclude?: string[]; } /** * Bundle reference in project manifest */ export interface Bundle { name: string; version: string; source?: string; ownership?: Record; } /** * Starter reference in project manifest */ export interface Starter { name: string; version: string; description?: string; } /** * Project manifest structure */ export interface ProjectManifest { name: string; version: string; starter?: string; bundles?: Bundle[]; environment?: 'test' | 'prod'; lastUpdated?: string; checksums?: Record; } //# sourceMappingURL=assets.d.ts.map