GitLab CI Generator
Produce .gitlab-ci.yml for backend + frontend SaaS layouts.
Session boot
Load .nextstage-harness/rules/infra-rules.mdc, backend-tests-rules.mdc, e2e-tests-rules.mdc when present. Read docker-compose.yml.
When to use
- Create or adjust
.gitlab-ci.yml product_classsaas or intelligent_saas (backend + frontend required)- Branch-based test/build/deploy
Out of scope
agent_runtime-only pipelines- Cloud provisioning beyond template contract
Inputs
- Target branches (minimum: develop, homolog, main)
- E2E folder name (
testes-cypress,tests-e2e, orfrontend/cypress)
Workflow
A — Copy baseline
Copy references/templates/gitlab-ci.template.yml to .gitlab-ci.yml
Paths are repo-relative (backend/, frontend/).
B — Mandatory adaptations
| Item | Action |
|---|---|
| E2E folder | Match product folder in changes: and job cd |
| PHP image | Align to backend Dockerfile |
| Test commands | Match composer.json / package.json |
| Lockfile | yarn.lock vs package-lock.json in cache key |
| Deploy branches | Adjust regex if not main/homolog/develop |
| E2E disabled | Remove e2e jobs from deploy needs or document RUN_REMOTE_E2E=false |
Do not copy another product's CI file — use this template only.
C — GitLab CI variables
Document in optional docs/context/ci-cd-notes.md:
ENV_BACKEND,ENV_FRONTEND, test DB vars,RUN_REMOTE_E2E, GCP keys — names only, no secret values
D — Validate
Lint YAML; confirm jobs match repo layout.
References
| File | When |
|---|---|
references/templates/gitlab-ci.template.yml |
Baseline pipeline |
Related skills
ns-e2e-tests— E2E folder conventionsns-spec-drivenreferences/e2e-test-task-generator.md— planning E2E scope