Welcome to Starkite¶
Starkite is a runtime for automating systems and infrastructure with scripts written in Starlark — a small, deterministic dialect of Python created for Bazel. It targets the jobs that otherwise turn into fragile shell scripts or over-privileged Python: deploying to Kubernetes, running commands over SSH, calling HTTP APIs, or giving an AI agent a controlled set of actions.
Why Starlark?¶
Starlark will look familiar — it reads like Python, so if you already know Python you can read a Starkite script on sight. The difference is what it leaves out: no while loops, no recursion, no classes, and no mutable global state. Those constraints are what let a script run the same way every time, which is also what makes it safe to run code you didn't write yourself.
See Language for the full picture, or the Starlark spec for the language definition.
Next Steps¶
Install the runtime and write your first script. When you want to understand how the pieces fit together, the fundamentals come next.
-
Install
Build from source, pull a release, or run the container image.
-
First script
Write and run your first Starkite script.
-
Fundamentals
Language, modules, configuration, security, testing, editions.
-
Core modules
System, logging, files, JSON/YAML, SSH, HTTP.
-
Infrastructure
Automate Kubernetes clusters: deploy resources, write controllers, and handle admission webhooks.
-
AI Support
Build multi-turn agents, tool-calling loops, and MCP servers.
-
References
CLI and API catalogs.