$git clone https://github.com/micro/go-microGo Micro is an agent harness and service framework for Go.
| 1 | # Go Micro [](https://pkg.go.dev/go-micro.dev/v6?tab=doc) [](https://discord.gg/G8Gk5j3uXr) |
| 2 | |
| 3 | Go Micro is an **agent harness** and service framework for Go. |
| 4 | |
| 5 | ## Overview |
| 6 | A harness is the runtime around an agent: the tools it can call, the memory it keeps, the guardrails that bound it, the workflows that trigger it, the services it depends on, and the protocols other agents use to reach it. |
| 7 | |
| 8 | Go Micro gives you the harness as Go code. Build an agent and it gets a model, memory, tools, planning, delegation, guardrails, and service discovery; it is reachable over [MCP](https://modelcontextprotocol.io/) and [A2A](https://a2a-protocol.org). Write services and every endpoint becomes an AI-callable tool. Orchestrate the deterministic parts with durable flows. Agents, services, and flows share one runtime because an agent is a distributed system, and building one is building a service. |
| 9 | |
| 10 | ## Sponsors |
| 11 | |
| 12 | <a href="https://go-micro.dev/blog/3"><img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Anthropic_logo.svg" height="26" /></a> |
| 13 | |
| 14 | <a href="https://go-micro.dev/blog/29"><img src="https://upload.wikimedia.org/wikipedia/commons/4/4d/OpenAI_Logo.svg" height="26" /></a> |
| 15 | |
| 16 | <a href="https://go-micro.dev/blog/8"><img src="https://www.atlascloud.ai/logo.svg" height="26" /></a> |
| 17 | |
| 18 | **Want to support Go Micro and see your logo here?** [Become a sponsor](https://discord.gg/G8Gk5j3uXr) — reach out on Discord. |
| 19 | |
| 20 | ## Community |
| 21 | |
| 22 | Questions, ideas, or just want to build alongside us? [Join the Discord](https://discord.gg/G8Gk5j3uXr). |
| 23 | |
| 24 | ## Commercial Support |
| 25 | |
| 26 | Running Go Micro in production, or building on it and want help? Paid **support, consulting, training, and retainers** are available directly from the maintainer — and they're what keep the project maintained. See [**Support**](SUPPORT.md) for the tiers, or [open a request](https://github.com/micro/go-micro/issues/new?template=commercial_support.md). |
| 27 | |
| 28 | ## Contents |
| 29 | |
| 30 | - [Quick Start](#quick-start) |
| 31 | - [First agent on-ramp](#first-agent-on-ramp) |
| 32 | - [Why an Agent Harness](#why-an-agent-harness) |
| 33 | - [Writing Services](#writing-services) |
| 34 | - [Building Agents](#building-agents) — [Plan & Delegate](#plan--delegate), [Pluggable](#batteries-included-pluggable), [Paid tools (x402)](#paid-tools-x402), [A2A](#reachable-by-other-agents-a2a) |
| 35 | - [Features](#features) |
| 36 | - [CLI](#cli) |
| 37 | - [Autonomous improvement loop](#autonomous-improvement-loop) |
| 38 | - [Multi-Service Projects](#multi-service-projects) |
| 39 | - [Data Model](#data-model) |
| 40 | - [AI Providers](#ai-providers) |
| 41 | - [Examples](#examples) |
| 42 | - [Commercial Support](#commercial-support) |
| 43 | - [Docs](#docs) |
| 44 | |
| 45 | ## Quick Start |
| 46 | |
| 47 | Install the CLI: |
| 48 | |
| 49 | ```bash |
| 50 | # Binary (no Go required) |
| 51 | curl -fsSL https://go-micro.dev/install.sh | sh |
| 52 | |
| 53 | # Or with Go |
| 54 | go install go-micro.dev/v6/cmd/micro@latest |
| 55 | ``` |
| 56 | |
| 57 | If install or `PATH` checks fail, use the [install troubleshooting guide](internal/website/docs/guides/install-troubleshooting.md) before scaffolding your first service. |
| 58 | |
| 59 | ### Fastest start — no API key |
| 60 | |
| 61 | Scaffold a service, run it, call it: |
| 62 | |
| 63 | ```bash |
| 64 | micro new helloworld |
| 65 | cd helloworld |
| 66 | micro run |
| 67 | ``` |
| 68 | |
| 69 | Then in another terminal: |
| 70 | |
| 71 | ```bash |
| 72 | curl -X POST http://localhost:8080/api/helloworld/Helloworld.Call \ |
| 73 | -H 'Content-Type: application/json' -d '{"name":"World"}' |
| 74 | ``` |
| 75 | |
| 76 | This install → scaffold → run → call path is covered by no-secret CI harnesses. To |
| 77 | verify just the local installer and first-run CLI boundaries without network |
| 78 | access or provider keys, use: |
| 79 | |
| 80 | ```bash |
| 81 | make install-smoke |
| 82 | ``` |
| 83 | |
| 84 | To verify the focused CLI inner-loop contract — scaffold → run/chat/inspect → deploy dry-run — use: |
| 85 | |
| 86 | ```bash |
| 87 | make inner-loop |
| 88 | ``` |
| 89 | |
| 90 | To run only the ordered [0→hero services → agents → workflows transcript](internal/website/docs/guides/zero-to-hero.md) that CI guards, use: |
| 91 | |
| 92 | ```bash |
| 93 | make zero-to-hero-tra |