UNPKG

@re-shell/cli

Version:

Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja

79 lines (78 loc) 2.46 kB
export interface TemplateVariable { name: string; type: 'string' | 'number' | 'boolean' | 'array' | 'object'; description: string; default?: any; required?: boolean; validation?: { pattern?: string; min?: number; max?: number; options?: any[]; }; } export interface ConfigTemplate { name: string; version: string; description: string; author?: string; tags: string[]; variables: TemplateVariable[]; template: any; examples?: Record<string, any>; createdAt: string; updatedAt: string; } export interface TemplateContext { variables: Record<string, any>; environment?: Record<string, string>; projectInfo?: { name?: string; type?: string; version?: string; framework?: string; packageManager?: string; }; userInfo?: { name?: string; email?: string; organization?: string; }; timestamp?: { iso: string; unix: number; formatted: string; }; } export declare class ConfigTemplateEngine { private templates; private templatesDir; constructor(templatesDir?: string); loadTemplate(templatePath: string): Promise<ConfigTemplate>; saveTemplate(template: ConfigTemplate, templatePath?: string): Promise<string>; listTemplates(): Promise<ConfigTemplate[]>; getTemplate(name: string): Promise<ConfigTemplate | null>; renderTemplate(templateName: string, variables: Record<string, any>, context?: Partial<TemplateContext>): Promise<any>; createTemplate(name: string, config: any, variables: TemplateVariable[], options?: { description?: string; author?: string; tags?: string[]; version?: string; }): Promise<ConfigTemplate>; deleteTemplate(name: string): Promise<void>; private substituteVariables; private substituteString; private getVariableValue; private evaluateExpression; private buildContext; private validateTemplate; private validateVariable; private validateVariables; private validateVariableType; private validateVariableRules; } export declare const TemplateHelpers: { createProjectTemplate(projectName: string, framework: string, packageManager: string): ConfigTemplate; createWorkspaceTemplate(type: "app" | "package" | "lib" | "tool"): ConfigTemplate; }; export declare const templateEngine: ConfigTemplateEngine;