MainSDK
Search⌘K
Community

Contribute a driver

Write a driver with the testing kit, run conformance and add it to the community registry.

Planned for 0.5

Status Status is where the work is: Planned (in a milestone, not started), Building (tickets in progress), Preview (usable, may change), then the stability it ships at.

Stability The promise an interface ships with.

  • Stable Follows semantic versioning; breaking changes need a new major, 12 months of overlap and a codemod.
  • Beta Usable in production; may change before it becomes stable.
  • Experimental May change or go away; needs an explicit opt-in in main.yaml.
Stability levels
Updated 2026-10-28
  1. Write the driver against the interface's contract, using the driver kit in @mainsdk/testing.
  2. Run the conformance suite for each interface version you claim. It must report no failures.
  3. Publish the package yourself under your own name.
  4. Add an entry to docs/community/drivers.yaml by pull request with the package, the interface versions, your repository, your name and the conformance counts and date.

A later failing run marks the driver failing on the listing until you fix it.

Was this page helpful?

↑↓ moveEnter openEsc close

Not decided yet