Upload a datapack. Get it back with a header on every function.
Pick a datapack and press the button to see the headers it gets.
This runs one plugin and nothing else. Your pack comes back as it was, with the function headers rewritten.
Only .mcfunction files are touched. Every other file is returned byte for byte as you uploaded it, so a loot table keeps its own formatting and a texture is never re-encoded. The header of each function names its callers, the execution context it runs in and the type of every macro argument, all inferred from the pack itself. Nothing is stored: the archive you download is the only copy, and it never touches a disk on the server.
Uploads are capped at 25 MB, 192 MB once extracted and 20000 files. Each run gets 60 seconds of CPU, 90 seconds of wall clock and 768 MiB of memory.
This page is only a front end. auto.headers is an ordinary beet plugin with no dependency on the rest of StewBeet: put stewbeet.plugins.auto.headers in the pipeline of any beet project and it does the same thing on every build, with a cache that makes an unchanged pack cost nothing.