KiCI

TypeScript vs YAML for CI/CD

Most CI tools configure pipelines in YAML. KiCI uses real, typed TypeScript instead — so the same language, types, and editor tooling you use for your app also author, refactor, and validate your pipelines.

KiCI YAML-based CI
How pipelines are written
Real, typed TypeScript — loops, conditionals, functions, imports, and editor autocomplete
A YAML config file (for example GitLab CI/CD starts from a .gitlab-ci.yml file at the project root)
Values between steps & jobs
Step and job outputs are declared with Zod schemas, so values passed between jobs are typed and validated
Values move as plain strings (for example GitHub Actions outputs are Unicode strings, up to 1 MB)
Logic, testing & integration
Pipelines are real code with full language power — loops, conditionals, functions, async — so logic can be dynamic, integrate with any system, and be unit-tested or mocked with the same TypeScript tooling as your app
Reusable logic is packaged as YAML or JavaScript actions, not a general-purpose programming language (for example GitHub Actions composite actions)
Get started with KiCI See all comparisons