Skip to content

Version monitor and notifier for the Minecraft modding ecosystem.

License

Notifications You must be signed in to change notification settings

TwelveIterations/vermon

Repository files navigation

vermon

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.

Disclaimer

Portions of this code have been AI-generated. Use at your own risk.

Requirements

Installation

bun install

Running

  • Development (hot reload):
bun run dev
  • Run once in the current shell:
bun run index.ts

By default, configuration is read from config.yaml in the project root.

Configuration

Configuration is a YAML file where you define a list of triggers and actions, and reference actions from triggers by id.

Supported trigger types:

  • minecraft
  • fabric
  • neoforge
  • neoform
  • forge
  • nexus

Supported action types:

  • log
  • webhook
  • discord

See config.example.yaml for an example.

Environment variables

  • DB_PATH — filesystem path to the SQLite database file.
    • Default: ./data/vermon.db

Testing

bun test

Project structure

.
├── 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)

About

Version monitor and notifier for the Minecraft modding ecosystem.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •