1 import Base 2 3 # A package on the Bend hub: its name, version (four numbers), entry file and the components it ships. 4 type Package is Data: 5 Package{name: String, version: String, entry: String, components: List<&2, String>} 6 7 # The system's repository on GitHub (owner/name), and whether it is public. 8 type Repository is Data: 9 Repository{name: String, public: Bool} 10 11 # A Claude Code plugin: built by its entry's `plugin ` command at its version (semver), shipping its 12 # components, and released into a marketplace: a GitHub repository holding each plugin under 13 # plugins/, listed in its .claude-plugin/marketplace.json, and tagged -v. The 14 # marketplace is named after its repository. 15 type Plugin is Data: 16 Plugin{name: String, version: String, entry: String, components: List<&2, String>, marketplace: Repository} 17 18 # What the system publishes. 19 type Release is Data: 20 Release{repository: Repository, packages: List<&2, Package>, plugins: List<&2, Plugin>}