fep-8a8e-validator
v0.1.5
Published
<!-- SPDX-FileCopyrightText: 2026 Kerstin Humm <[email protected]>
Maintainers
Readme
FEP-8a8e Validation suite
A collection of checks to make sure your ActivtyStreams Event objects are compliant with FEP-8a8e. FEP-8a8e is a standard that tries to unify how the Fediverse talks about events (as in gatherings of people).
Ideally this validation suite enables developers to write correct implementations without having to read the (entire) standard document.
While currently being heavily work in progress, it aims for the following feature set:
- [x] Provide Warnings, Violations and Notes to give feedback to implementers
- [x] Annotations are as specific as possible in two directions; The relevant JSON value in the object and the relevant sentence in the standard.
- [x] Library for web based frontends, e.g. https://fep-8a8e.erictapen.name/
- [x] CLI application for local testing and use in CI
- [ ] Every paragraph in the FEP has one corresponding rule
- [ ] Check for JSON-LD compliance and make suggestions about contexts
Try it out
The easiest way for trying out the validator is to just use the web frontend.
If you want to try out the CLI application, you can use Node for a quick entry.
$ npx fep-8a8e-validator --help
Usage: fep-8a8e-validator [options] <input>
Arguments:
input Validate a file or URL providing an ActivityStreams Event object. Use `-` for reading from stdin.
Options:
-V, --version output the version number
-s, --strictness <strictness> On which kind of urgency level to fail (choices: "Violation", "Warning", default: "Violation")
-h, --help display help for commandHacking
For running the code from the repository:
$ npm install
$ npm run build
$ ./dist/bin/fep-8a8e-validator.js --helpThis Project doesn't have CI yet, but for now you can run static analyis this way:
$ nix develop
$ pre-commit run --allAcknowledgement
This project was funded through the NGI0 Commons Fund a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).
