ATHA is a Rust safety and workflow layer for pacman on Arch Linux.
It is designed to improve package-operation safety, decision transparency, and operational auditability while seamlessly preserving native Arch Linux behavior.
ATHA is not a pacman replacement, nor is it a yay clone.
ATHA focuses on:
- Safer package workflows before execution.
- Clearer operational decisions and execution previews.
- Local history logging for post-operation auditing.
Daily package operations are often too opaque for routine use. ATHA addresses this by making package workflows explicit before execution, traceable afterward, and consistent across commands.
- Safety
- Execution simulation via
--dry-runmode. - Confirmation layer for all package-changing operations.
- Execution simulation via
- Transparency
- Decision analysis via
--planmode. - Source selection visibility (Official Repositories vs. AUR).
- Detailed transaction simulation (download sizes & dependencies) prior to installation.
- Decision analysis via
- Auditability
- Structured local history of all transactions.
- Timeline and summary views for system auditing.
- Action and status filtering.
| Feature | pacman |
yay |
ATHA |
|---|---|---|---|
| Workflow-level dry-run | ❌ | Limited | ✅ |
| Decision plan mode | ❌ | Limited | ✅ |
| Plan explanation layer | ❌ | ❌ | ✅ |
| Install transaction simulation | ❌ | ❌ | ✅ |
| Local operation timeline | ❌ | ❌ | ✅ |
| History summary & filters | ❌ | ❌ | ✅ |
| Built-in environment doctor | ❌ | ❌ | ✅ |
- Arch Linux
pacman,sudogit&base-devel(Standard requirements for AUR builds)- Network access (for AUR RPC API fallback)
pacman-contrib(For safe system update checks)
You can install ATHA using your favorite AUR helper:
yay -S athacurl -fsSL https://raw.githubusercontent.com/Bangkah/Atha/main/install.sh | bashVerify your environment health:
atha doctorSimulate an installation without making changes:
atha install --plan neovim
atha install --dry-run neovimCheck system updates safely:
atha update --planAudit your recent package transactions:
atha history --timeline --limit 20atha install [--plan|--dry-run] [--yes] <pkg> [pkg2 ...]
atha remove [--plan|--dry-run] [--yes] <pkg> [pkg2 ...]
atha search <keyword>
atha update [--plan|--dry-run] [--yes]
atha list [installed|explicit|aur|all] [--limit N]
atha info <pkg>
atha doctor
atha history [--limit N] [--full|--timeline|--summary] [--action NAME] [--status NAME]
atha --help
Mode Definitions:
--plan: Decision analysis (explains what will happen and why).--dry-run: Execution simulation (shows exactly which underlying commands would run).--yes: Skips confirmation prompts for automated workflows.
- Install: Automatically skips packages that are already installed and falls back to the AUR when a package is missing from official repositories. The native Rust binary executes external commands with argument arrays (never through a shell).
- Remove: Uses
pacman -Rnsto cleanly remove packages along with their unneeded dependencies and configuration files. Skips packages that are not present. - Search & Info: Falls back to querying the AUR API if a package isn't found in the official sync database.
- Update:
--planand--dry-runare non-destructive and utilizecheckupdatesto prevent partial upgrade issues. - Doctor: Exits with a non-zero code when critical dependencies are missing.
Logs (Debug Output):
- Primary:
/tmp/atha.log - Fallback:
$XDG_CACHE_HOME/atha/atha.log
History (Transaction Audit):
$XDG_STATE_HOME/atha/history.log(Defaults to~/.local/state/atha/history.log)
- Wiki Home
- Installation Guide
- Command Reference
- Troubleshooting
- Release Notes
- Brand Guidelines
- AUR Reviewer Response
- User Feedback Loop
- Maintainer: Muhammad Dhiyaul Atha (Bangkah)
- GitHub Repository: Bangkah/Atha
- AUR Package: aur.archlinux.org/packages/atha
- Issue Tracker: Report a Bug or Request a Feature
- Full logo: Light | Dark
- Mark/icon: atha-mark.svg
- Avatar: atha-avatar.svg
- Social banner: atha-banner.svg
(Optional PNG export script using librsvg is available in the branding folder).
This project is licensed under the MIT License. See LICENSE for details.
Bagian dari gudang project publik Bangkah — dokumentasi dan alat developer di satu domain.






