Thanks for your interest. This is a small, focused tool — contributions that keep it small and focused are most likely to be merged.
- GET-only API access. The only mutating call is
POST /api/public/auth/loginto obtain a bearer token. Do not add any other mutating endpoints without prior discussion. - Stateless by design. No on-disk state file, no alert deduplication, no caching. If you need this, open an issue first.
- Minimal dependencies. Two runtime deps (
dotenv,cli-table3). New ones need a strong justification. - English-only user-facing output.
- Strict
>thresholds. "More than 70%" means> 70, not>= 70. - Always guard nullable stats with
value == nullbefore comparing.
git clone https://github.com/be-lenka/vshosting-monitor.git
cd vshosting-monitor
npm install
cp .env.example .env
# fill in VSHOSTING_EMAIL, VSHOSTING_PASSWORD (and SLACK_WEBHOOK_URL if testing notify)npm run check # syntax check all source files
npm test # run unit tests
npm start # render the live server table
npm run notify -- --dry-run # exercise notify without posting to SlackSee README.md. Pure functions live in src/filter.js and src/evaluator.js — those are the easiest to add tests for.
-
npm run checkpasses -
npm testpasses - Updated
.env.exampleand README if you added a config variable - Updated CLAUDE.md if the change affects AI-assistant guidance
- Commit messages are descriptive
- Functional bugs: open a GitHub issue.
- Security issues: see SECURITY.md — do not file a public issue.