Aspect CLI is a drop-in replacement for the Bazel CLI that comes with Bazel

We also provide Bazel “rules” to integrate tightly with language ecosystems

Interactive

Interactive

Helpful prompts fix errors when running in an interactive terminal

Powerful

Powerful

Power your developer experience workflows

Customization

Customizable

Fit Bazel into your team’s development process, with custom commands, behaviors, and integrations

Open source

Open source

Free for use by individuals, non-profits, and small businesses

Interactive

When running in an interactive terminal, aspect gives helpful prompts to fix mistakes in how you run the tool, your Bazel configuration, or your code.

In this example, the Bazel configuration didn’t allow a dependency because the visibility attribute needed adjustment, so the user is prompted if they’d like the source files edited.

When run outside an interactive terminal, such as on CI, the prompts are instead printed for developers to copy-paste to their machine.

Some other examples of interactivity

Code

Offer to apply fixes to your source code that a compiler suggested

Options

Suggest better usage, like using bazel cquery in place of bazel query or avoiding bazel clean

List

List common subcommands or expressions

Open source and no lock-in

Aspect CLI is free to use

You can rely on aspect to power your developer experience workflows.

It is a superset of what Bazel provides, so you can always go back to running bazel commands.

In fact, it includes bazelisk which is the recommended version manager from the Bazel team.

It is open-source and free to use

Bazel help

Bazel's built-in help feature isn’t very helpful. It prints pages of obscure flags, even with --short. The help it does provide is minimal, not even linking to the documentation.

Aspect help

Aspect’s help command groups commands, so it’s easier to find the one you want. It has better usage info, with links to documentation and examples of use, and significantly improved technical content.

Aspect docs

Given a selected topic, open the relevant API docs in a browser window

Installation

To install the Aspect CLI, run:

brew install aspect-build/aspect/aspect

Aspect install

Customize Bazel for your organization

Every organization has a different engineering culture and developer stack. Bazel was designed for Google’s workflows, not yours. Aspect’s plugin system allows you to fit Bazel into your team’s development process, with custom commands, behaviors, and integrations

In this example, the error message from a badly written genrule was confusing, so a plugin was written to provide more help

Aspect CLI Plugins

Your Developer Infrastructure team can write your own plugins using our SDK which execute directly from your repository. A vibrant ecosystem of plugins will grow which accelerates your Bazel migration

Stamp out new Bazel projects following your local conventions

Add commands for deploying, linting, rebasing, or other common developer workflows

Point error messages to your internal documentation

Understand where your developers get stuck and provide help

Expert help is a click away

Aspect Development, our professional services division, is here to help make your Bazel migration a success. Come find us at aspect.dev

Aspect CLI makes it easy for developers to diagnose their broken build with helpful commands and links to documentation.