---
audience: engineers
summary: "ScaiCore is a small DSL and runtime for AI agent workflows \u2014 declarative\
  \ blocks, deterministic control flow, pluggable model and plugin backends."
title: Overview
path: overview
status: published
---

ScaiCore is a small domain-specific language and runtime for AI agent workflows. You describe a flow declaratively — blocks of work, their inputs and outputs, where a human approves, where the LLM gets a goal and constraints — and the runtime compiles, type-checks, and executes it against the model providers, plugins, and memory backends your host wires up.

## Who it's for

Engineers building agent-shaped products that need more than a chat loop and less than a hand-rolled orchestration framework. ScaiCore handles the deterministic parts of agent execution — control flow, budgets, checkpoints, lifecycle telemetry — so applications can stay focused on UI and integration. The flow source lives in `.scaicore` files; compilation produces a versioned IR bundle that the runtime loads and executes.

## What's in the box

- A compiler (`scaicore compile`) that lexes, parses, resolves, type-checks, builds an IR, and verifies invariants before emitting a portable bundle.
- A runtime (`CoreEngine`) that executes flows against host-provided backends and emits lifecycle telemetry as it runs.
- A language with rigid blocks (deterministic), flexible blocks (LLM-driven with a goal and shape), checkpoints (human approval), parallel and foreach blocks, budgets, and pattern matching.

## Where to go next

- [Quickstart](./quickstart) — zero to a running flow in five steps.
- [Reference: CLI](./reference/cli) — every `scaicore` subcommand and flag.
- [Troubleshooting: compile errors](./troubleshooting/compile-errors) — the E0xx codes and what they mean.
- [Changelog](./changelog) — versioned, user-visible changes.
