The Single Source of Truth (SSOT) for the VTX Plugin Interface.
This repository serves as the Schema Registry (the "Legislative Branch") for the VTX ecosystem. It hosts the official WIT (WebAssembly Interface Type) definitions and distributes them to multiple language ecosystems as raw data packages.
Note for Developers: If you are looking to build a plugin, please use the VTX SDK for your specific language. This repository is primarily for tooling authors and protocol maintainers.
This project enforces a strict unidirectional data flow. The core asset is the WIT definition, and the packages are merely "carriers" to distribute this file to different registries.
wit/- The core interface definitions. All modifications must originate here.packages/- Schema carriers (containing only the.witfile and path helpers):rust/-> Crates.io: vtx-protocolnpm/-> NPM: @vtxdeo/protocolpython/-> PyPI: vtx-protocol
- Wasm Tools: Required for validating WIT syntax (
wasm-tools).
Install the verification tools:
make install-tools
Edit the wit/vtx.wit file to introduce new types or functions.
Run the syntax verification suite. This ensures the WIT file is valid before distribution.
make check
We enforce Conventional Commits to automate version management.
feat: Interface changes (Triggers MINOR version bump)fix: Typos or comment fixes in definitions (Triggers PATCH version bump)
Releases are fully automated via Release Please.
Merging a Release PR into master will automatically publish the raw WIT packages to Crates.io, NPM, and PyPI.