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 icon

Interactive

Helpful prompts fix errors when running in an interactive terminal

Powerful icon

Powerful

Power your developer experience workflows

Customization icon

Customizable

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

Open source icon

Open source

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

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

Check icon

Stamp out new Bazel projects following your local conventions

Check icon

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

Check icon

Point error messages to your internal documentation

Check icon

Understand where your developers get stuck and provide help

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 icon

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

Options icon

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

List icon

List common subcommands or expressions

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.

Open source and no lock-in

Aspect CLI is free to use

Check icon

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

Check icon

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

Check icon

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

Check icon

It is open-source and free to use

Aspect support

Interactive, human-escalated support for Bazel problems

support collects recent Bazel invocations and relevant log files, then posts a message to a Slack channel on behalf of the user with a problem report that makes it easier for responders to understand the context and reproduce the problem

Aspect docs

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

User Manuals

The commands are documented under aspect

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 by asking for help directly within their terminal session.