Assetgen
packages/assetgen is the DOOM-grade asset generation pipeline.
It turns:
prompt + design canon + provider -> image -> trim/optimize .webp -> manifestDry run
Use mock first. It proves the pipeline without model spend.
bun packages/assetgen/src/cli.ts --provider mock --dry-run --id test --prompt "x"Generate one asset
OPENAI_API_KEY=sk-... bun packages/assetgen/src/cli.ts \
--id swarm-husk \
--game scourge-survivors \
--kind sprite \
--prompt "a rotting bio-husk of the Scourge, lunging" \
--repo ../deadrotcom/apps/games/scourge-survivorsUse Codex as provider
bun packages/assetgen/src/cli.ts \
--provider codex \
--id swarm-husk \
--game scourge-survivors \
--kind sprite \
--prompt "a rotting bio-husk of the Scourge, lunging"The codex provider rides the local authenticated Codex CLI. No extra provider
key is needed for that path.
Fill the matrix
Matrix mode expands every intended (entity x game) render cell and writes it
to the Deadrot asset package by default.
# placeholder fills
bun packages/assetgen/src/cli.ts matrix --provider mock
# real generation through Codex
bun packages/assetgen/src/cli.ts matrix --provider codex
# one row or column
bun packages/assetgen/src/cli.ts matrix --id scourge-swarm
bun packages/assetgen/src/cli.ts matrix --game pactfall --only-missingTarget a different asset package
bun packages/assetgen/src/cli.ts matrix \
--provider mock \
--assets-dir ../deadrotcom/packages/assetsProviders
| Provider | Use |
|---|---|
mock | Offline placeholder generation |
codex | Local Codex CLI delegation |
openai | Image model generation |
fal | FLUX generation |
Keychain storage
security add-generic-password -a shipshit -s shipshit-openai -w <OPENAI_KEY>
security add-generic-password -a shipshit -s shipshit-fal -w <FAL_KEY>Keep raw .env files out of commits.