This repository contains my maintained Arch User Repository (AUR) packages. The entire build, verification, and publishing process is automated via GitHub Actions.
| Package | Description | Status |
|---|---|---|
| antigravity-tools-bin | Professional Antigravity Account Manager & Switcher | |
| claude-code-stable-bin | Claude Code terminal-based AI coding assistant (stable channel) | |
| cli-proxy-api-bin | Proxy server providing OpenAI/Gemini/Claude compatible API interfaces | |
| cpa-usage-keeper-bin | Standalone CLIProxyAPI usage persistence and dashboard service | |
| fingerprint-chromium-bin | Fingerprint Chromium (Ungoogled Chromium with fingerprinting protection) | |
| vibe-kanban-bin | AI-powered Kanban board | |
| wlroots0.20-vmwgfx | wlroots 0.20 with a vmwgfx compatibility patch for VMware environments | |
| zellij-no-mouse-resize-bin | Zellij with advanced_mouse_actions also gating pane mouse resize |
The package framework lives in scripts/aurpkg.py. GitHub Actions call scripts/ci.sh, a small CI entrypoint that keeps workflow YAML thin and delegates package behavior to aurpkg.py.
- Discovery: Automatically scans the repository for PackageSpec v1 definitions (
package.tomlfiles). - Resolve: Fetches upstream versions and direct source URLs.
- Prepare Artifacts: Produces or locates declared artifacts such as repo-built GitHub Release archives.
- Render: Generates a temporary
PKGBUILD, optional.install, and other packaging assets. - Build: Verifies the package builds successfully in a clean environment.
- Package Validation: Installs the built package and runs package-level smoke checks.
- Publish: Pushes the rendered package contents to AUR only after package validation passes.
The package validation workflow and the publish workflow share the same smoke-check path, so scheduled AUR publishes are gated on the same package-level checks used in pull requests.
For a deeper explanation of the moving parts, see docs/WORKFLOW.md. For framework boundaries and package extension rules, see docs/PACKAGE_FRAMEWORK.md.
The publish workflow runs automatically every 6 hours. Package validation runs on pull requests, pushes to main, and manual dispatches.
You can use scripts/aurpkg.py to test changes locally.
- Arch Linux based system (or container)
sudoprivileges- Docker or Podman for local
run-test github-cli(gh) only when publishing missing GitHub Release artifacts
1. Install Dependencies:
sudo pacman -Syu --needed --noconfirm git openssh pacman-contrib sudo curl jq python
sudo python3 scripts/aurpkg.py setup-user2. Run Publish Path (Dry Run):
# Syntax: python3 scripts/aurpkg.py run-publish <pkgname-or-path> [flags]
python3 scripts/aurpkg.py run-publish antigravity-tools-bin --dry-run3. Run Metadata Preflight:
python3 scripts/aurpkg.py preflight cli-proxy-api-bin4. Run Publish Path Verification (Container/CI Recommended):
python3 scripts/aurpkg.py run-publish claude-code-stable-bin --dry-run --verify-install5. Run Package Validation:
python3 scripts/aurpkg.py run-test antigravity-tools-binThis path uses an ephemeral Arch container locally, builds the package, installs it with pacman -U, and runs smoke checks against the installed files.
Please refer to CONTRIBUTING.md for the standard process of adding and maintaining packages.
Each package directory now lives under packages/<pkgname>/ and keeps only:
package.tomlas the PackageSpec v1 source of truth- optional
hooks.shfor special upstream logic - optional
files/for static assets such as service units or licenses
PKGBUILD and .SRCINFO are generated only in temporary workspaces during local runs and CI.
For detailed setup instructions, including required publishing secrets (AUR_SSH_PRIVATE_KEY, AUR_USERNAME, and AUR_EMAIL) and global configuration, please refer to INTEGRATION.md.
Maintained by orange-guo