Skip to main content
Glama

overseer.generate_ci

Generate CI/CD pipeline configurations for GitHub Actions, GitLab CI, CircleCI, or Jenkins based on project phase definitions to automate testing and deployment workflows.

Instructions

Generates CI/CD pipeline configuration (GitHub Actions, GitLab CI, etc.) based on phase definitions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repo_nameYesName of the repository
ci_typeYesType of CI/CD system to generate
optionsNo

Implementation Reference

  • The handleGenerateCi function that executes the tool logic for overseer.generate_ci (currently a stub implementation planned for v1.1).
    export async function handleGenerateCi( args: { repo_name: string; ci_type: 'github-actions' | 'gitlab-ci' | 'circleci' | 'jenkins'; options?: { run_tests?: boolean; deploy_on_complete?: boolean; }; }, phaseManager: PhaseManager ): Promise<{ success: boolean; files_created: string[]; pipeline_config: Record<string, unknown>; message?: string; }> { // Note: generate_ci is a planned feature for v1.1+ // This tool will generate CI/CD pipeline configurations based on // phase definitions and project structure return { success: true, files_created: [], pipeline_config: {}, message: `CI/CD generation for ${args.ci_type} is planned for v1.1.0. This tool will create pipeline configurations based on phase definitions and project structure.`, }; }
  • Factory function createGenerateCiTool that defines the tool's name, description, and inputSchema.
    export function createGenerateCiTool(phaseManager: PhaseManager): Tool { return { name: 'overseer.generate_ci', description: 'Generates CI/CD pipeline configuration (GitHub Actions, GitLab CI, etc.) based on phase definitions.', inputSchema: { type: 'object', required: ['repo_name', 'ci_type'], properties: { repo_name: { type: 'string', description: 'Name of the repository', }, ci_type: { type: 'string', enum: ['github-actions', 'gitlab-ci', 'circleci', 'jenkins'], description: 'Type of CI/CD system to generate', }, options: { type: 'object', properties: { run_tests: { type: 'boolean', default: true, description: 'Include test steps in pipeline', }, deploy_on_complete: { type: 'boolean', default: false, description: 'Include deployment steps', }, }, }, }, }, }; }
  • The createTools function registers the overseer.generate_ci tool by calling createGenerateCiTool and including it in the tools array.
    export function createTools(context: ToolContext): Tool[] { return [ // Planning tools createPlanProjectTool(context.phaseManager), createInferPhasesTool(context.configLoader), createUpdatePhasesTool(context.phaseManager), // Execution tools createRunPhaseTool(context.phaseManager), createAdvancePhaseTool(context.phaseManager), createStatusTool(context.phaseManager), // QA tools createLintRepoTool(context.configLoader), createSyncDocsTool(context.phaseManager), createCheckComplianceTool(context.phaseManager), // Environment tools createEnvMapTool(context.phaseManager), createGenerateCiTool(context.phaseManager), createSecretsTemplateTool(context.phaseManager), ]; }
  • The handleToolCall function dispatches calls to overseer.generate_ci by invoking handleGenerateCi in its switch case.
    export async function handleToolCall( name: string, args: any, context: ToolContext ): Promise<any> { switch (name) { // Planning tools case 'overseer.plan_project': return await handlePlanProject(args, context.phaseManager); case 'overseer.infer_phases': return await handleInferPhases(args, context.configLoader); case 'overseer.update_phases': return await handleUpdatePhases(args, context.phaseManager); // Execution tools case 'overseer.run_phase': return await handleRunPhase(args, context.phaseManager); case 'overseer.advance_phase': return await handleAdvancePhase(args, context.phaseManager); case 'overseer.status': return await handleStatus(args, context.phaseManager); // QA tools case 'overseer.lint_repo': return await handleLintRepo(args, context.configLoader); case 'overseer.sync_docs': return await handleSyncDocs(args, context.phaseManager); case 'overseer.check_compliance': return await handleCheckCompliance(args, context.phaseManager); // Environment tools case 'overseer.env_map': return await handleEnvMap(args, context.phaseManager); case 'overseer.generate_ci': return await handleGenerateCi(args, context.phaseManager); case 'overseer.secrets_template': return await handleSecretsTemplate(args, context.phaseManager); default: throw new Error(`Unknown tool: ${name}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/freqkflag/PROJECT-OVERSEER-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server