Version monitor and notifier for the Minecraft ecosystem. Configure "triggers" that watch upstream version feeds (e.g., Fabric, NeoForge, Minecraft) and fire "actions" (e.g., log, webhook) when a new version is detected. State is persisted in a lightweight SQLite database.
Portions of this code have been AI-generated. Use at your own risk.
- Bun 1.1+ (https://bun.sh)
bun install- Development (hot reload):
bun run dev- Run once in the current shell:
bun run index.tsBy default, configuration is read from config.yaml in the project root.
Configuration is a YAML file where you define a list of triggers and actions, and reference actions from triggers by id.
Supported trigger types:
minecraftfabricneoforgeneoformforgenexus
Supported action types:
logwebhookdiscord
See config.example.yaml for an example.
DB_PATH— filesystem path to the SQLite database file.- Default:
./data/vermon.db
- Default:
bun test.
├── index.ts # App entrypoint: loads config, wires triggers/actions, schedules checks
├── src/
│ ├── action/ # Implementations of actions (log, webhook)
│ ├── trigger/ # Trigger adapters (fabric, neoforge, ...)
│ ├── config.ts # Config loader (YAML)
│ ├── db.ts # SQLite persistence for last seen versions
│ └── schema.ts # zod schemas and types for config
├── test/ # Unit tests and fixtures
└── config.yaml # Your runtime configuration (not committed by default)