Skip to main content

Getting Started

The easiest way to get started with Aspect Workflows is by using the CLI. Install it by following the install instructions.

Next, run aspect init.

info

On initial run, this command downloads template files wherever you ran the command that the CLI uses on subsequent runs.

The command runs an interactive terminal interface that steps through creating a skeleton project, including initial content and a README.bazel.md that instructs your team how to operate a typical developer workflows, for example aspect build :all or aspect lint.

Continue by reading through that README, and remember to keep it updated as you evolve your workflow preferences.

Demo:

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.

To start from a self-study tutorial specific for the language you use, you'll find tutorials at https://bazel.build/start under "First build guides" for C++, Java, Go, Android, and iOS, though the content isn't all up to date.

Another great option for those 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 beginners.

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!