Skip to main content

Tooling, Build, And Execution

Morph packages can own commands, execution formats, and build providers.

This is a major part of the modern Morph model.


Tooling Is Package Space

Commands do not have to be core-owned.

Packages can own tooling behavior such as:

  • test commands
  • execution commands
  • build commands
  • provider-specific tooling actions

Examples from the repo:

  • Test owns testing behavior
  • Vcon owns VCON command behavior
  • Build owns generic build orchestration

Concrete anchors in this repo:

  • Package-owned CLI implementations are typically listed under the package root morph.toml [build].cli_sources (for example Core lists features/tooling/Commands.cpp).
  • Runtime-facing tooling that needs access to the manifest graph uses nir/morph/MorphManifest.h (for example morphs/Core/features/tooling/Commands.cpp).

Execution Is Package Space

Execution formats and engines can be package-owned too.

That is why Vcon exists as a Morph package:

  • the format is package-owned
  • the engine is package-owned
  • the command surface is package-owned

Core should provide execution host capability, not own one execution format as a special case.


Build Is Split Ownership

Build ownership is usually divided into:

  • generic orchestration in Build
  • concrete platform behavior in platform packages

Examples:

  • Build owns provider-neutral build flow
  • Windows owns Windows-specific provider behavior
  • Web owns web-specific provider behavior

What Plugin Authors Should Learn From This

If your feature needs:

  • a new command
  • a new build provider
  • a new execution format

the answer is still package-first.

Do not add a special branch to core command dispatch or core build routing as the feature owner.


Common Pattern

The stable pattern is:

  1. framework exposes a generic host interface
  2. package declares ownership through manifest descriptors
  3. package implementation provides the real behavior

That keeps the system extensible without pushing feature ownership back into core.


Next Steps