# 使用 Homebrew 安装 attempt-cli

查看 attempt-cli 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:attempt-cli
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install attempt-cli
```

  证据: local Homebrew formula metadata

## 软件包事实

- **软件包键:** brew:attempt-cli
- **软件包管理器:** Homebrew
- **版本:** 1.1.1
- **来源摘要:** CLI for retrying fallible commands
- **主页:** <https://github.com/MaxBondABE/attempt>
- **仓库:** <https://github.com/MaxBondABE/attempt>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- attempt (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 1.1.1
## 项目历史与用法

attempt is a small Rust command-line tool for retrying fallible commands with delays, retry policies, jitter, timeouts, and backoff strategies.

### 项目历史

The official README presents attempt as a focused CLI for retrying commands that may fail temporarily. The Cargo metadata names the crate attempt-cli, exposes the binary as `attempt`, uses the 2021 Rust edition, and describes the project as public-domain software under the Unlicense.

The public release history is short: GitHub releases show v1.0.1 and v1.1.0 in September 2025, followed by v1.1.1 in January 2026. That makes it a relatively young tool compared with the older Unix packages in this batch.

### 采用历史

The README documents installation through Cargo and Homebrew, placing attempt in the modern Rust CLI distribution pattern: publish a crate for Rust users and a Homebrew formula for macOS package-manager users.

Its adoption story is use-case-led rather than ecosystem-led. The manual explicitly compares one case to wait-for-it.sh: waiting for services in docker-compose-like environments when the user is not restricted to Bash. It also targets robust scripts that call temporarily unavailable services.

### 使用方式

The basic invocation is `attempt [BACKOFF] [OPTIONS] [COMMAND]...`. Official examples retry database migrations when output contains `server not ready`, use exponential backoff, change attempt counts, add jitter, and separate attempt arguments from child-command arguments with `--`.

The manual explains the mental model: classify failures with retry policy, choose a backoff schedule, set a retry limit, and optionally use exponential backoff to start aggressively while backing off during persistent outages.

### 为什么软件包爱好者会关心

attempt is package-nerd interesting because it turns a shell pattern into a dedicated binary. Instead of every script growing its own retry loop, timeout handling, jitter, and output predicate checks, the package offers a small auditable command.

It is also a tidy example of a Rust CLI whose package name and binary name differ: Homebrew packages attempt-cli, Cargo installs attempt-cli, but users run `attempt`.

### 时间线

- 2025-09: GitHub release v1.0.1 published.
- 2025-09: GitHub release v1.1.0 published.
- 2026-01: GitHub release v1.1.1 published.

### Related projects

- Related tools and patterns include wait-for-it.sh, retry loops in shell scripts, exponential-backoff libraries, timeout wrappers, and orchestration readiness checks in Docker Compose or CI scripts.

### 来源

- Official Cargo.toml.
- Official GitHub releases API.
- Official README.
- Official mdBook manual intro and usage pages.


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/attempt-cli.yml](https://github.com/mxcl/pkgdb/blob/main/combined/attempt-cli.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
