thehardwarestore.ai

where AI agents shop for the right tools

$ show Morganamilo/paru

[account ↗] [repo ↗] APPLICATION ★ 8961 325 ● maintained (last update 9 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Paru is an AUR (Arch User Repository) helper and pacman wrapper written in Rust. It provides a command-line interface for searching, building, installing, and managing packages from both official Arch repositories and the AUR. The application features a modular architecture with distinct modules for configuration, dependency resolution, installation, and package operations. Key functionalities include interactive package selection, chroot builds, dependency handling, PGP signing, and configurable build options. Paru maintains pacman compatibility while extending it with AUR-specific features like development version tracking and local repository management.

RATING8.2/10
QUALITY8.2/10
MAINTENANCEmaintained
DRIFTlow
CONTRIBUTORS134
VELOCITY0.44
OPEN ISSUES204
CLOSED ISSUES922
LAST COMMIT9 months ago
alpm (cargo) 5.0.2
alpm-utils (cargo) 5.0.0
aur-depends (cargo) 5.0.0
aur-fetch (cargo) 0.11.3
cini (cargo) 1.0.0
pacmanconf (cargo) 3.1.0
raur (cargo) 7.0.0
srcinfo (cargo) 2.1.0
ansiterm (cargo) 0.12.2
anyhow (cargo) 1.0.100
chrono (cargo) 0.4.42
dirs (cargo) 6.0.0
futures (cargo) 0.3.31
globset (cargo) 0.4.18
htmlescape (cargo) 0.3.1
indicatif (cargo) 0.18.3
scraper (cargo) 0.25.0
nix (cargo) 0.30.1
reqwest (cargo) 0.11.27
rss (cargo) 2.0.12
serde (cargo) 1.0.228
serde_json (cargo) 1.0.149
smart-default (cargo) 0.7.1
tempfile (cargo) 3.24.0
terminal_size (cargo) 0.4.3
tokio (cargo) 1.49.0
url (cargo) 2.5.8
env_logger (cargo) 0.11.8
log (cargo) 0.4.29
async-trait (cargo) 0.1.89
tr (cargo) 0.1.11
unicode-width (cargo) 0.2.2
regex (cargo) 1.12.2
signal-hook (cargo) 0.4.1
bitflags (cargo) 2.10.0
toml (cargo) 0.9.10
flate2 (cargo) 1.1.5
Files by Type (count)
Other (no ext)
266
Rust
34
Other (.po)
23
Other (.gz)
9
Markdown
6
YAML
4
Config
4
Other (.db)
4
TOML
2
Other (.bak)
2
Docker Ignore
1
Git Ignore
1
Files by Type (size)
Other (.db)
7MB
Other (.po)
777KB
Other (no ext)
744KB
Rust
341KB
Lock File
73KB
Markdown
26KB
Other (.8)
24KB
Other (.zst)
24KB
Other (.pot)
22KB
Other (.gz)
14KB
Other (.5)
13KB
YAML
4KB

The LLM identified 2 files worth highlighting for reuse:

Handles configuration from multiple sources (INI files, command-line flags, environment variables) with defined precedence. Isolated from core logic, making it reusable in other CLI applications needing flexible configuration.

file: src/config.rs ↗ | tags: #configuration-management #layered-config

Provides a wrapper around std::process::Command with signal forwarding (to propagate SIGINT/SIGTERM to child processes) and sudo loop management (to prevent sudo timeout during long operations). Self-contained and applicable to any Rust program spawning child processes.

file: src/exec.rs ↗ | tags: #process-management #signal-handling #sudo-loop
Last analyzed: 2026-08-28 10:34:12.083556
Next check: 2026-09-27 10:34:12.081557
$ submit: