/**
 * scaffold-frontend-auth/types.ts — Input contract + generated file shape.
 *
 * Mirrors `scaffold-layout`'s minimal contract : `{ projectPath, appCode }`.
 * No per-project options — the auth scaffold is intentionally opinionated
 * so all generated apps share the same auth wiring.
 */
import { z } from 'zod';

export const ScaffoldFrontendAuthInputSchema = z.object({
  projectPath: z.string().min(1),
  appCode: z.string().min(1),
  /** When true, overwrite even if the existing content matches the template. */
  force: z.boolean().default(false),
});

export type ScaffoldFrontendAuthInput = z.infer<typeof ScaffoldFrontendAuthInputSchema>;

export interface GeneratedFile {
  path: string;
  content: string;
}
