pub enum Target {
Show 17 variants
OpenApi,
Docs,
Benchmarks,
Registry,
Allow,
Documents,
Providers,
Editors,
Site,
Web,
Changelog,
Distribution,
Manifest,
Deployment,
Graph,
Design,
Economics,
}Expand description
What can be generated.
Variants§
OpenApi
docs/generated/openapi.{json,yaml}.
Docs
docs/generated/capabilities.md (the index), docs/generated/modules/<id>.md,
docs/generated/cli.md and docs/generated/cli.{json,yaml} (the command line as
clap declares it, with the examples declared beside it), and
docs/generated/providers.{md,json,yaml}: every provider the distribution declares,
with what this repository does with it — the one table the documents point at
instead of enumerating providers by hand (ADR 0024).
Benchmarks
docs/generated/benchmarks.{md,json,yaml}: every benchmark target and the
coverage, from the projection.
Registry
docs/generated/registry.{json,yaml}: the builtin registry as data,
majordomus/capability-registry/v1.
Allow
<share>/allow/<name>.txt for every schema that carries x-majordomus-allow.
Documents
The projections of every .proto document schema: the JSON Schema beside it and
<share>/sections/<name>.txt, the body half of its contract (see
crate::proto::project).
Providers
The provider bootstraps the policy’s projections[] declare, rendered from the
provider templates: AGENTS.md, CLAUDE.md, … (see crate::providers). The
provider table is a document of Target::Docs: a repository that projects no
bootstrap still has providers, and a fixture that checks its bootstraps alone is not
asked for a document it never wrote.
Editors
The files Zed and Google Antigravity read from a project: one
.agents/skills/<id>/SKILL.md per active skill and .zed/tasks.json from the tracked
justfile
(see the editors module, ADR 0140).
Site
site/data/registry/registry.json: the registry dataset GitHub Pages renders
(see crate::site).
Web
docs/generated/web.json: the resolved web topology, majordomus/web-topology/v1.
The site generator has no Rust toolchain and reads committed files; this is how the
topology reaches the published documentation without the site shelling out to this
executable, and how generate --check notices when it has gone stale.
Changelog
docs/generated/changelog.{json,yaml,md}: the changelog of every published release,
composed from the layer’s release records, the decisions dated inside each release’s
window and the conventional commits in its range (see crate::release). Not the
unreleased section: that is <last release>..HEAD, which no committed file can
carry without going stale at the next commit, and which the served surfaces add at
request time.
A generated document like any other, which is the point: generate --check is what
notices that the changelog has stopped describing the releases, so nobody has to
remember to update it.
Distribution
Everything derived from the distribution model (see crate::distribution): the
release build matrix, the installer, the installation guide, the site’s dataset,
and the public metadata of every recorded release — and share/version.txt, the
projection of the version the shell tool ships with and reads at start-up.
Manifest
docs/generated/artifacts.{json,yaml,md}: every artifact of every other target,
with its encoding, schema, source and hash. Always planned over the whole set, so
that a manifest naming half the artifacts cannot exist.
Deployment
The artifacts of every deployment object: deploy/Dockerfile and .dockerignore
(see crate::deploy::render).
Graph
docs/generated/graph.json: the composed graph as data, and
docs/generated/graph.schema.json: its schema, generated from the types.
Design
Every projection of the design system (see design::render): the
stylesheets both Tailwind builds import, the tokens and the declaration compiled
into the crate, the mark the Cockpit’s shell inlines, the copies of the brand every
surface serves, the site’s dataset, and docs/generated/design.{json,yaml,md}.
Economics
docs/generated/economics.{json,yaml,md}: the token-economics summary and the
human-readable benchmark report, computed from the committed run records by
crate::economics::summarize_tracked — the numbers the site publishes, never
typed, and never a record someone ran locally without committing it.
Implementations§
Source§impl Target
impl Target
Sourcepub const ALL: &'static [Target]
pub const ALL: &'static [Target]
Every target, in generation order. Target::Manifest is last because it indexes
the others.
Sourcepub fn indexed() -> Vec<Target>
pub fn indexed() -> Vec<Target>
Every target but the manifest, in generation order: the artifacts the manifest indexes.
Derived from Target::ALL rather than written beside it. It was a second list by
hand, and three times a target was added to ALL and forgotten here, which made
that target’s artifacts the only ones the index said nothing about.
Trait Implementations§
impl Copy for Target
impl Eq for Target
impl StructuralPartialEq for Target
Auto Trait Implementations§
impl Freeze for Target
impl RefUnwindSafe for Target
impl Send for Target
impl Sync for Target
impl Unpin for Target
impl UnsafeUnpin for Target
impl UnwindSafe for Target
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.