CLI
Bundle
Subcommands for building and inspecting .reseam bundles.
reseam bundle keygen
Generate an Ed25519 signing seed for bundle packing.
reseam bundle keygen --out reseam.key
Writes a raw 32-byte seed with mode 0600. The public key is printed as hex so clients can identify and trust the signer:
Ed25519 keypair generated
private seed: reseam.key
public key (hex): 1f3c...
The public key is what clients pass to trust the signer: --trust on the CLI, the trust list in Reseam Manager.
The command refuses to overwrite an existing file.
| Argument | Purpose |
|---|---|
--out <PATH> |
Where to write the private seed. |
reseam bundle pack
Pack and sign a bundle staging directory into a .reseam archive.
reseam bundle pack my-bundle/ --key reseam.key --out patches.reseam
The staging directory must contain a manifest.toml with a [bundle] table. Required fields: name, format_version. Optional: author, description. The command adds engine, the version of the CLI doing the packing; bundles load on engines of the same major version (same minor while the major is 0). Every .jar and .dex file in the directory is packed; other files (including manifest.toml itself) are ignored. The pack fails if no payload files are found.
The command:
- Parses
manifest.tomland checksformat_versionmatchesreseam_patcher::bundle::BUNDLE_FORMAT_VERSION. - Reads the payload files, sorts them by name, and hashes each with SHA-256.
- Rewrites the manifest with a
[files]table of name-to-hex-SHA-256 pairs. - Derives the Ed25519 keypair from the
--keyseed and signs the rewritten manifest. - Writes the zip:
mimetype(stored),manifest.toml(deflated),manifest.pubkey(stored),manifest.sig(stored), then each payload file (deflated).
| Argument | Purpose |
|---|---|
<dir> |
Bundle staging directory. |
--key <PATH> |
Ed25519 seed from reseam bundle keygen. |
--out <PATH> |
Output .reseam archive path. |
reseam bundle list
List every patch in a bundle with its metadata.
reseam bundle list patches.reseam --trust <PUBLIC_KEY_HEX>
Output shape:
bundle: example-bundle
author: example
description: Example patches
signer: 1f3c... (trusted)
engine: 0.3.0
files: example-patches.jar, example-extension.dex
1. [on] example-patch - One-line description.
packages: com.example.app (1.0.0, 1.1.0)
depends: example-core
options:
- mode (String, optional)
signer is the bundle's public key and whether it matched --trust; engine is the version of the CLI that packed it; files lists the payload, jars and extension DEX alike. (String, optional) is the option's declared type and required flag.
The bundle is loaded through the same path reseam patch uses: its signature is verified against the bundle's embedded public key, then that key is checked against --trust. Without a matching --trust the command prints the bundle metadata and signer but not the patches, since listing them means loading the bundle's code. A bundle with an invalid signature or the wrong format_version fails before any metadata is printed.
| Argument | Purpose |
|---|---|
<bundle> |
.reseam archive to inspect. |
--trust <PUBLIC_KEY_HEX> |
Repeatable. Signer to accept so patches are listed. |
A bundle from an incompatible engine line fails to open with a message naming which side needs updating.