ship

Automate signing, notarization, packaging, and distribution of Pulp plugins across macOS, Windows, and Android.

13|1|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/danielraffel/pulp --skill ship-danielraffel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ship
Source: https://github.com/danielraffel/pulp/tree/main/.agents/skills/ship
Command: npx skills add https://github.com/danielraffel/pulp --skill ship-danielraffel

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Streamlines and automates the complex, error-prone release pipeline for Pulp plugins and applications by centralizing signing, notarization, packaging, and update feed generation across platforms.

Core Features & Use Cases

  • End-to-end release pipeline: Build verification, code signing, Apple notarization, platform-specific packaging, and update feed (appcast) generation.
  • Cross-platform distribution: macOS (Developer ID signing, notarization, .pkg creation), Windows (signtool and NSIS installer), Android (Gradle builds, APK/AAB signing, keystore management).
  • Safety and validation: Interactive review of resolved credentials and config precedence (CLI > env > ~/.pulp/config.toml), artifact verification, and guidance for common failures.
  • Use Case: Prepare a production-ready macOS plugin by signing with a Developer ID, submitting for notarization, packaging a .pkg, and publishing a Sparkle-compatible appcast for auto-updates.

Quick Start

Run the ship workflow to sign, notarize, package, and generate an update feed for version 1.0.0 using the credentials and keystore configured in your pulp config.

Frequently Asked Questions about ship

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate macOS notarization and code signing for application releases?

Automate macOS notarization and code signing by configuring Apple Developer ID credentials and notarization settings in the ship workflow. It validates identities, submits builds for notarization, and packages the verified application into a .pkg file.

What's the best way to generate a Sparkle-compatible appcast for auto-updates?

Generate a Sparkle-compatible appcast during the release packaging process. The workflow creates the update feed automatically after signing and notarizing your macOS application, providing the necessary XML for auto-update clients.

Can I build and sign Android APK and AAB artifacts from a CI pipeline?

Yes, you can build and sign Android APK and AAB artifacts from CI pipelines. The workflow manages Gradle builds, applies keystore signing, and handles ABI selection based on your configured Android release credentials.

Does the packaging workflow support creating Windows NSIS installers?

Yes, the packaging workflow supports Windows releases by utilizing signtool for code signing and creating NSIS installers. It integrates these steps into the cross-platform distribution pipeline alongside macOS and Android builds.

What configuration precedence is used when resolving code signing credentials?

Code signing credentials and configuration follow a strict precedence: CLI arguments take highest priority, followed by environment variables, then the ~/.pulp/config.toml file. The workflow interactively reviews resolved settings before execution.