CI/CD Pipeline
Announce at start: "I'm using claude-engineer:ci-cd-pipeline to generate CI and containerization."
Finish line
CI-green + container-ready. No actual deploy. (Deploy targets/credentials are out of scope for v1.)
What to generate
- GitHub Actions - a polyglot workflow that, on PR and main:
- installs both toolchains (uv for Python, pnpm/Bun for JS) with caching;
- lint (
ruff+eslint/prettier --check); - typecheck (
mypy/pyright+tsc --noEmit); - test (
pytest+vitest run --coverage) using service containers (Postgres/Redis) for integration tests; - build (frontend build + backend image build);
- run the four quality gates (
claude-engineer:testing-and-quality) as the merge condition.
- Multi-stage Dockerfiles - FastAPI (uv builder → slim runtime) and the frontend (Next
output: standaloneor static build) +.dockerignore. These prove the app is container-ready.
Non-negotiables
- CI enforces the same four gates the local commit gate enforces - no weaker checks in CI.
- Caching for both toolchains (don't reinstall the world each run).
- Pin action versions and base images.
Full detail (the complete Actions workflow, service-container config, the multi-stage Dockerfiles, prod compose notes):
read references/ci-and-containers.md on demand.
Red flags - STOP
- CI that skips a gate the local gate enforces.
- A Dockerfile that copies
.env/secrets ornode_modules/.venv(use.dockerignore). - Unpinned
latestactions or base images.