domain/architecture/system/release/type.bend

near-v-framework@0.4.0.0 · 20 lines · 4 definitions

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