Preview page — available only after preview mode is enabled. The runner and local console work today; the hosted console route is not enabled during the preview.
Preview

CI

Builds without the CI appliance. One small Rust runner starts a normal just recipe, streams its output, limits how long it waits for the launched process, and trusts the exit code.

Host-native on the validated macOS and Linux setups; optional containers where a job needs one. The repository plan expects fish and Unix command-line tools.

  Open the console UI

Local preview: inject private UUID-valued CI_WORKSPACE_ID and CI_WORKSPACE_SECRET through your secret manager or service environment, run just ci-serve, and serve site-kit on localhost. The hosted API route is pending.

The plan is a justfile

Each recipe is a job. The recipe owns the build steps and assertions; CI owns only process launch, a wall-clock wait budget, triggers, scheduling, and result recording. A job passes when the recipe exits 0 and fails when it does not.

# ci/justfile site-kit: cargo test -p site-kit cd site-kit; and just test-wasm

There is no second pipeline DSL to keep synchronized with the commands developers already run.

Native first

Run directly on macOS or Linux with fish, just, and the job’s toolchain.

Containers are optional

Choose a container image only for jobs that need it; host-native jobs stay simple.

Git-aware triggers

Path rules select affected jobs. The watcher polls the remote and evaluates accumulated changes at the newest pushed head.

Built-in scheduler

Fixed-interval jobs run without adding cron or launchd configuration on the supported hosts.

Local build evidence

By default, completed runs append result, commit, duration, OS, and exit code as JSONL; telemetry can be disabled.

Browser stays read-only

The preview console can list jobs and completed builds; it cannot run, retry, cancel, deploy, or read secrets.

Six commands cover the engine and console

ci run site-kit --timeout 2100 ci on-change --since HEAD~1 ci watch --remote origin --branch main ci schedule ci list # read-only console API, loopback by default ci serve
CommandOne responsibility
runExecute one recipe and preserve its exit result.
on-changeMap changed paths to the jobs that need a verdict.
watchPoll Git and evaluate accumulated changes at the newest pushed revision.
scheduleFire interval jobs from a small text configuration.
listList the public jobs declared by the justfile.
serveExpose one private-workspace-gated JSON snapshot for the preview console.

A measured bake-off, not a parity claim

CI is in a measured bake-off. It runs the same repository jobs independently, while the established CI stays the reference system. Results are paired by commit and job; a local false pass is a blocker. No cutover decision is scheduled before 11 January 2027.

The current console shows completed local build metadata only. Queue state, live logs, artifacts, remote build controls, multiple tenants, and distributed runners are not part of this preview. The small surface is intentional and the page does not claim otherwise.

Support the preview

This private preview is not a public download or self-serve licence — repository operators run the engine and console locally. If it earns its keep, chip in to help us keep building it.

  View console UI   Support indie, corporate-free software!   Buy me a coffee!