Package Reference

The Microbus codebase is organized into a small set of focused Go packages. The reference docs in this section catalog each package’s role and exported API.

How the Codebase Is Organized

The connector package is the foundation. Every microservice embeds a Connector to gain a uniform interface for transport, observability, configuration and lifecycle. Most of the framework’s behavior is reachable through the connector’s API.

The coreservices directory holds the framework-supplied microservices - HTTP ingress and egress, the configurator, the foreman that orchestrates agentic workflows, the metrics aggregator, the MCP portal, the LLM bridge, and others. Each is a self-contained microservice that an application can include as needed.

The examples directory contains demonstration microservices showing key patterns - hello world, calculator, events, authentication, agentic workflows, SQL CRUD. Browse them when learning the framework or scaffolding a new service.

Around these three sit a focused set of supporting packages:

  • Application & service plumbing - application, service, frame, pub, sub, transport, trc define the types and options the connector and microservice authors work with.
  • Tooling and utilities - cfg, env, httpx, lru, dlru, mem, openapi, workflow, utils provide focused helpers for specific concerns.
  • Codegen CLIs - cmd contains the small CLI tools (genmanifest, gencreds, gentopology) that the framework uses to generate manifests, signed credentials and deployment topologies.

Where to Start

If you are building a microservice, the connector is the package you’ll work with most. It exposes everything from endpoint registration to event publishing to ticker scheduling through one uniform API.

If you are configuring an application’s topology, start with application and the coreservices you want to bundle.

For a tour of working code, the examples cover the surface area in small, focused services.

Using the Reference

Each package’s page describes its purpose, the types and functions it exports, and links into related framework concepts. Use the left navigation to drill into individual packages.