Agent SkillsAgent Skills
asermax

create-aur-package

@asermax/create-aur-package
asermax
1
1 forks
Updated 5/5/2026
View on GitHub

This skill should be used when the user asks to "create an AUR package", "make a new AUR package", "scaffold AUR package", "create PKGBUILD", "package for AUR", or mentions AUR package creation with a specific source type (npm, rust, go, git, binary, appimage). Provides comprehensive guidance for creating Arch User Repository packages with proper structure, checksums, and git setup.

Installation

$npx agent-skills-cli install @asermax/create-aur-package
Claude Code
Cursor
Copilot
Codex
Antigravity

Details

Pathaur/skills/create-aur-package/SKILL.md
Branchmaster
Scoped Name@asermax/create-aur-package

Usage

After installing, this skill will be available to your AI coding assistant.

Verify installation:

npx agent-skills-cli list

Skill Instructions


name: create-aur-package description: This skill should be used when the user asks to "create an AUR package", "make a new AUR package", "scaffold AUR package", "create PKGBUILD", "package for AUR", or mentions AUR package creation with a specific source type (npm, rust, go, git, binary, appimage). Provides comprehensive guidance for creating Arch User Repository packages with proper structure, checksums, and git setup. argument-hint: <package-name> <source-type>

Create a new AUR (Arch User Repository) package with proper structure, validation, and git setup.

Package name: $ARGUMENTS[0] Source type: $ARGUMENTS[1]

Workflow

  1. Gather package information:

    • Package name (provided by user)
    • Source type (npm, rust, go, git, binary, appimage)
    • Fetch metadata from upstream (version, description, license, URL)
  2. Create package directory structure:

    • Directory named after the package
    • .gitignore for build artifacts
    • PKGBUILD with appropriate structure for source type
  3. Generate checksums (skip for -git packages):

    updpkgsums
    
  4. Build and validate:

    makepkg -f              # Build the package
    namcap PKGBUILD         # Lint PKGBUILD
    namcap *.pkg.tar.zst    # Lint built package
    
  5. Generate metadata:

    makepkg --printsrcinfo > .SRCINFO
    
  6. Initialize git and push to AUR:

    git init
    git remote add origin ssh://aur@aur.archlinux.org/<package-name>.git
    git add .
    git commit -m "feat: initial commit for <package-name>"
    git push -u origin master
    

.gitignore

Create with the following content:

pkg
src
<package-name>-*
*.tar.zst

For NPM packages, use the actual package name (without scope for scoped packages). For AppImage packages, also include squashfs-root, *.AppImage, and the downloaded license file.

Common PKGBUILD Structure

All PKGBUILD files include these fields:

pkgname=<package-name>
pkgver=<version>
pkgrel=1
pkgdesc="<package description>"
arch=(any)  # or (x86_64) for architecture-specific
url="<upstream-url>"
license=('<license>')
depends=()      # runtime dependencies
makedepends=()  # build-time dependencies
source=(<source-url>)
sha256sums=('SKIP')  # Update with updpkgsums

package() {
  # Installation steps
}

Source-Specific Instructions

Load the appropriate reference file based on source type:

  • NPM packages: See references/npm-packages.md - For Node.js packages from npm registry
  • Rust packages: See references/rust-packages.md - For Cargo-based Rust projects
  • Go packages: See references/go-packages.md - For Go modules
  • VCS/Git packages: See references/vcs-packages.md - For -git packages tracking upstream
  • Binary packages: See references/binary-packages.md - For pre-compiled binaries
  • AppImage packages: See references/appimage-packages.md - For AppImage binaries (typically Electron apps)

Useful Commands

CommandPurpose
updpkgsumsUpdate sha256sums from source files
makepkg --printsrcinfo > .SRCINFOGenerate .SRCINFO metadata
makepkg -fBuild package (force rebuild)
makepkg -siBuild and install package
namcap PKGBUILDLint PKGBUILD for issues
namcap *.pkg.tar.zstLint built package

Package Naming Conventions

  • Standard: <package-name> - For release tarballs
  • VCS tracking: <package-name>-git - For git repositories
  • Binary: <package-name>-bin - For pre-compiled binaries
  • AppImage: <package-name>-appimage - For AppImage binaries

Additional Resources

Reference Files

  • references/npm-packages.md - NPM package specifics (scoped packages, registry URLs, permission fixes)
  • references/rust-packages.md - Rust/Cargo package specifics (build flags, LTO issues, workspaces)
  • references/go-packages.md - Go module specifics (build flags, GOPATH handling)
  • references/vcs-packages.md - VCS/Git package specifics (pkgver() function, provides/conflicts)
  • references/binary-packages.md - Binary package specifics (release downloads, architecture handling)
  • references/appimage-packages.md - AppImage package specifics (extraction, desktop integration, /opt/ install)

Examples

  • examples/pkgbuild-template - Basic PKGBUILD template structure