UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

155 lines 3.83 kB
/** * @file cicd-integrator.ts * @description CI/CD pipeline integration and automation * * Implements F-009/UC-009: CI/CD Integration * - GitHub Actions workflow generation * - GitLab CI/CD configuration * - Jenkins pipeline support * - Build automation * - Test execution integration * - Deployment automation * - Status badge generation * * @implements NFR-CICD-001: Pipeline generation <30s * @implements NFR-CICD-002: Support 3+ major CI platforms * @implements NFR-CICD-003: 100% valid YAML/pipeline syntax */ export type CICDPlatform = 'github-actions' | 'gitlab-ci' | 'jenkins' | 'circleci' | 'travis'; export type BuildTool = 'npm' | 'yarn' | 'pnpm' | 'maven' | 'gradle' | 'make'; export type DeployTarget = 'vercel' | 'netlify' | 'aws' | 'gcp' | 'azure' | 'heroku'; export interface CICDConfig { platform: CICDPlatform; projectPath: string; projectName?: string; buildTool?: BuildTool; testCommand?: string; buildCommand?: string; deployTarget?: DeployTarget; nodeVersion?: string; javaVersion?: string; pythonVersion?: string; } export interface Pipeline { name: string; triggers: PipelineTrigger[]; jobs: PipelineJob[]; env?: Record<string, string>; } export interface PipelineTrigger { type: 'push' | 'pull_request' | 'schedule' | 'manual'; branches?: string[]; schedule?: string; } export interface PipelineJob { name: string; steps: PipelineStep[]; runsOn?: string; env?: Record<string, string>; dependsOn?: string[]; } export interface PipelineStep { name: string; command?: string; uses?: string; with?: Record<string, any>; env?: Record<string, string>; } export interface CICDResult { success: boolean; platform: CICDPlatform; filePath?: string; content?: string; error?: string; duration: number; } export declare class CICDIntegrator { /** * Generate CI/CD pipeline configuration */ generatePipeline(config: CICDConfig): Promise<CICDResult>; /** * Generate badge markdown for CI status */ generateBadge(config: CICDConfig, repoOwner: string, repoName: string): string; /** * Validate pipeline configuration */ validatePipeline(filePath: string): Promise<boolean>; /** * Create pipeline structure */ private createPipeline; /** * Create pipeline triggers */ private createTriggers; /** * Create pipeline jobs */ private createJobs; /** * Create environment variables */ private createEnv; /** * Create setup steps (checkout, runtime setup) */ private createSetupSteps; /** * Create dependency installation steps */ private createInstallSteps; /** * Create build steps */ private createBuildSteps; /** * Create test steps */ private createTestSteps; /** * Create deployment steps */ private createDeploySteps; /** * Render pipeline to platform-specific format */ private renderPipeline; /** * Render GitHub Actions workflow */ private renderGitHubActions; /** * Render GitLab CI configuration */ private renderGitLabCI; /** * Render Jenkins pipeline */ private renderJenkins; /** * Render CircleCI configuration */ private renderCircleCI; /** * Render Travis CI configuration */ private renderTravis; /** * Detect build tool from project */ /** * Detect build tool from project */ private detectBuildTool; /** * Detect build command */ private detectBuildCommand; /** * Detect test command */ private detectTestCommand; } //# sourceMappingURL=cicd-integrator.d.ts.map