Skip to content

Introduction

Sky is a comprehensive toolkit for Starlark development, providing linting, formatting, testing, coverage, and documentation tools.

Starlark is a configuration language originally designed for Bazel. It’s a dialect of Python, making it familiar to most developers while being deterministic and hermetic.

Linting

Catch bugs and enforce best practices with skylint

Formatting

Consistent code style with skyfmt

Testing

Test runner with assertions via skytest

Coverage

Code coverage collection with skycov

ToolDescription
skylintStarlark linter with configurable rules
skyfmtCode formatter for consistent style
skytestTest runner with built-in assertions
skycovCoverage reporter (text, JSON, Cobertura, LCOV)
skydocDocumentation generator
skycheckStatic analyzer
skyqueryQuery tool for Starlark codebases
skyreplInteractive REPL
Terminal window
# Install all tools
go install github.com/albertocavalcante/sky/cmd/...@latest
# Or install specific tools
go install github.com/albertocavalcante/sky/cmd/skylint@latest
go install github.com/albertocavalcante/sky/cmd/skytest@latest

Sky is powered by starlark-go-x, our enhanced fork of the official starlark-go interpreter with:

  • OnExec hook for coverage instrumentation
  • Type annotation parsing support

These features are being proposed upstream to the official google/starlark-go repository.