ralphy-assets companion repo, not the main checkout. ralphy assets is the verb group that pulls them on demand, SHA-256 verifies the download, caches under workspace/.ralph/asset-cache/, and optionally copies into a project’s tree. Per AGENTS.md invariant #12, agents should consult the catalog before improvising a reference for a real-world IP / character / track.
Three layers
The companion manifest groups assets into three layers:required— template-bound mandatory assets. Auto-pulled when you runralphy template use <slug>. Listed for transparency; you rarely pull these directly.pool— generic, reusable assets grouped by kind (open-ended:italian-brainrot-characters,gameplay-loops,trend-music,stock-broll, …). Pull individual items on demand.examples— ready-made example mp4 outputs per template. Visual reference + regression baselines.
ralphy assets list
{ manifestUpdated, manifestVersion, required, pool, examples }. Items include kind, slug, sizeMB, license, worksWith, description.
ralphy assets pull <template-slug>
Pulls every required asset for a template into the local cache. Idempotent — already-cached files with a matching SHA-256 skip the download.{ template, pulled: [{ key, cachedPath, sizeBytes }] }.
ralphy assets install <project-id> <template-slug>
Pulls + installs into a project’s asset tree. Combinespull with a copy step that respects each entry’s destSubdir.
ralphy template use calls under the hood — running it directly is the manual path when you want to re-install required assets without re-using the template.
ralphy assets pull-pool <kind>/<slug>
Single-item pool pull. The agent’s go-to verb when it needs a named character / footage / track.--install <project-id>, the verb also copies into the project under item.destSubdir (or the category’s defaultDestSubdir). The result includes the relative dest path so the agent can wire the asset into a prompt directly.
ralphy assets catalog
Regeneratesdocs/assets-catalog.md from the live manifest. The catalog is the agent-friendly view that lives in the main repo so it’s always in context — no network call needed at read time.
ralphy assets clean / cache-info
cache-info returns { cacheDir, files: [{ relative }], fileCount }. The cache is gitignored and safe to wipe at any time — every entry re-pulls on demand.
Verification
Every download SHA-256 verifies against the manifest. Mismatch → the file is removed and the verb raises. The manifest itself is signed at the companion-repo CI step.Companion-repo flow
RALPHY_ASSETS_MANIFEST_URL env var; see Env + config.
Worked example
Related
- Templates —
template useauto-installs required assets - References — when the ref-required gate fires
ralphy-assets— the companion repo- docs/assets-catalog.md — the in-repo derived view
- cli/commands/assets.ts