ArchWeaver is an interactive, full-stack visual management console and live build simulator for the Arch Linux AUR and system-wide package repositories. The application operates as a highly responsive dashboard powered by an Express/Node static server proxying a custom Rust background REST API, enabling real-time secure communication with the standard Arch Linux AUR RPC API.
🌟 Key Features & Architecture
- Real-Time AUR Database Proxy: Connects directly to the public aur.archlinux.org RPC API to execute searches, fetch votes, track popularity curves, and automatically resolve transitive dependencies.
- Interactive Sandbox & Makepkg Build Simulator: Runs a realistic mock build pipeline visualization that logs dependency resolutions, source retrievals, SHA256 integrity checks, and native compile routines step-by-step inside the visual CLI terminal.
- Dynamic Dependency Graphs: Intellectually scans package files to build visual trees mapping make-time vs run-time dependencies.
- System Health Monitor Widgets: Displays real-time charts capturing CPU metrics, running processes, memory limits, and pending database package updates.
- CACHED Package Version Rollback: Allows power-users to inspect previous system compilation histories and securely roll back unstable software packages to earlier cached builds.
- Power-User CLI Dashboard (Terminal Mode): Hosts a functional sandboxed shell supporting standard syntax (
yay -S,yay -Syu,pacman -R, and others) that synchronously updates the underlying database index. - Cosmic Slate Aesthetics: Features an immersive high-contrast twilight visual theme utilizing Inter and JetBrains Mono typography, custom animations, and clean responsive layouts.
The easiest way to run stable ArchWeaver as a client on any modern Linux environment without pre-installing runtime servers is to compile or execute the native, self-contained AppImage.
Ensure you have NPM and internet access available on your build machine (on Arch Linux: sudo pacman -S --needed npm curl tar xz unzip). Run the automated builder script:
# Grant execution rights to the packager
chmod +x ./scripts/build-appimage.sh
# Run the packager to build the standalone AppImage
./scripts/build-appimage.shThis automates the following steps:
- Compiles the modern React assets in production mode.
- Bundles the custom background Python server.
- Retrieves and sets up a stable, isolated Electron GUI wrapper.
- Generates a standalone, double-clickable
ArchWeaver-x86_64.AppImageexecutable.
After compiling, the file ArchWeaver-x86_64.AppImage will appear in the directory root. To execute:
# Grant execution rights to the AppImage
chmod +x ArchWeaver-x86_64.AppImage
# Launch the standalone desktop application
./ArchWeaver-x86_64.AppImage💡 Auto Desktop Shortcut/Menu Integration: On its very first run, the AppImage automatically integrates itself into your host's local system directories (
~/.local/binand~/.local/share/applications/), adding a fully styled launcher icon to your system menus so you can boot ArchWeaver directly from your application dashboard at any time.
If you are developing or editing ArchWeaver itself, you can run the UI dev-server and API backend side-by-side using Node and Rust:
Node.js & npm packages:
# Install NPM packaging modules and packages
npm installRust toolchain (required for backend):
# Install Rust using rustup (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Then in your shell:
source $HOME/.cargo/env# Build the Rust backend (debug mode for development)
cargo build
# Or build the optimized release version
cargo build --releaseRun the bare-metal development pipeline with Rust backend and direct Arch/AUR mock services:
# Terminal 1: Start the Rust backend (if not auto-started)
./target/debug/archweaver_server
# Terminal 2 (separate terminal): Start Vite development server
npm run devℹ️ Automatic Backend Startup: When you run npm run dev, the Express server will automatically spawn the Rust backend if the binary exists.
sudo permissions. Ensure that you enter your password when requested in the terminal launcher.
You can also package and run the application inside a multi-stage Alpine-based Docker container.
docker build -t archweaver .docker run -p 3000:3000 archweaverOnce started, the application will be accessible inside your browser at http://localhost:3000.
You can run the desktop app in development with the Vite dev server using:
npm run tauri:dev
Build the native bundle with:
npm run tauri:build
(Requires @tauri-apps/cli installed globally or as a dev dependency.)