Hey DEV! I’m Brendan, one of the creators of Cicada (cicada.build). Cicada lets you write CI/CD pipelines in TypeScript and test them locally.
We built Cicada because of our own struggles building CI/CD pipelines. YAML is cumbersome, not type-safe, and does not scale well for large pipelines. Sharing logic across pipelines is hard and most providers don’t let you test your pipelines locally.
Cicada lets you
- write your pipelines in a real programming language. Using TypeScript gives you type-checking, syntax highlighting, and in-line documentation out of the box. It also lets you extend your pipelines by hooking into the entire TypeScript ecosystem of packages and modules.
- test your pipelines locally. All jobs are run in containers. This means you can test them with Docker/Podman. It also means you get great caching.
- run your pipelines on our cloud. Pipelines are checked into your repository and run when triggered by an event in your repository (like a commit/PR), when triggered manually, or at a defined schedule.
We use Deno to create pipeline definitions, Docker Buildkit as our build engine, and Fly  for our cloud hosting. Our CLI is written in Rust for speed and stability. The hardest technical challenge we faced was writing BuildKit bindings for rust .
Cicada’s client is fully MIT OSS (the CLI, BuildKit integration, and SDK) . Our dashboard and cloud runners are closed source. The cloud runners have a generous free tier for individuals and are cheap and easy for teams.
In the meantime, I’d love to hear your feedback on what we’ve built!