Quickstart
Write a minimum viable export first. Four arrays and an envelope is a valid PluralPort file, and it already beats a proprietary dump.
Emit the envelope
Set pluralport_version, producer, and a capabilities.modules array listing only what you actually populate.
Map systems and members
Generate file-local IDs, then put your originals in source_refs. Anything you can’t map goes in extensions under your app ID.
Report what you dropped
Every skipped or degraded value gets a warnings entry. Silent loss is the one thing the spec treats as a bug.
Want a worked example?
The PluralPort Converter does steps 1 to 3 for apps that have not adopted the format themselves. Its source mappings are reference implementations you can crib from, and the file it produces is a handy fixture for testing your importer.
Register your App ID
Short IDs are used in SourceRef.app and as extensions namespaces. Open a PR against the repo, or use a reverse-DNS key like com.example.app if you’d rather not register.
