Skip to content

Ecosystem Components & Dependencies

This page tracks the components that make up the Astromesh ecosystem, how they relate to each other, and the dependency graph between the packages in the monorepo. It is kept in sync with docs/ECOSYSTEM_DEPENDENCIES.md in the repository.

These directories ship from this repository on their own tags and versions.

ComponentPackageDirectorymain versiondevelop versionVersion sourceMin Python / Runtime
Core Runtimeastromeshastromesh/0.40.00.40.0astromesh/__init__.pyPython 3.12
Glyphastromesh-glyphastromesh-glyph/0.1.00.1.0astromesh_glyph/__init__.pyPython 3.12
ADKastromesh-adkastromesh-adk/0.2.00.2.0astromesh_adk/__init__.pyPython 3.12
CLIastromesh-cliastromesh-cli/0.2.00.2.0astromesh_cli/__init__.pyPython 3.12
Nodeastromesh-nodeastromesh-node/0.1.10.1.1src/astromesh_node/__init__.pyPython 3.12
Orbitastromesh-orbitastromesh-orbit/0.4.00.4.0astromesh_orbit/__init__.pyPython 3.12
Forgeastromesh-forgeastromesh-forge/0.24.00.24.0package.jsonNode 22.12
Docs sitedocs-sitedocs-site/0.1.00.1.0package.jsonNode (site build)
VS Code extensionvscode-extensionvscode-extension/0.1.00.1.0package.jsonNode (build)
Native extensionastromesh-nativenative/0.1.00.1.0Cargo.tomlRust

These components are part of the Astromesh ecosystem but live in their own repositories. Their versions are recorded in docs-site/src/data/ecosystem.ts, which feeds the ecosystem map, release ledger, and status board on the documentation site.

ComponentRepositoryCurrent versionEcosystem groupStatus
Cortexastromesh-cortex0.19.0AuthorShipped
Leiaastromesh-leia0.5.0AuthorShipped
Heraldastromesh-herald0.1.0ReachShipped
OSastromesh-os0.10.1ShipShipped
Prismaastromesh-prisma0.1.0ShipIn development
Nexusastromesh-nexus0.11.0OperateShipped
Nebulaastromesh-nebula0.1.0ModelsPreview

The core runtime sits at the center. Every Python package that needs to run agents declares a runtime dependency on astromesh. Optional extras on the core pull in astromesh-glyph for the glyph orchestration pattern.

Consumer packageDeclared dependencyMinimum versionNotes
astromesh-adkastromesh>=0.30.0Editable path source in the monorepo (..)
astromesh-cliastromesh>=0.36.0Editable path source in the monorepo (..)
astromesh-nodeastromesh>=0.18.0Editable path source in the monorepo (..)
astromesh-nodeastromesh-cli>=0.1.0Editable path source (../astromesh-cli)
astromeshastromesh-glyph>=0.1.0Optional extra only (astromesh[glyph]); editable path source in the monorepo
  • astromesh-cli exposes the astromeshctl.plugins entry point.
  • astromesh-node registers node = astromesh_node.cli.plugin:register.
  • astromesh-orbit registers orbit = astromesh_orbit.cli:register.

This means astromesh-node and astromesh-orbit extend the same CLI binary (astromeshctl) when they are installed alongside astromesh-cli.

All authoring tools produce the same agent spec that the core runtime understands:

  • ADK — Python decorators + project CLI. Generates YAML under the hood.
  • Forge — Browser-based visual builder, served by the node at /forge.
  • Cortex — Desktop IDE (own repo).
  • Leia — Natural-language operations plugin for Claude Code (own repo).
  • Core Runtime — Loads YAML agents, routes roles to models, runs orchestration patterns, manages memory/tools/guardrails.
  • Glyph — Optional action-language pattern inside the runtime. Requires the glyph extra or a local editable install.
  • Herald (own repo) — Communications gateway. Inbound WhatsApp messages invoke agents; agents reach people back through the same outbox. Herald sits in front of Nexus, not the runtime directly.
  • The core runtime also has a built-in WhatsApp channel adapter for self-hosted deployments.
  • Node — Native system service installer/deb/rpm/pkg/Windows service.
  • OS (own repo) — Immutable Linux appliance image.
  • Orbit — Terraform-based cloud infrastructure (GCP first).
  • Prisma (own repo, in development) — Reconciles agent specs into cloud-managed AI primitives instead of running the runtime.
  • CLIastromeshctl, the terminal interface to a node.
  • Nexus (own repo) — Multi-tenant control plane: publishes agents, dispatches runs, meters and bills.
  • Nebula (own repo) — Open-model foundry that trains, gates, and publishes the models the runtime routes to.

Last merge from develop to main: v0.40.0. Current state: develop is ahead of main with documentation-only changes; no monorepo package versions have changed since the last merge.

All monorepo packages currently on main:

PackageVersion in main
astromesh0.40.0
astromesh-glyph0.1.0
astromesh-adk0.2.0
astromesh-cli0.2.0
astromesh-node0.1.1
astromesh-orbit0.4.0
astromesh-forge0.24.0

4.2 What is in develop but not yet in main

Section titled “4.2 What is in develop but not yet in main”

These changes are documentation/site updates and do not require a version bump of any runtime package:

  • Documentation site: ecosystem star-map on the homepage, Glyph and Herald sections, release ledger, status board, Prisma page.
  • README.md: ecosystem table rewritten by layer, layer badge, updated orchestration pattern count.
  • CHANGELOG.md: [Unreleased] section documenting the docs-site changes.
  • AGENTS.md: guidance file for AI coding agents.
  • .claude/settings.local.json: local Claude command history.

A merge of the current develop branch into main would carry the documentation and site updates. No package releases are required because no code changed since v0.40.0.

If a new runtime release is desired, the normal release flow applies:

  1. Update CHANGELOG.md under [Unreleased] (already done).
  2. Run cz bump on develop to bump astromesh to the next version.
  3. Re-lock uv.lock files for packages that reference the core as an editable path (astromesh-node, astromesh-cli, root).
  4. Merge develop into main and tag vX.Y.Z.

When a package version changes:

  1. Update its version in the package’s own pyproject.toml / package.json / Cargo.toml and its __init__.py.
  2. Update docs-site/src/data/ecosystem.ts (the source of truth for the site map and release ledger).
  3. Update docs/ECOSYSTEM_DEPENDENCIES.md in the repository root.
  4. Update this page if the prose description of a component changed.