Skip to main content

create-aur-package

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.

Quellinformationen

Repository
asermax/claude-plugins
Letzte Quellaktivität
4. Mai 2026 um 15:37
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
8 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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): ```bash updpkgsums ``` 4. **Build and validate**: ```bash makepkg -f # Build the package namcap PKGBUILD # Lint PKGBUILD namcap *.pkg.tar.zst # Lint built package ``` 5. **Generate metadata**: ```bash makepkg --printsrcinfo > .SRCINFO ``` 6. **Initialize git and push to AUR**: ```bash 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: ```bash 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 | Command | Purpose | |---------|---------| | `updpkgsums` | Update sha256sums from source files | | `makepkg --printsrcinfo > .SRCINFO` | Generate .SRCINFO metadata | | `makepkg -f` | Build package (force rebuild) | | `makepkg -si` | Build and install package | | `namcap PKGBUILD` | Lint PKGBUILD for issues | | `namcap *.pkg.tar.zst` | Lint 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
Auf GitHub ansehen