Open Source
Declare the what.

Declare the what.
scampi handles the how.
IaC convergence, garlic buttery smooth

module main
import "std"
import "std/local"
import "std/posix"
let machine = local.target { name = "my-machine" }
std.deploy(name = "hello", targets = [machine]) {
posix.dir { path = "/tmp/scampi-demo", perm = "0755" }
posix.dir { path = "/tmp/scampi-demo/v1", perm = "0755" }
posix.symlink {
target = "/tmp/scampi-demo/v1"
link = "/tmp/scampi-demo/current"
}
}Declarative
Describe the desired state of your systems. scampi figures out what needs to change.
Idempotent
Every operation checks before it acts. Run it once or a hundred times — same result.
Agentless
No daemons, no agents, no control plane. Just SSH and the binary.
Statically Typed
A real configuration language with types, attributes, and link-time validation. Errors caught as you type.
Batteries Included
Built-in steps for packages, files, templates, services, and more. No plugins to install.
Fail-Fast
Errors are caught early with clear messages that guide you to the fix. No silent failures.
Testable
Built-in test framework with mock targets. Test your infra code in milliseconds, no containers needed.