fabric

package module
v1.37.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

README

Microbus.io logo

License Apache 2 Go Reference Test Go Report Card Discord

Microbus is the only fabric where every agentic workflow runs on a true microservice substrate. That single design choice gives your workflows security, scale, observability and prompt-driven authoring that bolt-on workflow engines cannot match.

Documentation

Full documentation lives at docs.microbus.io, including:

Quick Start

You'll need a coding agent (e.g. Claude Code), Go 1.26+, NATS, and a SQL database for agentic workflow state. Then:

mkdir -p myproject
cd myproject

Ask your coding agent to bootstrap Microbus:

curl the workflow at microbus.io/bootstrap and follow it

The agent walks through the bootstrap, sets up .claude/ rules and skills, scaffolds the project, and verifies the build. See Get Started for the full walkthrough.

Community

Website www.microbus.io
Docs docs.microbus.io
GitHub github.com/microbus-io
Discord discord.gg/FAJHnGkNqJ
LinkedIn linkedin.com/company/microbus-io
Reddit r/microbus
YouTube @microbus-io
Email info@microbus.io

License

Apache 2.0. See LICENSE and ATTRIBUTION.md for third-party OSS licensing.

Documentation

Overview

Package fabric is the module root of the Microbus framework. It declares no public API of its own; the framework is consumed through its subpackages such as connector, service, application, and httpx. This file exists so the module root resolves to a buildable package for tooling that lists it.

Directories

Path Synopsis
Application is a collection of microservices that run in a single process and share the same lifecycle
Application is a collection of microservices that run in a single process and share the same lifecycle
Package cfg is used for defining configuration properties.
Package cfg is used for defining configuration properties.
cmd
gencreds command
gencreds reads a microservice bundle's source code, derives per-service NATS ACL rule sets via AST analysis, and signs them into <hostname>_nats.creds files using the operator's account NKey.
gencreds reads a microservice bundle's source code, derives per-service NATS ACL rule sets via AST analysis, and signs them into <hostname>_nats.creds files using the operator's account NKey.
genmanifest command
genmanifest regenerates manifest.yaml deterministically from a microservice's source code.
genmanifest regenerates manifest.yaml deterministically from a microservice's source code.
genmock command
genmock regenerates a microservice's mock.go from the ToDo interface declared in its intermediate.go.
genmock regenerates a microservice's mock.go from the ToDo interface declared in its intermediate.go.
genopenapispecs command
genopenapispecs is a filter: it reads an OpenAPI document (JSON or YAML) on stdin and writes the normalized specs JSON on stdout.
genopenapispecs is a filter: it reads an OpenAPI document (JSON or YAML) on stdin and writes the normalized specs JSON on stdout.
gentopology command
gentopology renders the application's topology diagram (a Mermaid graph) from source.
gentopology renders the application's topology diagram (a Mermaid graph) from source.
genworkflowmmd command
genworkflowmmd regenerates Mermaid diagrams for every workflow graph endpoint exposed by a microservice.
genworkflowmmd regenerates Mermaid diagrams for every workflow graph endpoint exposed by a microservice.
internal/pkgresolver
Package pkgresolver maps Go package import paths to on-disk directories.
Package pkgresolver maps Go package import paths to on-disk directories.
internal/schema
Package schema holds the typed shapes that the cmd/* tools share.
Package schema holds the typed shapes that the cmd/* tools share.
Package connector implements the base class of all microservices.
Package connector implements the base class of all microservices.
coreservices
control/controlapi
Package controlapi implements the public API of the control.core microservice, including clients and data structures.
Package controlapi implements the public API of the control.core microservice, including clients and data structures.
llm
devservices
Package dlru implements an LRU cache that is distributed among the peers of a microservice.
Package dlru implements an LRU cache that is distributed among the peers of a microservice.
Package env loads environment variables from env.yaml / env.local.yaml files into the real OS environment at package init time, following dotenv conventions.
Package env loads environment variables from env.yaml / env.local.yaml files into the real OS environment at package init time, following dotenv conventions.
examples
Package httpx includes various HTTP utilities.
Package httpx includes various HTTP utilities.
Package mem uses multiple sync pools of byte slices to provide allocation-free buffers of various sizes.
Package mem uses multiple sync pools of byte slices to provide allocation-free buffers of various sizes.
Package openapi declares the registration types (Service and Endpoint) that describe a microservice's externally-visible features, along with Render which converts a Service into an OpenAPI 3.1 Document.
Package openapi declares the registration types (Service and Endpoint) that describe a microservice's externally-visible features, along with Render which converts a Service into an OpenAPI 3.1 Document.
Package pub is used for the publishing of requests.
Package pub is used for the publishing of requests.
Package service defines the interfaces of a microservice, which the connector implements.
Package service defines the interfaces of a microservice, which the connector implements.
Package sub is used for subscribing to handle requests.
Package sub is used for subscribing to handle requests.
Package transport implements the substrate used by microservices to communicate with each other.
Package transport implements the substrate used by microservices to communicate with each other.
Package trc is used for working with tracing spans.
Package trc is used for working with tracing spans.
Package utils is an assortment of independent utilities.
Package utils is an assortment of independent utilities.
verify

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL