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.

Informações da origem

Repositório
asermax/claude-plugins
Última atividade na origem
4 de maio de 2026 às 15:37
Idioma detectado do SKILL.md
inglês
Estrelas
1
Forks
1

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
8 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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
Ver no GitHub