- move each template's metadata to blueprints/<id>/meta.json (442 files, byte-identical roundtrip with the old root meta.json)
- generate the served meta.json at build time into app/public/meta.json (gitignored); pnpm dev/build run the generator first
- CI validates every blueprints/<id>/meta.json via generate-meta.js --check (required fields, id/folder match, logo exists, folder<->meta bidirectionality) and rejects any committed root meta.json
- remove root meta.json, dedupe-and-sort-meta.js and build-scripts/process-meta.js (obsolete)
- update CONTRIBUTING.md, AGENTS.md and README.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Remove duplicate GitLab CI entry and add Link Stack entry to meta.json
* Update Movary blueprint with simplified Docker Compose and environment configuration
* Add OpenGist entry to meta.json
* Add Snapp self-hosted screenshot sharing service entry to meta.json
* Add CommaFeed feed reader entry to meta.json
* Add ConvertX media conversion service entry to meta.json
* Add MeTube YouTube downloader entry to meta.json
* Add Pinchflat YouTube entry to meta.json
* Add yt-dlp-webui entry to meta.json
* Add FlareSolverr proxy service entry to meta.json
* Add Neko virtual browser entry to meta.json
* Add Omni-Tools entry to meta.json
* Add OpenHands AI agents platform entry to meta.json
* Add Web-Check website analyzer entry to meta.json
* Add DumbDrop file sharing service entry to meta.json
* Add DumbAssets entry to meta.json
* Add DumbPad notepad service entry to meta.json
* Add DumbBudget self-hosted budget tracking service entry to meta.json
* Add Tianji web analytics and uptime monitoring service entry to meta.json
* Add Directory Lister entry to meta.json
* Add Grimoire bookmarking app entry to meta.json
* Clean Up
* Update Movary blueprint with environment variables and MySQL configuration