{"data":{"slug":"micro-go-micro","name":"go-micro","tagline":"A Go agent harness and service framework","github_url":"https://github.com/micro/go-micro","owner":"micro","repo":"go-micro","owner_avatar_url":"https://avatars.githubusercontent.com/u/5161210?v=4","primary_language":"Go","stars":23024,"forks":2416,"topics":["ai","ai-agents","distributed-systems","go","golang","mcp","micro","microservices"],"archived":false,"github_pushed_at":"2026-08-19T15:00:17+00:00","maintenance_label":"Very active","stars_delta_30d":55,"url":"https://www.graphcanon.com/tools/micro-go-micro","markdown_url":"https://www.graphcanon.com/tools/micro-go-micro.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/micro-go-micro","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=micro-go-micro","description":"A Go agent harness and service framework","homepage_url":"https://go-micro.dev","license":"Apache-2.0","open_issues":8,"watchers":486,"ai_summary":"go-micro is a framework for developing distributed systems using microservices architecture with AI-agents capabilities in the Go language.","readme_excerpt":"## Quick Start\n\nInstall the CLI:\n\n```bash\n\n---\n\n### Plan & Delegate\n\nEvery agent gets two built-in harness capabilities, exposed as tools — no extra setup or separate graph runtime:\n\n- **`plan`** — for multi-step work, the agent records an ordered plan in its store-backed memory and stays oriented across turns.\n- **`delegate`** — the agent hands a self-contained subtask to another agent. If a registered agent already owns the relevant services, the hand-off goes over RPC to that agent; otherwise a focused, short-lived sub-agent is created for the subtask with its own isolated context.\n\nThis keeps intelligence distributed: an agent doesn't need to know *how* to do everything, only *who* does. See [examples/agent-plan-delegate](examples/agent-plan-delegate/).\n\n```go\n// A sub-agent is just an agent — created with New, talked to with Ask.\n// delegate-first: reuse a registered agent, or spin up a focused one.\nresp, _ := agent.Ask(ctx, \"Plan the launch, create the tasks, and have comms notify the owner.\")\n```\n\n---\n\n### Developer experience & deployment\n\n| Feature | Details |\n|---------|---------|\n| Hot reload | `micro run` watches files, rebuilds on change |\n| Templates | `micro new --template crud/pubsub/api` |\n| One-command deploy | `micro deploy user@server` — SSH + systemd, no Docker |","github_created_at":"2015-01-13T23:30:18+00:00","created_at":"2026-07-07T17:40:36.204638+00:00","updated_at":"2026-08-20T00:00:53.858313+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"ai-agents","name":"ai-agents"},{"slug":"distributed-systems","name":"distributed-systems"},{"slug":"go","name":"go"},{"slug":"golang","name":"golang"},{"slug":"microservices","name":"microservices"},{"slug":"plan-and-delegate","name":"plan-and-delegate"}],"trust":{"provenance":{"is_fork":false,"github_id":29217054,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-20T00:00:53.046Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":30,"days_since_push":0,"last_release_at":"2026-08-19T15:00:17Z","stars_delta_30d":55,"open_issues_delta_30d":0},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":65,"high_count":0,"last_scan_at":"2026-07-11T11:17:02.799Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-20T00:00:53.538Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-08-20T00:00:53.538Z","managed_saas":false},"languages":{"value":["go"],"source":"github.language","observed_at":"2026-08-20T00:00:53.538Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-08-20T00:00:53.538Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-20T00:00:53.538Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["Use go-micro if you seek to leverage its built-in `plan` and `delegate` capabilities for orchestrating multi-step workflows across microservices.","Opt for go-micro when developing distributed systems in Go that require hot-reloading during development sessions without the necessity of Docker deployment.","Choose it if your project benefits from direct RPC delegation between agents, reducing the need to implement such functionality manually."],"when_not_to_use":["Avoid go-micro if you are looking for a tool that supports extensive documentation or examples outside of its inherent capabilities with `plan` and `delegate`; focus is more on agent harness and less.","Steer clear of this framework if your project architecture must be Docker-based, as the deployment methods provided by go-micro rely primarily on SSH and systemd rather than containerization."],"source":"enrich:decision_facts","observed_at":"2026-07-11T13:55:41.941Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"go-micro is a Go-based agent harness and service framework focused on microservices architecture with integrated AI-agent capabilities."}]}}