Moon
Moon is a versatile monitoring and alerting platform designed for multiple domains, supporting various application scenarios such as cloud-native, Internet of Things (IoT), and artificial intelligence (AI).
Install / Use
/learn @aide-family/MoonREADME
Moon
<p align="center"> <strong>Go backend platform for aide-family — monorepo of shared tooling and microservices</strong> </p> <p align="center"> <a href="README-zh_CN.md">中文</a> · <a href="README.md">English</a> </p> <p align="center"> <a href="app/goddess/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a> <a href="https://go.dev/"><img src="https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat&logo=go" alt="Go Version"></a> <a href="https://github.com/go-kratos/kratos"><img src="https://img.shields.io/badge/Kratos-v2.9.2-00ADD8?style=flat&logo=go" alt="Kratos"></a> <a href="https://github.com/spf13/cobra"><img src="https://img.shields.io/badge/Cobra-v1.10-00ADD8?style=flat&logo=go" alt="Cobra"></a> </p>Table of Contents
- About
- Features
- Prerequisites
- Installation
- Quick Start
- Project Structure
- Documentation
- Contributing
- License
- Acknowledgments
About
Moon is a Go backend platform maintained by aide-family. This repository is a monorepo that includes:
Each application has its own go.mod, build pipeline, and documentation (English & 中文).
Features
- Monorepo — One repository for shared code and multiple services
- Kratos — Consistent service framework (HTTP/gRPC, config, logging)
- Cobra — CLI and subcommands for each app
- Magic Box — Shared utilities (safety, OAuth, validation, etc.) used across apps
- Bilingual docs — README and docs in English and 中文 for root and sub-projects
Prerequisites
Installation
git clone https://github.com/aide-family/moon.git
cd moon
No global install is required at the repo root. Each app is built and run from its own directory (see Quick Start and Documentation).
Quick Start
From the repository root:
Build all apps:
make all
Run a single app in development mode:
make <app>
Where <app> is one of: goddess, rabbit, marksman, jade_tree. Example:
make rabbit
List all Make targets:
make help
Generate code (e.g. from protos) for all apps:
make gen
For app-specific setup (config, database, etc.), see the README of each app under Documentation.
Project Structure
| Path | Name | Description |
|------|------|-------------|
| magicbox/ | Magic Box (月光宝盒) | Shared toolkit and library (safety, OAuth, validation, etc.) |
| app/goddess/ | Goddess (嫦娥) | Authentication and authorization service |
| app/rabbit/ | Rabbit (玉兔) | Business service (e.g. time engine and related features) |
| app/marksman/ | Marksman (后羿) | Event service |
| app/jade_tree/ | Jade Tree (玉树) | Agent runtime service for collection and communication |
| proto/ | Protos | API definitions (e.g. goddess, rabbit) |
- magicbox is a Go module; goddess, rabbit, and marksman depend on it via
replacein theirgo.mod. - Each app has its own
go.mod, Makefile, and README (EN / 中文).
Documentation
| Project | English | 中文 | |---------|---------|------| | Goddess | README | README | | Rabbit | README | README | | Marksman | README | README | | Jade Tree | README | README | | Magic Box | README | README |
Contributing
Contributions are welcome. Please:
- Open an Issue for bugs or feature requests.
- Fork the repo, create a branch, make your changes, and open a Pull Request.
Ensure code and style match the existing project conventions.
License
This project is under the MIT License. Each sub-project may have its own LICENSE file; see the following for details:
