Contributions & Community¶
For details on contributing, community standards, and licensing, see:
Checklist when adding a new engine¶
Engine Implementation¶
- Make sure the engine is added to
engines/engine_name.py(useengines/abuseipdb.pyas a template). - Make sure the engine is added to
engines/__init__.py. - Make sure that your engine config/secret variable (if relevant) is added to
utils/config.py.
Configuration & Secrets¶
- Make sure any API key or configuration needed for the engine is added to
secrets_sample.jsonand.env.sample. - Make sure you can save secrets using the
config.htmlpage. - Make sure that the templating of variables in
docker-compose.ymlis correct.
UI & Frontend¶
- Make sure the engine result can be copied to clipboard using the GUI in
static/format_results.js. - Make sure every template in
templates/has corresponding engine result template intemplates/engines_layouts/-engine_card.htmlandengine_table.html. - Make sure the engine is added in
display_cards.htmlanddisplay_table.html. - Make sure the engine is in the GUI form
index.htmlwith relevant description - alphabetic order. - Make sure the engine is usable in the graph view in
graph.html.
Documentation¶
- Make sure the engine is documented in
docs/api-keys/Get-Engine-API-key.mdif relevant. - Make sure to add the link to the API key guide in
docs/index.mdif relevant. - Make sure the engine is documented in
docs/quick-start/API-usage-and-engine-names.md. - Make sure to add the page to the sidebar in
mkdocs.yml. - Make sure the engine is documented in
docs/quick-start/Quick-start-&-Installation.mdin thesecrets.jsonexample. - Make sure to add any environment variable needed to
docs/quick-start/Advanced-options-for-deployment.mdin thedocker composeexample. - Make sure to add references in the README.md (secrets.json example and URL of the new engine in the "API and third-party services" section).
Note: if you use an LLM to code, just make sure to use this list as a checklist to verify everything is covered (if something is missing, add it!).