Go backend platform for aide-family — monorepo of shared tooling and microservices
- About
- Features
- Prerequisites
- Installation
- Quick Start
- Project Structure
- Documentation
- Contributing
- License
- Acknowledgments
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 & 中文).
- 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
git clone https://github.com/aide-family/moon.git
cd moonNo global install is required at the repo root. Each app is built and run from its own directory (see Quick Start and Documentation).
From the repository root:
Build all apps:
make allRun a single app in development mode:
make <app>Where <app> is one of: goddess, rabbit, marksman. Example:
make rabbitList all Make targets:
make helpGenerate code (e.g. from protos) for all apps:
make genFor app-specific setup (config, database, etc.), see the README of each app under Documentation.
| 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 |
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 / 中文).
| Project | English | 中文 |
|---|---|---|
| Goddess | README | README |
| Rabbit | README | README |
| Marksman | README | README |
| Magic Box | README | README |
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.
This project is under the MIT License. Each sub-project may have its own LICENSE file; see the following for details: