Contribute

The database is a set of YAML files in git. Everything — new devices, findings, claims — arrives as a pull request, by hand or through the MCP server.

Pull request workflow

  1. Fork the repository (or use "Edit this record on GitHub" on any device page).
  2. Add or edit data/devices/<vendor>/<model>.yaml. The id is <vendor-slug>/<model-slug>, lowercase a-z 0-9 -.
  3. Run npm install && npm run validate: every record is checked against schema/device.schema.json.
  4. Open the pull request. Say what you checked yourself and what an AI tool produced.

A curated file overrides an imported record with the same id: to enrich a device that came from another database, create its curated file — device pages for imported records link to a prefilled one.

Record format

A real record, data/devices/ryze/tello.yaml:

id: ryze/tello
vendor: Ryze Tech
model: Tello
aliases: [DJI Tello]
category: drone
identifiers:
  ble_names: []
status: controllable
vendor_support: degraded
summary: >-
  Small Wi-Fi drone with an official text command SDK over UDP. Community libraries
  also cover the undocumented binary protocol used by the vendor app (video, telemetry).
interfaces:
  - name: Tello SDK text commands
    transport: wifi
    status: documented
    confidence: high
    notes: UDP 8889 commands, 8890 state, 11111 video
projects:
  - name: DJITelloPy
    url: https://github.com/damiafuentes/DJITelloPy
    kind: library
    license: MIT
provenance:
  sources: [curated]
  ai_assisted: false
updated: 2026-10-17

The specification describes every field; the JSON Schema is normative.

Status levels

Claims: say you are on it

Before you start reverse engineering a device, add a claim. It shows the device asIn progress on the site and in agents' lookups, with your contact, so nobody starts the same job in parallel. Claims expire (90 days at most); renew or publish.

claims:
  - who: Jane Doe
    contact: https://github.com/janedoe
    scope: BLE control protocol
    since: 2026-10-17
    expires: 2026-11-16
    agent: claude-code

Agents do this with the claim_device tool.

Verification levels

AI-produced protocol descriptions can be confidently wrong. Each interface carries aconfidence (low, medium, high), and each record a verification list:

verification:
  - method: hardware-replay
    by: Jane Doe
    date: 2026-11-10
    firmware: "1.4.2"
    notes: tests/replay_takeoff_land.py passes on two units

Set provenance.ai_assisted: true whenever an AI tool wrote part of the record, and list the tools.

What we accept

Protocol descriptions, original open-source code and links — never firmware images, vendor code or keys, and nothing that defeats a safety function (Remote ID, geofencing, radio limits…). Read the content policy.

News posts

Add news/YYYY-MM-DD-slug.md with title, date, summary and tags in the frontmatter.