djunker
v0.1.0
Published
The djunker command-line interface: encode, decode, inspect, and build D4 loot filters.
Maintainers
Readme
djunker
The djunker command-line interface — encode, decode, inspect, and build Diablo IV loot-filter import/export codes from a human- and AI-authorable spec.
The filter code is base64-wrapped protobuf; djunker reads and writes it directly, so you can build a filter from a readable spec instead of the in-game editor, decode any existing code back into an editable spec (full round-trip), and use capabilities the client hides (like translucent labels via the color's alpha channel).
The package is self-contained — the engine and reference catalogs are bundled in; only its real npm deps (commander, ink, react, zod) resolve on install.
Install
npm install -g djunker
djunker decode <code> # now on your PATHOr run it once without installing:
npx djunker decode <code>Usage
Author a filter as a pipeline of small commands (a spec flows stdin → stdout), then encode. Rules are referenced by index or name; conditions by type (one of each per rule):
djunker draft create "Endgame" \
| djunker draft rule create --action recolor --color '#80ff00ff' --name "Great 2H" \
| djunker draft rule condition create rarity "Great 2H" --rarities Legendary,Unique \
| djunker draft build # → a base64 filter codeDecode any code back into a spec with djunker decode <code>. The command tree is self-describing for
agents: djunker manifest (machine-readable command tree) and djunker schema (JSON Schema for the
spec).
Launch the interactive terminal builder with djunker interactive.
Links
- Repository & docs: https://github.com/zmsl/djunker
- Hosted web app: https://zmsl.github.io/djunker/
License
MIT
