Skip to content

Manifest (teammate.json) ​

Every community scanner needs a manifest beside its adapter.

json
{
  "name": "rss",
  "display_name": "RSS Feeds",
  "version": "2.0.0",
  "description": "Monitors RSS/Atom feeds for new entries",
  "author": "hivescanner-community",
  "adapter_file": "adapter.py",
  "config_template": {
    "enabled": false,
    "feeds": [],
    "max_items_per_feed": 20,
    "feeds_per_poll": 2
  },
  "requirements": {"cli_tools": []},
  "qpm_budget": 2
}
FieldRequirement
nameUnique A-Z, a-z, digit, _, or - name, at most 64 characters; must match the directory and scanner class
display_nameNon-empty text, at most 100 characters
versionExact X.Y.Z semantic version
descriptionNon-empty text, at most 500 characters
authorNon-empty text, at most 100 characters
adapter_fileA non-symlink Python filename inside the scanner directory
config_templateJSON object whose enabled default is false; credential fields ending in _env name valid environment variables
requirements.cli_toolsMust be []; community subprocesses cannot require child CLI tools
qpm_budgetInteger from 1 to 60; advisory metadata, not parent-enforced throttling
supports_check_actedOptional boolean; omit or use false unless the interface is implemented and reviewed

The adapter itself must enforce its provider's request budget, pacing, pagination caps, Retry-After behavior, and total poll deadline. Hiring validates and copies the files but leaves the scanner disabled until the user explicitly configures and enables it.

Released under the Apache 2.0 + Commons Clause License.