yap

yap

MCP.Pizza Chef: M0Rf30

YAP lets you create native Linux software packages like .deb, .rpm, and .apk from a single PKGBUILD file. It works inside Docker or Podman containers to keep builds clean and reproducible. You can build for different Linux distributions and CPU architectures, add changelogs, sign packages, and generate software bill of materials. It integrates with Claude Desktop, Cursor, VS Code, and Goose, but requires developer setup including Docker or Podman.

Other

Use This MCP server To

Build Debian, RPM, Alpine, and Arch Linux packages from one source Cross-compile software packages for different CPU architectures Generate signed packages with changelogs for multiple Linux distros Create software bill of materials (SBOM) files alongside packages Run isolated builds using Docker or Podman containers Customize package dependencies per Linux distribution Build multiple packages in parallel to save time

README

YAP — Yet Another Packager

yap-logo



report card View examples License: GPL v3 GitHub release

YAP builds native packages for multiple GNU/Linux distributions from a single PKGBUILD specification. Write your package once; get .deb, .rpm, .apk, and .pkg.tar.zst out. All builds run in isolated OCI containers (Docker or Podman).

Features

  • Multi-format output: DEB (Debian/Ubuntu), RPM (Fedora/RHEL/Rocky/openSUSE), APK (Alpine), TAR.ZST (Arch)
  • Container isolation: reproducible builds, no host contamination, Docker and Podman supported
  • PKGBUILD-based: familiar Arch Linux syntax extended with distribution and architecture overrides
  • Cross-compilation: build for a different architecture than your host
  • Dependency-aware builds: sequential by default; opt-in parallel topo-sort via --parallel
  • Package signing: APK RSA + DEB/RPM/Pacman GPG (no gpg binary required)
  • SBOM generation: CycloneDX 1.5 and SPDX 2.3 sidecars
  • Per-format compression: zstd/gzip/xz for DEB and RPM
  • Changelog support: changelog PKGBUILD field renders to native format per distro
  • Pacman scriptlets: full 6-hook lifecycle (pre/post install/upgrade/remove)
  • Structured logging: slog-based, tree rendering for long lines, zero external UI deps

Installation

One-liner (Linux/macOS, amd64/arm64):

curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh | sh

Pin a version or install only one tool:

curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh \
  | sh -s -- --version v2.1.3 --tool yap

Manual download:

wget https://github.com/M0Rf30/yap/releases/latest/download/yap_Linux_x86_64.tar.gz
tar -xzf yap_Linux_x86_64.tar.gz
sudo mv yap /usr/local/bin/
yap version

yap FAQ

Can I use yap to create Debian and RPM packages from one source?
Yes — yap builds .deb, .rpm, .apk, and Arch packages from a single PKGBUILD spec, letting you package software for multiple Linux distros easily.
Can I use yap with Claude Desktop or VS Code?
Yes — yap works with Claude Desktop, Cursor, VS Code, and Goose clients to integrate packaging into your AI workflows.
Do I need an API key or account to use yap?
No — yap runs locally and does not require any API keys or online accounts.
How hard is it to set up yap?
It requires developer-level setup, including installing Docker or Podman and configuring your build environment.
Can I build packages for different CPU architectures?
Yes — yap supports cross-compilation to build packages for architectures other than your host.
Does yap isolate builds to avoid affecting my system?
Yes — all builds run inside Docker or Podman containers for clean, reproducible results.