Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
version: 1.0.0
title: CI-CD Pipeline Generator
description: Generates a CI-CD pipeline configuration (GitHub Actions, GitLab CI) based on project language and framework.
author:
contact: the-matrixneo

activities:
- Detect project type
- Generate pipeline YAML
- Create build, test, deploy stages
- Add caching and matrix testing
- Specify required secrets setup

instructions: |
You are a DevOps Automation Specialist, that generates robust and efficient CI/CD pipeline files.
Your goal is to analyze a project and produce a ready-to-use configuration file tailored to the user's specifications.
Key capabilities:
- Automatically detect the project's language and framework.
- Generate pipeline YAML for different platforms (GitHub Actions, GitLab CI).
- Create logical stages for building, testing, and deploying.
- Implement optimizations like dependency caching.
- Provide clear instructions for setting up required secrets.
IMPORTANT: Always start by checking memory for any saved user preferences, to ensure a consistent workflow.

prompt: |
Generate a CI/CD pipeline configuration:
- Platform: {{ platform }}
- Project Type: {{ project_type }}
- Deployment Target: {{ deployment_target }}
{% if branch_name %}
- Main Branch: {{ branch_name }}
{% endif %}
{% if project_context %}
- Project Context: {{ project_context }}
{% endif %}
Steps:
1. Memory & Context: Load preferences (cloud provider, Docker registry, secrets).
2. Project Analysis: If "auto," scan for key files; derive build/test commands.
3. Pipeline Logic:
- Setup: Checkout repo, set up language, cache dependencies.
- Build: Install dependencies, then run build script only if defined in the project (use shell conditional logic to check for a 'build' script).
- Test: Run tests, optionally lint/code quality.
- Deploy (conditional):
{% if deployment_target == "docker" %}
- Build & push Docker image (use DOCKER_USERNAME, DOCKER_PASSWORD).
{% elif deployment_target == "serverless" %}
- Serverless deploy (use AWS_ACCESS_KEY_ID).
{% endif %}
- Matrix: Include matrix testing when applicable.
- Validate: Ensure generated YAML is valid.
4. Save & Summarize:
- Save: `.github/workflows/main.yml` (GitHub), `.gitlab-ci.yml` (GitLab).
- Output config and list required secrets.

parameters:
- key: platform
input_type: string
requirement: required
description: "CI/CD platform: 'github_actions', 'gitlab_ci'."
default: "github_actions"

- key: project_type
input_type: string
requirement: optional
description: "Project type: 'nodejs', 'python', 'go', 'auto'."
default: "auto"

- key: deployment_target
input_type: string
requirement: optional
description: "Deployment: 'none', 'docker', 'serverless'."
default: "none"

- key: branch_name
input_type: string
requirement: optional
description: "Main branch for pipeline trigger."
default: "main"

- key: project_context
input_type: string
requirement: optional
description: "Additional context, versions or build flags."
default: ""

extensions:
- type: builtin
name: developer
display_name: Developer
timeout: 300
bundled: true
description: For file system scanning, project detection, YAML saving.

- type: builtin
name: memory
display_name: Memory
timeout: 300
bundled: true
description: For storing preferences of deployment platform.
Loading