Skip to content

Commit 3ed6053

Browse files
committed
fixup! refactor: reuse hook call logic (#780)
1 parent 7220b77 commit 3ed6053

File tree

1 file changed

+82
-2
lines changed

1 file changed

+82
-2
lines changed

README.md

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,83 @@
1-
# Aspect CLI
1+
The `aspect` CLI is a drop-in replacement for the `bazel` CLI that comes with Bazel.
22

3-
The [Aspect CLI](https://github.com/aspect-build/aspect-cli) is a drop-in replacement for the `bazel` CLI that comes with Bazel.
3+
# Why Aspect CLI
4+
5+
Every organization has a different engineering culture and developer stack.
6+
Bazel was designed for Google's workflows, not yours.
7+
Many companies have found they have to write a wrapper around Bazel.
8+
This starts out as a small need to shim something in the developer workflow, and is often an
9+
untested Bash script living in `/tools/bazel` which Bazelisk understands as a wrapper script.
10+
11+
Over time, the wrapper accumulates more code, and is a constant source of developer distress.
12+
13+
See more on our product webpage: <https://aspect.build/cli>
14+
15+
# Installation
16+
17+
## Homebrew (MacOS)
18+
19+
On MacOS, you can run
20+
21+
```sh
22+
% brew install aspect-build/aspect/aspect
23+
```
24+
25+
This installs the `aspect` command and also links it to `bazel`, just like the [bazelisk] installer does.
26+
27+
> We plan to have a standard "core" homebrew formula so this will just be `brew install aspect` in the future.
28+
29+
## Bazelisk (MacOS / Linux / Windows)
30+
31+
On any platform, so long as you already have [bazelisk] installed, you can have [bazelisk]
32+
install the Aspect CLI just like it can install the standard Bazel CLI.
33+
Add this to your `.bazeliskrc` in your project folder to install Aspect for all developers:
34+
35+
From the release you wish to use: https://github.com/aspect-build/aspect-cli/releases copy the `.bazeliskrc` snippet
36+
into your `.bazeliskrc` file to install Aspect for all developers in this repository.
37+
38+
Note that in all cases, the `.bazelversion` file continues to indicate which version of the
39+
Bazel tool is fetched and run beneath the wrapper.
40+
41+
## Manual (MacOS / Linux / Windows)
42+
43+
On any platform, you can download the `aspect` binary for your platform on our
44+
[Releases](https://github.com/aspect-build/aspect-cli/releases) page and add it to your `PATH` manually.
45+
46+
Note, if you manually install for MacOS, you can bypass the "Unknown Developer" dialog by running
47+
`xattr -c $(which aspect)` before launching `aspect`.
48+
49+
# Usage
50+
51+
Just run `aspect help` to see the available commands.
52+
Some are the standard ones you know from Bazel, and others are new, such as `print` and `docs`.
53+
54+
## Write a plugin
55+
56+
Aspect's plugin system allows you to fit Bazel into your team's development process,
57+
with custom commands, behaviors, and integrations.
58+
59+
A plugin is any program (written in any language) that serves our gRPC protocol.
60+
The easiest way to get started is to clone our
61+
[starter template repo](https://github.com/aspect-build/aspect-cli-plugin-template).
62+
63+
See the [Plugin Documentation](./docs/help/topics/plugins.md) for more information on how to write a plugin.
64+
65+
# Need help or having issues?
66+
67+
If you think you've hit a bug please file a [Bug Report](https://github.com/aspect-build/aspect-cli/issues/new/choose).
68+
69+
You can also find us on [Bazel Slack](https://slack.bazel.build/) on the #aspect-dev channel.
70+
71+
# For Enterprise
72+
73+
`aspect` is sponsored by Aspect Development, a Bazel consulting company.
74+
If your organization needs more help to make your Bazel migration a success,
75+
come find us at [aspect.dev](https://aspect.dev)
76+
77+
We also offer a Professional edition of the Aspect CLI.
78+
This adds features that big codebases rely on, like BUILD file generation.
79+
See our website at <http://aspect.build> to learn more about our offerings.
80+
81+
[bazel]: http://bazel.build
82+
[github releases]: https://github.com/aspect-dev/aspect-cli/releases
83+
[bazelisk]: https://github.com/bazelbuild/bazelisk

0 commit comments

Comments
 (0)