Starlark Resources
Starlark Resources
Section titled “Starlark Resources”Curated resources for learning and working with Starlark.
Official Resources
Section titled “Official Resources” starlark-lang.org Unofficial community site with playground
Language Specification Official Starlark language spec
Bazel Starlark Guide Starlark in the context of Bazel
Implementations
Section titled “Implementations”| Implementation | Language | Maintainer |
|---|---|---|
| starlark-go | Go | |
| starlark-rust | Rust | Meta |
| starlark (Java) | Java | Bazel team |
starlark-go-x is an experimental fork of starlark-go exploring additional features. The goal is to upstream improvements, not fragment the ecosystem.
Developer Tools
Section titled “Developer Tools”Formatters & Linters
Section titled “Formatters & Linters”| Tool | Description |
|---|---|
| Sky | Full toolkit: lint, format, test, coverage |
| Buildifier | Official formatter for BUILD files |
| Starpls | Language server for IDE support |
Documentation
Section titled “Documentation”| Tool | Description |
|---|---|
| skydoc (Sky) | Documentation generator |
| Stardoc | Bazel’s documentation generator |
Testing
Section titled “Testing”| Tool | Description |
|---|---|
| skytest (Sky) | Test runner with assertions and coverage |
| unittest.bzl | Bazel Skylib testing utilities |
Libraries
Section titled “Libraries”Go Extensions
Section titled “Go Extensions”| Library | Description |
|---|---|
| Starlib | Standard library extensions |
| Starlet | Wrapper with module system |
| starlark-go-nethttp | HTTP utilities |
| starlark-re | Regular expressions |
Configuration Tools
Section titled “Configuration Tools”| Tool | Description |
|---|---|
| Skycfg | Type-safe Protobuf configuration (Stripe) - Deep Dive |
| ytt | Structural YAML templating (Carvel/VMware) - Deep Dive |
Learning Resources
Section titled “Learning Resources”Tutorials
Section titled “Tutorials”- Starlark Language Overview - Laurent Le Brun (2024)
- A practical introduction to Starlark - Laurent Le Brun (2024)
- Embedding Starlark in Go - Vladimir Vivien (2023)
- The Starlark Configuration Language - Alan Donovan, GothamGo 2017
Playgrounds
Section titled “Playgrounds”- Starlark Playground - Browser-based REPL
- skyrepl (Sky) - Local interactive REPL
Community
Section titled “Community”- awesome-starlark - Curated resource list
- Bazel Slack -
#starlarkchannel - r/bazel - Reddit community
Projects Using Starlark
Section titled “Projects Using Starlark”| Project | Use Case |
|---|---|
| Bazel | Build system |
| Buck2 | Build system |
| Tilt | Kubernetes development |
| Skycfg | Protobuf configuration (Stripe) |
| Drone CI | CI/CD pipelines |
| Kurtosis | Dev environments |
| Copybara | Code transformation |
| Isopod | Kubernetes config |