项目文件夹

文件
Asim Aslam d96f12f57b Claude/update docs roadmap f zd2 j (#2889)
* feat: add agent platform showcase and blog post

Add a complete platform example (Users, Posts, Comments, Mail) that
mirrors micro/blog, demonstrating how existing microservices become
AI-accessible through MCP with zero code changes.

Includes blog post "Your Microservices Are Already an AI Platform"
walking through real agent workflows: signup, content creation,
commenting, tagging, and cross-service messaging.

https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc

* refactor: rename handler types to drop redundant Service suffix

UserService → Users, PostService → Posts, CommentService → Comments,
MailService → Mail. Matches micro/blog naming convention.

https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc

* refactor: consolidate top-level directories, reduce framework bloat

Move internal/non-public packages behind internal/ or into their
parent packages where they belong:

- deploy/ → gateway/mcp/deploy/ (Helm charts belong with the gateway)
- profile/ → service/profile/ (preset plugin profiles are a service concern)
- scripts/ → internal/scripts/ (install script is not public API)
- test/ → internal/test/ (test harness is not public API)
- util/ → internal/util/ (internal helpers shouldn't be imported externally)

Also fixes CLAUDE.md merge conflict markers and updates project
structure documentation.

All import paths updated. Build and tests pass.

https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc

* refactor: redesign model package to match framework conventions

Rename model.Database interface to model.Model (consistent with
client.Client, server.Server, store.Store). Remove generics in
favor of interface{}-based API with reflection.

Key changes:
- model.Model interface: Register once, CRUD infers table from type
- DefaultModel + NewModel() + package-level convenience functions
- Schema registered via Register(&User{}), no per-call schema passing
- Memory implementation as default (in model package, like store)
- memory/sqlite/postgres backends updated for new interface
- protoc-gen-micro generates RegisterXModel() instead of generic factory
- All docs, blog, and README updated

https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc

* docs: clarify blog post 7 uses modular monolith, not multi-service

Blog post 7 demonstrated all handlers in a single process but framed
it as microservices without acknowledging the architectural difference.

- Add "A Note on Architecture" section explaining this is a modular
  monolith demo and pointing to micro/blog for multi-service
- Clarify that handlers can be broken out into separate services later
- Fix "service registry" language to match single-process reality
- Restructure "Adding MCP to Existing Services" to distinguish the
  in-process approach from registry-based gateway options
- Update closing to acknowledge both paradigms
- Fix README type names (&CommentService{} -> &Comments{}, etc.)

https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc

* docs: add Micro Chat to website showcase

https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc

* feat: github artifact release CI (#2886)

* 👷feat(ci): add artifact and docker releases

* 💚fix(ci): build issues

* 💚fix(ci): add permissions

* 💚fix(ci): multiple artifacts

* 💚fix(ci): split archives

* 💚fix(ci): cross platform list

* 🚧chore(ci): package name

* 🐛fix(script): install script extract arch

* 👷fix(ci): docker origin go-micro

* Update image reference in goreleaser configuration (#2887)

Fix wrong order `user/repo`

* Add blog post on building a chat app with Go Micro

Added a blog post detailing the development of a full chat app using Go Micro, outlining features, architecture, and lessons learned.

* docs: add blog post 8 to index, put Blog before Docs on homepage

- Add "We Built a Full Chat App in a Day" (blog/8) to blog index
- Reorder homepage links: Blog first (primary), Docs second
- Rename "Documentation" to "Docs"

https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Alexander Serheyev <74361701+alex-dna-tech@users.noreply.github.com>
2026-03-07 13:00:22 +00:00

296 行
8.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Go Micro - A Go microservices framework" />
<meta name="go-import" content="go-micro.dev/v5 git https://github.com/micro/go-micro">
<meta name="go-source" content="go-micro.dev/5 https://github.com/micro/go-micro https://github.com/micro/go-micro/tree/master{/dir} https://github.com/micro/go-micro/blob/master{/dir}/{file}#L{line}">
<title>Go Micro - Pluggable Go Microservices Framework</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
line-height: 1.6;
color: #333;
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
}
.container {
max-width: 680px;
background: white;
padding: 3rem 2.5rem;
border-radius: 16px;
box-shadow: 0 20px 60px rgba(0,0,0,0.15);
text-align: center;
}
.logo-wrapper {
margin-bottom: 1.5rem;
}
.logo-wrapper img {
max-width: 280px;
width: 100%;
height: auto;
}
h1 {
font-size: 1.75rem;
margin-bottom: 0.75rem;
color: #1a1a1a;
}
.tagline {
font-size: 1.15rem;
color: #555;
margin-bottom: 2rem;
font-weight: 400;
}
.install-section {
background: #f6f8fa;
border: 1px solid #d0d7de;
border-radius: 8px;
padding: 1.25rem;
margin-bottom: 2rem;
}
.install-section label {
display: block;
font-size: 0.85rem;
color: #666;
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.05em;
font-weight: 600;
}
pre {
background: #fff;
border: 1px solid #d0d7de;
padding: 0.75rem 1rem;
border-radius: 6px;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.95rem;
color: #0366d6;
overflow-x: auto;
}
.features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
gap: 1rem;
margin-bottom: 2rem;
text-align: left;
}
.feature {
background: #f8f9fa;
padding: 1rem;
border-radius: 8px;
font-size: 0.85rem;
}
.feature strong {
display: block;
color: #0366d6;
margin-bottom: 0.25rem;
font-size: 0.9rem;
}
.links {
display: flex;
gap: 0.75rem;
justify-content: center;
flex-wrap: wrap;
}
.links a {
display: inline-block;
padding: 0.7rem 1.5rem;
text-decoration: none;
font-weight: 600;
border-radius: 6px;
font-size: 0.95rem;
transition: all 0.2s;
}
.links a.primary {
background: #0366d6;
color: white;
}
.links a.primary:hover {
background: #0256c5;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(3,102,214,0.3);
}
.links a.secondary {
background: #f6f8fa;
color: #0366d6;
border: 1px solid #d0d7de;
}
.links a.secondary:hover {
background: #e9ecef;
border-color: #0366d6;
}
.stats {
margin-top: 2rem;
padding-top: 1.5rem;
border-top: 1px solid #e5e5e5;
font-size: 0.85rem;
color: #666;
}
.stats a {
color: #0366d6;
text-decoration: none;
font-weight: 500;
}
.stats a:hover {
text-decoration: underline;
}
.showcase {
margin: 2.5rem 0 1.5rem;
text-align: left;
}
.showcase h2 {
font-size: 1.35rem;
margin-bottom: 1.25rem;
color: #1a1a1a;
text-align: center;
}
.showcase-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1rem;
}
.showcase-item {
background: #f8f9fa;
border: 1px solid #e5e5e5;
border-radius: 8px;
padding: 1.25rem;
transition: all 0.2s;
}
.showcase-item:hover {
border-color: #0366d6;
box-shadow: 0 4px 12px rgba(3,102,214,0.1);
transform: translateY(-2px);
}
.showcase-item h3 {
font-size: 1.1rem;
margin-bottom: 0.5rem;
color: #0366d6;
display: flex;
align-items: center;
gap: 0.5rem;
}
.showcase-item h3 a {
color: #0366d6;
text-decoration: none;
}
.showcase-item h3 a:hover {
text-decoration: underline;
}
.showcase-item p {
font-size: 0.9rem;
color: #555;
margin-bottom: 0.75rem;
line-height: 1.5;
}
.showcase-tags {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
.showcase-tag {
font-size: 0.75rem;
background: white;
color: #666;
padding: 0.25rem 0.6rem;
border-radius: 4px;
border: 1px solid #d0d7de;
}
@media (max-width: 600px) {
.container { padding: 2rem 1.5rem; }
h1 { font-size: 1.5rem; }
.features { grid-template-columns: 1fr; }
}
</style>
</head>
<body>
<div class="container">
<div class="logo-wrapper">
<img src="https://raw.githubusercontent.com/micro/go-micro/master/logo.png" alt="Go Micro Logo" />
</div>
<h1>Go Micro</h1>
<p class="tagline">A Go microservices framework</p>
<div class="install-section">
<label>Get Started</label>
<pre>go get go-micro.dev/v5</pre>
</div>
<div class="features">
<div class="feature">
<strong>🔌 Pluggable</strong>
Swap components without changing code
</div>
<div class="feature">
<strong>⚡ Zero Config</strong>
Works out of the box with sensible defaults
</div>
<div class="feature">
<strong>🎯 RPC First</strong>
Built-in service discovery and load balancing
</div>
<div class="feature">
<strong>📡 Pub/Sub</strong>
Event-driven architecture support
</div>
<div class="feature">
<strong>🗄️ State Management</strong>
Unified store interface for persistence
</div>
<div class="feature">
<strong>🌐 Multi-Transport</strong>
HTTP, gRPC, NATS, and more
</div>
</div>
<div class="links">
<a href="blog/" class="primary">Blog</a>
<a href="docs/" class="secondary">Docs</a>
<a href="https://github.com/micro/go-micro" class="secondary">GitHub</a>
<a href="https://pkg.go.dev/go-micro.dev/v5" class="secondary">Reference</a>
</div>
<div class="showcase">
<h2>Built with Go Micro</h2>
<div class="showcase-grid">
<div class="showcase-item">
<h3>
<span>💬</span>
<a href="https://github.com/micro/chat" target="_blank" rel="noopener">Micro Chat</a>
</h3>
<p>Group chat with AI. A real-time messaging app built on Go Micro with integrated AI agents.</p>
<div class="showcase-tags">
<span class="showcase-tag">Micro</span>
<span class="showcase-tag">Chat</span>
<span class="showcase-tag">AI</span>
</div>
</div>
<div class="showcase-item">
<h3>
<span>📝</span>
<a href="https://github.com/micro/blog" target="_blank" rel="noopener">Micro Blog</a>
</h3>
<p>A blog showcasing microservices architecture with users, posts and comments.</p>
<div class="showcase-tags">
<span class="showcase-tag">Micro</span>
<span class="showcase-tag">RPC</span>
<span class="showcase-tag">Web UI</span>
<span class="showcase-tag">AGPL 3.0</span>
</div>
</div>
</div>
</div>
<div class="stats">
23K+ stars on <a href="https://github.com/micro/go-micro">GitHub</a> · Production ready · Apache 2.0 Licensed
</div>
</div>
</body>
</html>