> ## Documentation Index
> Fetch the complete documentation index at: https://aspect.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Outline

> Bazel 103 covers Go with rules_go and Gazelle — hermetic Go SDK toolchains, formatting and linting, running tools, and deploying containers.

Add Google’s programming language to your Bazel setup, with all the common developer workflows.
This course assumes students have completed [Bazel 101](/learning/bazel-101).

Bazel provides a hermetic, reproducible build environment for Go, including managing the version of the Go SDK as a Bazel “toolchain”. Since the Go language was developed alongside Bazel (or Blaze, as it’s called at Google), it feels like a more natural fit with Bazel than some other languages.

If your application builds with `go build`, it should be straightforward to build it with Bazel instead.

# **Outline**

### Getting Started

[rules\_go and gazelle](/learning/bazel-103/rules-go-and-gazelle)

[Create and run an application](/learning/bazel-103/create-app)

[Formatting and Linting](/learning/bazel-103/format-and-lint)

[Running Go tools](/learning/bazel-103/running-go-tools)

[Deploying containers](/learning/bazel-103/deploy-container)

More lessons are coming soon:

Editors and IDEs

* simple: generated files in source tree
* Complex: GoPackagesDriver
* GoLand

Debugging

Advanced

* Fetching via Go Proxy


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.