Pkg bootstrap
Skill pngdeity/apm-user-repository/packages/aur-package-management/.apm/skills/pkg-bootstrap
Initialize a new Arch Linux package in the repository. Use when adding a new package, creating a PKGBUILD from scratch, bootstrapping from an upstream AUR or Arch GitLab source, or setting up a package for the first time — even if the user doesn't explicitly mention "bootstrap" or "PKGBUILD."From its SKILL.md
npx -y skills add pngdeity/apm-user-repository --skill pkg-bootstrapAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.0 KB, 602 tokens by cl100k_base, as published. Nobody here has run it
Package Bootstrap Workflow
When adding a new package to packages/:
-
Create the package directory and a minimal
PKGBUILD. For packages that mirror an existing Arch or AUR package, define the upstream source variable and the maintainer demotion flag:_upstream_aur_pkgfor AUR packages_upstream_arch_repofor official Arch GitLab packages_demote_upstream_maintainer=trueto automatically demote upstream maintainers to contributors_pkgname=<canonical-name>to declare the canonical software name (set on ALL packages in a variant family, including the base). If the package is standalone with no variants, omit_pkgname.- For
gemini-clivariants, add_use_common_gemini_settings=true _deploy_aur=trueif this package should be published to the AUR by the CI/CD pipeline- For CPU-optimization variants, set
_repo_subarch(e.g.,"x86_64_v3") — mutually exclusive with_deploy_aurIf the package is entirely custom and does not mirror any upstream PKGBUILD, omit the_upstream_*variables and define a standardsourcearray directly. In this case, skip step 2 and proceed to step 3.
-
For mirrored packages, run the bootstrap script. Look up the upstream version from the source repository (AUR web interface, Arch GitLab tags, or release page) before running:
bash scripts/sync-package.sh <pkgname> <version>This fetches the upstream PKGBUILD, initializes tracking state, applies declarative identity rules (demotion, asset sync), and updates hashes. Only one invocation is needed.
-
Set up version checking from within the package directory:
pkgctl version setupThis generates a valid
.nvchecker.tomlfrom the PKGBUILD source array. -
Create a package-local
AGENTS.mdONLY if the package has non-standard build requirements, undocumented quirks, or specific environmental constraints. Otherwise skip this step. The file must follow the Hierarchical Policies in the rootAGENTS.md. -
Register the package in the root
.nvchecker.tomlfor global version monitoring. -
Run the full verification sequence:
namcap PKGBUILD makepkg --printsrcinfo > .SRCINFO pkgctl build pkgctl diff --list
Gotchas
- The
sync-package.shscript expects the upstream source variable to be set correctly. If the upstream package uses a non-standard name, verify the variable before bootstrapping. pkgctl version setupmust be run inside the package directory. The.nvchecker.tomlit generates is package-specific.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.