Language: English | Русский
Every plugin repository should run tests before publishing a tag.
Use the repository's own virtual environment and keep the core as a test dependency:
python -m venv .venv
. .venv/bin/activate
python -m pip install -e .
python -m unittest discover -s testsAt minimum test manifest parsing, invalid configuration, secret references, normalization of one inbound event, and a mocked outbound request. Do not call Telegram, GitHub, or an LLM from unit tests.
Test the JSON protocol with fixture requests:
printf '%s\n' '{"protocol":"nagient.process.v1","method":"healthcheck"}' | ./pluginThe process must return one JSON object and never write logs to stdout; use stderr for diagnostics.
- Pin dependencies and run the test suite on Python 3.11 and 3.12.
- Run
nagient plugin install <repo>#<tag>in a clean runtime. - Run
nagient preflight --format jsonand inspect errors. - Add the repository and its tag to the official catalog only after review.