the problem
CI is the slowest part of your day.
-
debug-by-commit is a tax.
Ten-minute feedback loops on YAML typos aren't a workflow.
sci runruns the pipeline locally in seconds. -
yaml is not a language.
simci pipelines are Python or Scheme. Import, share, unit-test them like any other code.
-
agents need tight loops.
Claude Code, Cursor, Devin — they iterate faster than any CI queue. simci closes the loop.
how it works
Write. Run. Ship.
-
01
write a pipeline.
from simci import pipeline, step @pipeline def ci(): step.run("cargo test", label="test") step.run("cargo clippy", label="lint") step.run("cargo build --release", label="build") -
02
run it locally.
$ sci run ✓ test 2.3s ✓ lint 0.8s ✓ build 4.1s passed in 7.2s -
03
commit when green.
The same pipeline runs in cloud simci on push. Same binary, same DSL, same JSON plan.
the agent angle
Agents can't wait for GitHub Actions.
Every git push to test a pipeline is a tax on the agent's reasoning loop. simci removes the tax.
- no commit spam. agents iterate on pipelines the way they iterate on code.
- no burned minutes. failed iterations are free.
- any shell-capable agent works. no mcp server required.
- structured output.
--format=jsonis machine-readable.
compare
The short version.
| simci | gh actions | buildkite | |
|---|---|---|---|
| local working tree | yes | no | no |
| pipeline language | python / scheme | yaml | yaml |
| headless rest api | yes | no | partial |
| json output | yes | no | no |
| self-hostable | yes | no | yes |
semantics from buildkite — wait, block, input, trigger, group.