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
TypeScript
/**
* @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