Help us improve
Share bugs, ideas, or general feedback.
From devx
Runs a local CI pipeline (fmt, lint, test, build) with configurable, auto-detected stages for Rust and Python projects. Reports timing and failures before pushing.
npx claudepluginhub ohdearquant/lionagi --plugin devxHow this skill is triggered — by the user, by Claude, or both
Slash command
/devx:ciThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run local CI pipeline. Catch failures before they hit remote CI.
This skill should be used when the user says "set up CI", "create GitHub Actions", "scaffold CI pipeline", "add CI/CD", "configure continuous integration", "create test workflow", "create release workflow", "add pre-commit hooks", "set up linting pipeline", "configure ruff in CI", "configure biome in CI", "add typo checking", or wants to add, update, or customize CI/CD pipelines for their project. For initial project setup including basic CI, see init-project. Use ci-scaffolding for adding or customizing CI/CD in existing projects.
Build a full CI/CD pipeline from scratch. Use when asked to "set up CI/CD", "create pipeline", or "automate deploys".
Generates complete GitHub Actions CI/CD pipelines from project analysis, including lint, test, build, and deploy stages for Node.js, Python, Go, Rust, Java stacks. Use for setting up CI/CD or automating deploys.
Share bugs, ideas, or general feedback.
Run local CI pipeline. Catch failures before they hit remote CI.
Check .khive/ci.toml:
# .khive/ci.toml (optional — auto-detect if missing)
# Pipeline stages run in order. Fail-fast by default.
fail_fast = true
[[stages]]
name = "fmt"
cmd = "cargo fmt --check"
stack = "rust"
[[stages]]
name = "lint"
cmd = "cargo clippy --workspace -- -D warnings"
stack = "rust"
[[stages]]
name = "test"
cmd = "cargo test --workspace"
stack = "rust"
timeout = 300 # seconds
[[stages]]
name = "build"
cmd = "cargo build --release"
stack = "rust"
optional = true # Don't fail pipeline if this fails
# Python stages
[[stages]]
name = "py-fmt"
cmd = "uv run ruff format --check ."
stack = "python"
[[stages]]
name = "py-lint"
cmd = "uv run ruff check ."
stack = "python"
[[stages]]
name = "py-test"
cmd = "uv run pytest"
stack = "python"
If no config, build pipeline from project structure:
Rust project (Cargo.toml):
cargo fmt --checkcargo clippy --workspace -- -D warningscargo test --workspacePython project (pyproject.toml):
uv run ruff format --check .uv run ruff check .uv run pytestMixed project: Run all detected stacks.
Run each stage sequentially. For each stage:
[1/4] fmt ............ ✓ (0.3s)
[2/4] lint ........... ✓ (12.1s)
[3/4] test ........... ✓ (45.2s)
[4/4] build .......... ✓ (120.5s)
fail_fast = true (default): stop on first failurefail_fast = false: run all stages, report all failuresoptional = true: report failure but continueCI Pipeline: 4/4 passed ✓
fmt: ✓ (0.3s)
lint: ✓ (12.1s)
test: ✓ (45.2s)
build: ✓ (120.5s)
Total: 178.1s
On failure:
CI Pipeline: FAILED at stage 2/4
fmt: ✓ (0.3s)
lint: ✗ FAILED (12.1s)
error: unused variable `x` in src/main.rs:42
test: — skipped (fail_fast)
build: — skipped (fail_fast)
python or pip — always uv run