Guidelines for implementing CI/CD scripts and validating them locally without deployment. Used by devops-coding-agent (container-level) and devops-integration-agent (monorepo-level). Technology-agnostic.
Guidance for implementing CI/CD scripts based on specifications from deployment-architect.
Critical Constraint: Validate locally ONLY. No deployments. No cloud costs.
You create and validate scripts; you don't deploy.
Deployment Specifications (.specs/deployment/)
↓
[DevOps Agents]
↓
CI/CD Scripts + Validation
↓
Done - NO deployment, NO cloud costs
| Agent | Scope | Creates |
|---|---|---|
| devops-coding-agent | Container-level CI/CD | {container}/.ci/, {container}/Dockerfile, |
{container}/scripts/ci-*.sh| devops-integration-agent | Monorepo pipelines | .github/workflows/, scripts/ci/, infrastructure/README.md |
Always read .constraints/INFRASTRUCTURE.md first for:
.specs/deployment/
├── pipelines/
│ ├── ci.md # CI standards and stages
│ └── cd.md # CD patterns (reference only)
├── container-mapping.md # Container → infrastructure mapping
└── environments/ # Environment configurations
.constraints/INFRASTRUCTURE.md # CI/CD platform, container runtime
.constraints/TECHNOLOGY.md # Language, test framework
{container}/
├── .ci/
│ ├── build.yml # Container build workflow
│ ├── test.yml # Container test workflow
│ └── package.yml # Container package workflow
├── Dockerfile # Container image definition
├── docker-compose.yml # Local development
├── .dockerignore # Build exclusions
└── scripts/
├── ci-build.sh # Build script
├── ci-test.sh # Test script
└── ci-package.sh # Package script
.github/workflows/ # (or equivalent for platform)
├── ci.yml # Main CI pipeline
├── cd-dev.yml # Dev deployment (structure only)
├── cd-staging.yml # Staging deployment (structure only)
└── cd-prod.yml # Prod deployment (structure only)
infrastructure/
└── README.md # Infrastructure documentation
scripts/ci/
├── build-all.sh # Build all containers
├── test-all.sh # Test all containers
└── validate-all.sh # Validate all scripts
All validation must be local - NO cloud costs
| What | Tool | Command |
|---|---|---|
| YAML syntax | yamllint | yamllint *.yml |
| Dockerfile | hadolint | hadolint Dockerfile |
| Shell scripts | shellcheck | shellcheck scripts/*.sh |
| GitHub Actions | actionlint | actionlint .github/workflows/*.yml |
| Action | Why |
|---|---|
docker push | Cloud/registry costs |
terraform apply | Cloud costs |
terraform plan (real providers) | May incur API costs |
| Any cloud CLI deployment | Cloud costs |
| Configuring real secrets | Security risk |
${{ secrets.PLACEHOLDER_NAME }}Each container should have reusable workflows:
# {container}/.ci/build.yml