KiCI

Testing CI pipelines locally

Traditional CI only runs when you push — so debugging a pipeline means commit, push, wait, repeat. KiCI lets you run a full workflow from your working tree, locally or against the real remote pipeline, before you ever commit.

KiCI Push-to-run CI
Run a pipeline before pushing
kici run --local and kici run remote run a full workflow from your current codebase — including unstaged changes — locally or against the real remote pipeline
Pipelines run only when a repository event triggers them — you commit, push, and wait for the run (for example GitHub Actions)
Generating jobs at runtime
A dynamicJob generator emits typed job definitions in TypeScript, fanning out one job per item an upstream job discovers
Dynamic behavior is usually matrix-bound (for example GitHub Actions builds a matrix from a prior job’s JSON output via fromJSON)
Get started with KiCI See all comparisons