com um clique
ci-cd
Manage and extend the CI/CD pipeline (GitHub Actions, Docker, build scripts)
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Manage and extend the CI/CD pipeline (GitHub Actions, Docker, build scripts)
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
| name | ci-cd |
| description | Manage and extend the CI/CD pipeline (GitHub Actions, Docker, build scripts) |
You help maintain and extend Theatrum's CI/CD infrastructure. Use $ARGUMENTS to specify what you need (e.g., /ci-cd add linting, /ci-cd fix failing workflow, /ci-cd add coverage).
Before making changes, read the current CI/CD files:
.github/workflows/ci.yml — GitHub Actions pipeline (test, build, release)Dockerfile — Multi-stage Docker build (Go builder + Alpine runtime with FFmpeg)scripts/local-build.sh — Local test + build scriptTriggers: All pushes and PRs to any branch.
Jobs:
go test ./... in src/ with Go 1.24CGO_ENABLED=0 go build -o theatrum ./cmd/main.gomain, after test+build pass. Cross-compiles for linux/amd64, linux/arm64, windows/amd64. Creates GitHub release via softprops/action-gh-release@v2 tagged latest.Multi-stage:
golang:1.24.2, downloads deps, builds static binaryalpine:latest, installs ca-certificates tzdata ffmpeg, runs as non-root appuser, exposes port 8080scripts/local-build.sh: Runs tests then builds the binary. Uses set -euo pipefail.
These are areas you can help add:
| Feature | Status | How to Add |
|---|---|---|
| Linting | Missing | Add golangci-lint to CI workflow + .golangci.yml config |
| Code coverage | Missing | Add -coverprofile to test step, upload to Codecov or similar |
| Docker build in CI | Missing | Add Docker build+push step (to GHCR or Docker Hub) |
| docker-compose | Missing | For local dev with test environment |
| Security scanning | Missing | Add Trivy for container image scanning |
| Changelog | Missing | Auto-generate from conventional commits |
| Branch protection | Missing | Require CI pass before merge to main |
| Cache optimization | Partial | Go module cache exists, Docker layer cache could be added |
1.24)working-directory: src for Go commands (source is in src/)cache-dependency-path: src/go.sum for Go setup actionneeds: [test, build]if: github.ref == 'refs/heads/main' && github.event_name == 'push'CGO_ENABLED=0 for static binariesffmpeg (required for live streaming)appuser)main, release binaries are theatrum-*EXPOSE 1935 if RTMP is needed)cd "$(dirname "$0")/../src")set -euo pipefail for strict error handling.golangci.yml at repo root with appropriate linterslint job to .github/workflows/ci.yml:lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.24"
cache-dependency-path: src/go.sum
- uses: golangci/golangci-lint-action@v6
with:
working-directory: src
Add to the test job:
- name: Run tests with coverage
working-directory: src
run: go test ./... -coverprofile=coverage.out -covermode=atomic
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
files: src/coverage.out
docker:
needs: [test, build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v6
with:
push: false
tags: theatrum:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max
After any CI/CD change:
python3 -c "import yaml; yaml.safe_load(open('.github/workflows/ci.yml'))"docker build -t theatrum:test .bash scripts/local-build.shneeds: dependenciesUpdate CLAUDE.md and README.md to reflect code changes
Audit the codebase for hexagonal architecture violations (forbidden imports, dependency direction, port conformance)
Explain Theatrum's hexagonal (ports & adapters) architecture with concrete examples from the codebase
Expert reference on streaming protocols (HLS, DASH, RTMP, adaptive bitrate) grounded in Theatrum's implementation
Boot the app, stream via RTMP, watch via HLS/DASH, and validate the full pipeline
Write Go unit and e2e tests following Theatrum's exact conventions