Skip to main content

Getting Started

The easiest way to get started with Aspect Workflows is our CLI.

First install it following the install instructions.

Next, run aspect init.

This creates configuration files in the right spots with some initial content. Now you can run commands like aspect build :all or aspect run format.

Finally, create BUILD files that reflect your source code and dependency graph. In many cases the bulk of this work can be automated. For some languages, you can use aspect configure.

tip

We love to help beginners to have a working first-time user experience. Join Bazel Slack and join us in the #aspect-dev channel.

Next steps

Tutorials and training

Aspect offers a Bazel training course. We have both an instructor-led and self-led option.

You could start from a self-study tutorial specific for the language you use. As of December 2022, you'll find tutorials at https://bazel.build/start under "First build guides" for C++, Java, Android, and iOS, though the content is dated. A tutorial for Go is now available on the Rules Authors SIG site: https://bazel-contrib.github.io/SIG-rules-authors/

Yet another great option for those people with a "learn-by-doing" personality is to find an open-source project that uses Bazel, and learn from it. Try to build their project, make changes, and experiment to see how things are wired together. If you send useful pull requests, you may be able to gain some knowledge from the project maintainers.

If you like to "learn-by-watching", we've chatted with the person behind https://www.youtube.com/c/KrisFoster1. Give his channel a try.

Finally, look through https://awesomebazel.com for other pointers that can get you started.

Bazel is difficult, but it's worth it!

Bazel is a complex, sophisticated piece of software that grew up in Google's monorepo since 2008. Google's systems are designed to be used by experts without much regard for making them accessible to novices.

When you start working at Google, you get a training course on using Bazel, have many co-workers to gain knowledge from, and are able to escalate to the Bazel (they call it Blaze) team internally when you need to. You never have the experience of installing Bazel in a new codebase - that happened years ago.

Ultimately though, Googlers bring Bazel with them to their next job because they've had first-hand experience through personal observation of how the full developer stack can work. It's hard to express what this looks like.

So, getting started with Bazel is a daunting task, with a positive return later on. We are here to help!