UNPKG

sourcewizard

Version:

SourceWizard - AI-powered setup wizard for dev tools and libraries with MCP integration

61 lines (60 loc) 2.4 kB
export interface RepositoryAction { command: string; flags?: string[]; } export interface RepositoryActions { build: RepositoryAction[]; test: RepositoryAction[]; deploy: RepositoryAction[]; dev: RepositoryAction[]; lint: RepositoryAction[]; format: RepositoryAction[]; install: RepositoryAction[]; clean: RepositoryAction[]; check: RepositoryAction[]; add: RepositoryAction[]; [key: string]: RepositoryAction[]; } export interface ProjectContext { name: string; targets?: Record<string, TargetInfo>; target_dependencies?: BulkTargetData; } export interface TargetInfo { name: string; path: string; language: string; version?: string; framework?: string; package_manager?: "npm" | "yarn" | "pnpm" | "bun" | "pip" | "cargo" | "go" | "maven" | "gradle" | "composer" | "bundle"; dependency_files: string[]; env_files: string[]; entrypoint?: string; target_type?: "package" | "script"; internal_dependencies?: string[]; actions: RepositoryActions; } export type BulkTargetData = Record<string, { dependencies: Record<string, string>; devDependencies?: Record<string, string>; envNames: string[]; }>; export declare function detectRepo(repoPath: string): Promise<ProjectContext>; export declare function getTargetEnvNames(targetInfo: TargetInfo, repoPath: string): Promise<string[]>; export declare function getTargetDependencies(targetInfo: TargetInfo, repoPath: string): Promise<{ dependencies: Record<string, string>; devDependencies?: Record<string, string>; }>; export declare function getBulkTargetData(targets: Record<string, TargetInfo>, repoPath: string): Promise<BulkTargetData>; export interface ExecuteCommandOptions { onOutput?: (message: string, type: 'info' | 'error' | 'success') => void; additionalArgs?: string[]; } export interface ExecuteAddCommandOptions extends ExecuteCommandOptions { packageName: string; isDev?: boolean; useWorkspace?: boolean; additionalFlags?: string[]; } export declare function executeRepositoryCommand(actionType: "build" | "dev" | "run" | "check" | "test" | "add", targetArg: string | undefined, repoPath: string, options?: ExecuteCommandOptions): Promise<void>; export declare function executeAddCommand(targetArg: string | undefined, repoPath: string, options: ExecuteAddCommandOptions): Promise<void>;