How-to guides

Keep game assets out of git

Use the pre-commit check so no Minecraft texture or model ends up in a commit.

TextureScript never ships game files, and its repository checks that none slip in. Use the same check in your own checkout.

The pre-commit hook

In a TextureScript checkout, bun install enables the hook in .githooks/. It runs scripts/check-no-vanilla.ts, which compares staged PNG and JSON files with your Minecraft client jar and refuses:

  • copies of game textures;
  • re-encodes and nearest-neighbour upscales of them;
  • model and blockstate JSON taken from the game.

It needs a local jar; without one it skips.

Check everything

bun run check-no-vanilla --tree      # every file in the checkout
bun run check-no-vanilla --history   # every past commit

Where game files do live

  • view, shoot and the MCP server read vanilla blocks from your jar into memory and write nothing.
  • fetch writes the skill's reference textures, and refuses any folder git would track.
  • .gitignore excludes out/ and the fetched examples.

Why there are no game assets explains the policy.

Copyright © 2026