packslip 0.2.0

A vendor-neutral signed release manifest: what shipped, and how to verify it
Documentation
# packslip

A signed release manifest for vendor binaries. One file per release,
`packslip.sigstore.json`, says what shipped and how to verify it; any
consumer checks it against one pinned identity or key and gets checksums,
platforms, executables, and provenance links, with no per-vendor logic and
no registry entry.

Site and specification: [packslip.dev](https://packslip.dev) ·
[release/v1](https://packslip.dev/release/v1/)

## In a GitHub release job

```yaml
permissions:
  contents: write       # upload the release asset
  id-token: write       # sign with this job's identity
  attestations: write   # attest build provenance for the artifacts

steps:
  - uses: jdx/packslip@v1
    with:
      artifacts: dist/*
      bin: mytool
```

That attests SLSA build provenance for the artifacts, digests them, signs
the manifest keylessly through sigstore with the workflow's own identity,
links the provenance from it, and uploads `packslip.sigstore.json` to the
release. There is no key to create or store. Consumers verify against the
repository name: a packslip for `github.com/owner/repo` must be signed by
a workflow of that repository.

## The binary

```sh
cargo install packslip          # or download a release archive
packslip create --project github.com/owner/repo --version 1.2.3 \
  --out dist --url-base https://github.com/owner/repo/releases/download/v1.2.3 \
  --bin mytool dist/*.tar.xz
packslip verify dist/packslip.sigstore.json --artifact mytool-1.2.3-linux-x64.tar.xz
packslip show dist/packslip.sigstore.json
```

Inside a CI job `create` signs keylessly. Elsewhere, `packslip keygen`
makes an Ed25519 key and `create --key release.key` signs with it, still
logging to Rekor; consumers then verify with `--pubkey release.pub`. A
project on its own domain publishes a signed release list with
`packslip releases`.

## Layout

- `src/`, `tests/` — the `packslip` crate: schema, generator, verifier.
- `action.yml` — the composite GitHub Action.
- `docs/spec/packslip.md` — the specification's canonical text.
- `site/` — packslip.dev, served by GitHub Pages.

MIT licensed.