We also provide Bazel “rules” to integrate tightly with language ecosystems
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
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'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.
Given a selected topic, open the relevant API docs in a browser window
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
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
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.