Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .codespellignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ arent
helo
hda
fpr
iterm
2 changes: 1 addition & 1 deletion .lychee.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ exclude = [
# Be patient with rate-limited domains.
exclude_link_local = true
exclude_loopback = true
exclude_mail = true
include_mail = false
exclude_path = [
"site/",
"target/",
Expand Down
9 changes: 1 addition & 8 deletions .vale.ini
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,10 @@ MinAlertLevel = suggestion
md = md

[*.md]
BasedOnStyles = Vale, write-good
BasedOnStyles = Vale

# Tone these down — they're noisy in technical docs.
Vale.Spelling = NO
write-good.E-Prime = NO
write-good.TooWordy = NO
write-good.So = NO
write-good.Weasel = warning
write-good.Passive = NO
write-good.Illusions = warning
write-good.ThereIs = warning

# Skip auto-generated and template content.
[docs/cli-reference.md]
Expand Down
2 changes: 1 addition & 1 deletion docs/release-quirks-jarvy.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ Consequences:
`VERSION_PLACEHOLDER` / `SHA256_PLACEHOLDER_*` strings from initial
setup on 2026-01-18.
3. `brew install jarvy` (or `brew install bearbinary/tap/jarvy`)
currently fails — the formula is unparseable and references
currently fails — the formula is unparsable and references
non-existent URLs.

Until the pipeline is rebuilt, Homebrew is **not a viable distribution
Expand Down
5 changes: 3 additions & 2 deletions docs/tools-registry.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Tool registry (auto-generated) — Jarvy"
description: "Every tool Jarvy knows how to install — 204 entries spanning runtimes, build tools, cloud SDKs, container tools, security scanners, and editors."
description: "Every tool Jarvy knows how to install — 205 entries spanning runtimes, build tools, cloud SDKs, container tools, security scanners, and editors."
tags:
- reference
- tools
Expand All @@ -12,7 +12,7 @@ tags:
This page is generated from `jarvy tools --index` by `scripts/gen-docs.sh`.
Run that script after registering new tools.

Jarvy currently ships **204 tools**. Reference one in your `jarvy.toml` by its **name**.
Jarvy currently ships **205 tools**. Reference one in your `jarvy.toml` by its **name**.

| Name | Command | macOS | Linux | Windows | Default hook | Depends on |
|---|---|---|---|---|---|---|
Expand Down Expand Up @@ -204,6 +204,7 @@ Jarvy currently ships **204 tools**. Reference one in your `jarvy.toml` by its *
| `trufflehog` | `trufflehog` | `brew: trufflehog` | — | — | | — |
| `up` | `up` | `brew: upbound/tap/up` | — | — | | — |
| `usql` | `usql` | `brew: usql` | — | `choco: usql` | | — |
| `uv` | `uv` | `brew: uv` | apk: `uv` | `winget: astral-sh.uv` | | — |
| `vagrant` | `vagrant` | `cask: vagrant` | apt: `vagrant`<br>dnf: `vagrant`<br>pacman: `vagrant`<br>apk: `vagrant` | `winget: Hashicorp.Vagrant`<br>`choco: vagrant` | | — |
| `vault` | `vault` | `brew: vault` | apt: `vault`<br>dnf: `vault`<br>pacman: `vault`<br>apk: `vault` | `winget: HashiCorp.Vault` | | — |
| `vfox` | `vfox` | `brew: vfox` | — | `winget: vfox` | | — |
Expand Down
1 change: 1 addition & 0 deletions src/tools/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ pub mod trufflehog;
pub mod unsupported;
pub mod up;
pub mod usql;
pub mod uv;
pub mod vagrant;
pub mod vault;
pub mod version;
Expand Down
27 changes: 27 additions & 0 deletions src/tools/uv/definition.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
//! uv - extremely fast Python package and project manager
//!
//! Astral's all-in-one Python toolchain: a drop-in replacement for `pip`,
//! `pip-tools`, `pipx`, `poetry`, `pyenv`, and `virtualenv`.
//!
//! This tool uses the ToolSpec pattern for declarative installation.

use crate::define_tool;

define_tool!(UV, {
command: "uv",
macos: { brew: "uv" },
linux: { brew: "uv", apk: "uv" },
windows: { winget: "astral-sh.uv" },
bsd: { pkg: "uv" },
});

#[cfg(test)]
mod tests {
use super::*;

#[test]
fn ensure_uv_no_panic() {
let res = ensure("");
assert!(res.is_ok() || res.is_err());
}
}
3 changes: 3 additions & 0 deletions src/tools/uv/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mod definition;
#[allow(unused_imports)]
pub use definition::*;
Loading