@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
71 lines (70 loc) • 2.29 kB
TypeScript
import { EventEmitter } from 'events';
export interface IDEConfig {
editor: 'vscode' | 'intellij' | 'vim' | 'sublime' | 'atom';
projectType?: 'node' | 'python' | 'java' | 'go' | 'rust' | 'php' | 'ruby' | 'dotnet';
features?: IDEFeature[];
customSettings?: any;
includeRecommendedExtensions?: boolean;
includeDebugConfig?: boolean;
includeTasks?: boolean;
includeFormatting?: boolean;
}
export interface IDEFeature {
name: string;
enabled: boolean;
config?: any;
}
export interface ProjectContext {
name: string;
path: string;
type?: string;
language?: string;
framework?: string;
packageManager?: 'npm' | 'yarn' | 'pnpm' | 'bun';
hasTypeScript?: boolean;
hasESLint?: boolean;
hasPrettier?: boolean;
hasJest?: boolean;
hasTesting?: boolean;
gitEnabled?: boolean;
}
export interface GenerationResult {
success: boolean;
files: GeneratedFile[];
errors?: string[];
warnings?: string[];
}
export interface GeneratedFile {
path: string;
content: string;
description: string;
}
export declare class IDEConfigGenerator extends EventEmitter {
private projectContext;
constructor(projectContext: ProjectContext);
generate(config: IDEConfig): Promise<GenerationResult>;
private generateVSCodeConfig;
private generateVSCodeSettings;
private generateVSCodeExtensions;
private generateVSCodeLaunch;
private generateVSCodeTasks;
private generateIntelliJConfig;
private generateIntelliJModules;
private generateIntelliJCodeStyle;
private generateIntelliJRunConfigs;
private generateVimConfig;
private generateVimConfiguration;
private generateCocSettings;
private generateSublimeConfig;
private generateSublimeProject;
private generateSublimeSettings;
private generateAtomConfig;
private generateAtomConfiguration;
private generateEditorConfig;
writeFiles(files: GeneratedFile[]): Promise<{
written: string[];
errors: string[];
}>;
}
export declare function generateIDEConfig(projectPath: string, editor: IDEConfig['editor'], options?: Partial<IDEConfig>): Promise<GenerationResult>;
export declare function detectProjectContext(projectPath: string): Promise<ProjectContext>;