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