/**
 * TypeScript types for the scaffold generator (WS5 Developer Experience).
 */

/** Supported target languages for scaffold generation. */
export type ScaffoldLanguage = 'typescript' | 'python' | 'go' | 'java' | 'rust';

/** Options for generating a scaffold project. */
export interface ScaffoldOptions {
  /** Agent UUID. */
  agentId: string;
  /** Human-readable agent name (used in filenames and README). */
  agentName: string;
  /** OAuth2 client ID pre-filled in .env.example. */
  clientId: string;
  /** Target programming language. */
  language: ScaffoldLanguage;
  /** API base URL injected into template files. */
  apiUrl: string;
}

/** A single file within a scaffold template. */
export interface ScaffoldTemplate {
  /** Path within the ZIP archive (relative to the project root directory). */
  archivePath: string;
  /** File content with template variables replaced. */
  content: string;
}
