@interopio/iocd-cli
Version:
CLI tool for setting up, building and packaging io.Connect Desktop platforms
58 lines • 1.82 kB
TypeScript
export interface SetupResult {
productName: string;
productSlug: string;
targetDirectory: string;
applications: string[];
components: string[];
autoTests: boolean;
licenseKey: string | undefined;
}
/**
* SetupService handles the interactive project setup flow using @clack/prompts.
*
* This service provides a branded, user-friendly setup experience that:
* - Guides users through project configuration steps
* - Validates user inputs and provides helpful defaults
* - Collects feature selections and optional configurations
* - Generates project structure using the TemplateService
* - Creates license files when license keys are provided
*
* The setup flow follows the design document specification with:
* 1. Product name input with validation
* 2. Auto-generated folder name (editable)
* 3. Multi-select feature customizations
* 4. Auto-tests yes/no (defaults to Yes)
* 5. Optional license key (hidden input)
* 6. Confirmation before creation
* 7. Progress indication during generation
*/
export declare class CreateService {
private logger;
private templateService;
/**
* Run the interactive setup flow
*/
runSetup(): Promise<void>;
/**
* Collect all setup data through interactive prompts
*/
private collectSetupData;
private collectComponents;
/**
* Collect feature selections using setupUI configuration
*/
private collectTemplateApplications;
/**
* Show confirmation and create the project
*/
private confirmAndCreate;
/**
* Generate NPM-compatible folder name from product name
*/
private generateFolderName;
/**
* Generate license.key file with provided license JSON
*/
private generateLicenseFile;
}
//# sourceMappingURL=create.service.d.ts.map