Trill

Introduction

Trill is a CI and workflow automation system. Define workflows in YAML, run them locally for fast iteration, or submit them to trill.build where runner agents pick up jobs and a web dashboard shows live progress.

trill run workflow.yaml

Why Trill?

CI feedback loops are slow. You push, wait for a runner, read logs in a web UI, fix a typo, push again. Local development and production execution feel like different worlds.

Trill uses the same workflow format everywhere. Run it on your laptop with a terminal UI, or submit it to trill.build and watch it in the web dashboard. The format is familiar if you’ve used GitHub Actions or GitLab CI — jobs, steps, dependencies — but the same YAML works locally and in the hosted service without translation.

What It Does

Two Modes

Local mode — Run workflows directly on your machine. The TUI shows live progress and you interact with approval gates in the terminal. No infrastructure needed, no account needed. This is the fastest way to develop and test workflows.

trill run workflow.yaml

Hosted — Submit workflows to trill.build with a personal access token, or run a runner agent on your own hardware that claims jobs and reports results back. A web dashboard shows live progress, approval forms, and full run history.

# Run a local agent that picks up jobs from trill.build
trill agent --server https://app.trill.build --token trl_<runner-token>

The same trill binary works in both modes — as a local runner and as a remote agent.

Design Principles

Familiar format. Workflows are YAML with jobs, steps, and dependencies. No SDK, no framework, no language lock-in. If you’ve written a GitHub Actions or GitLab CI config, you already know the structure.

Local-first development. Local execution is how you develop and iterate on workflows — fast feedback, no infrastructure. Your workflow runs on your machine with the same behavior it has on the hosted service.

Incrementally powerful. Start with jobs and steps. Add data flow when you need it. Add approval gates for deployment safety. Add wait steps for external coordination. Add dynamic extension for discovered work. You never hit a wall where you need a different system.

Next Steps