Contributing

September 11, 2026 · View on GitHub

Contributions are welcome.

Before You Start

Open an issue first to discuss what you'd like to change. That avoids work on something that turns out to be out of scope, and it's the fastest way to agree on an approach.

Development Setup

Clone the repo. There is nothing to install: the project has no dependencies at all, production or dev — it runs on Node.js >= 18 built-ins and the test runner built into Node.

The commands for running the suites are in the README's Run it yourself section.

The website (anotifier.io) is the one exception: its source is in landing/ and has its own package.json. See the README's Website section for how to run and check it. Site facts (commands, config keys, defaults) must match this package exactly — the Honesty Rule below applies to landing/lib/docs.ts as much as to the README.

Before Opening a Pull Request

Run the unit suite — it's offline and fast:

npm test

It must pass. If you changed platform behavior, say which platform you actually exercised it on; CI runs Linux, macOS, and Windows.

The Honesty Rule

Documentation claims must match what the code does, exactly. If a feature is unit-tested but not proven end to end, the docs say so — see the proof boundaries called out in the README's Testing section. Please don't add a claim a reader could check and find overstated, and if you change behavior that the README describes, update the README in the same PR.

Reporting Security Issues

Don't open a public issue — see SECURITY.md.