We also provide Bazel “rules” to integrate tightly with language ecosystems
Helpful prompts fix errors when running in an interactive terminal
Power your developer experience workflows
Fit Bazel into your team’s development process, with custom commands, behaviors, and integrations
Free for use by individuals, non-profits, and small businesses
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
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
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
Offer to apply fixes to your source code that a compiler suggested
Suggest better usage, like using bazel cquery in place of bazel query or avoiding bazel clean
List common subcommands or expressions
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’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.
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
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
Given a selected topic, open the relevant API docs in a browser window
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.