Chapter 09 · Architecture · 3D
The system, rotated.
luna-agents is a layered system: an npm package that ships a Claude Code plugin, four MCP servers, an Astro book at agents.lunaos.ai, and a Cloudflare edge to serve all of it. Below is every piece in 3D. Drag to orbit. Scroll to zoom. Click a node to inspect.
- Commands
- 358
- Agents
- 45
- MCP servers
- 4
- Site routes
- 12
Layers, in prose.
1. Runtime entry
npm install -g luna-agents drops the luna-setup
binary on your PATH. It detects Claude Code at
~/.claude and registers the plugin marketplace, which
makes every /luna-agents:* command available.
2. The plugin
.claude-plugin/ is the Claude Code plugin
manifest. It points at the sibling commands/
directory (358 markdown files, one per slash command) and
agents/ (45 agents). The whole bundle is
versioned together as luna-agents-marketplace.
3. MCP servers
Four MCP servers sit in mcp-servers/ and expose
tools over stdio:
luna-nexa-rag— semantic code search powered by Nexa SDK embeddingsluna-glm-vision— GLM 4V image understanding for UI auditsluna-vision-rag-client— composes RAG + visionluna-lexicon— exposes the 358-entry lexicon over MCP
4. The book (this site)
site/ is an Astro static site deployed to
Cloudflare Pages project luna-agent behind
agents.lunaos.ai. Each
page in the book is one Astro file under
site/src/pages/.
5. Edge
Cloudflare Pages serves the static book. The wider LunaOS engine lives on Workers + D1 + KV + R2; the agents site doesn't depend on it at runtime — it's a static artifact.
How the 3D was built.
Three.js loaded from a CDN module. Nodes are
SphereGeometry with emissive materials; connections
are Line segments with particles travelling along
them. Positions are hand-tuned to keep layers stacked left → right
from install to edge. No physics simulation;
determinism over noise.
View source on GitHub.