ci-all

Solid

Full CI pipeline: run local tests, type check, push branch, and return the pipeline URL. The only command you need before opening a PR.

AI & Automation 4,957 stars 661 forks Updated today CC-BY-SA-4.0

Install

View on GitHub

Quality Score: 96/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# /ci:all: Full CI before PR Runs everything in order: local tests → type check → push → pipeline URL. One `/ci:all` replaces: manual tests + git push + copying the pipeline URL. ## Stack detection ```bash if [ -f "uv.lock" ]; then STACK="python" elif [ -f "pnpm-lock.yaml" ]; then STACK="node" elif [ -f "package-lock.json" ]; then STACK="node-npm" elif [ -f "Cargo.toml" ]; then STACK="rust" fi ``` ## Step 1: Local tests (blocking) **Python (uv/pytest):** ```bash uv run pytest --tb=short -q # Failure → STOP + print failing tests ``` **Node (pnpm/vitest):** ```bash pnpm vitest run pnpm tsc --noEmit # Failure → STOP ``` **Rust:** ```bash cargo test --quiet 2>&1 ``` If `--skip-tests` is passed → skip to step 2. ## Step 2: Push + pipeline ```bash BRANCH=$(git branch --show-current) # Verify commits exist to push AHEAD=$(git rev-list --count origin/$BRANCH..HEAD 2>/dev/null || echo "1") if [ "$AHEAD" = "0" ]; then echo "Branch already up to date on origin." else git push origin "$BRANCH" fi ``` ## Step 3: Pipeline URL ### GitLab CI ```bash REMOTE=$(git remote get-url origin) WEB_URL=$(echo "$REMOTE" | sed 's/git@gitlab\.com:/https:\/\/gitlab.com\//' | sed 's/\.git$//') echo "Pipeline: $WEB_URL/-/pipelines?ref=$BRANCH" # Optional: live status via glab CLI if command -v glab &>/dev/null; then sleep 3 glab ci status --branch "$BRANCH" 2>/dev/null || true fi ``` ### GitHub Actions ```bash REMOTE=$(git remote get-url origin) WEB_URL=$(echo "$REMOTE" | sed 's/gi...

Details

Author
FlorianBruniaux
Repository
FlorianBruniaux/claude-code-ultimate-guide
Created
5 months ago
Last Updated
today
Language
Python
License
CC-BY-SA-4.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category