docs: switch rust backend to multi-package layout
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# 当前阶段先建立虚拟 workspace。
|
||||
# 各 crate 创建完成后,再按任务清单逐项补充 members。
|
||||
# 后续按“主工程 apps + 独立模块 packages”模式逐项补充 members。
|
||||
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
|
||||
@@ -14,24 +14,37 @@
|
||||
|
||||
## 2. 当前阶段说明
|
||||
|
||||
当前目录已经完成以下两项初始化:
|
||||
当前目录已经完成以下四项初始化:
|
||||
|
||||
1. 为新后端预留正式目录并把路径固定到仓库结构中。
|
||||
2. 创建虚拟 workspace `Cargo.toml`,后续 crate 会逐项挂入。
|
||||
3. 创建 `crates/api-server/` 目录占位,固定 Axum 入口 crate 落位。
|
||||
2. 创建虚拟 workspace `Cargo.toml`,后续 package 会逐项挂入。
|
||||
3. 明确内部采用“`apps/*` 主工程 + `packages/*` 独立模块包”的多 package 组织方式。
|
||||
4. 创建 `apps/api-server/` 目录占位,固定 Axum 主工程落位。
|
||||
|
||||
后续任务会继续在本目录内按顺序补齐:
|
||||
|
||||
1. `crates/spacetime-module`
|
||||
2. `crates/application`
|
||||
3. `crates/domain`
|
||||
4. `crates/contracts`
|
||||
5. `crates/auth-service`
|
||||
6. `crates/oss-service`
|
||||
7. `crates/llm-service`
|
||||
8. `crates/spacetime-client`
|
||||
9. `crates/tests`
|
||||
10. `scripts/*`
|
||||
1. `apps/spacetime-module`
|
||||
2. `packages/module-auth`
|
||||
3. `packages/module-runtime`
|
||||
4. `packages/module-story`
|
||||
5. `packages/module-combat`
|
||||
6. `packages/module-inventory`
|
||||
7. `packages/module-npc`
|
||||
8. `packages/module-progression`
|
||||
9. `packages/module-quest`
|
||||
10. `packages/module-runtime-item`
|
||||
11. `packages/module-custom-world`
|
||||
12. `packages/module-assets`
|
||||
13. `packages/module-editor`
|
||||
14. `packages/module-ai`
|
||||
15. `packages/shared-contracts`
|
||||
16. `packages/shared-kernel`
|
||||
17. `packages/platform-auth`
|
||||
18. `packages/platform-oss`
|
||||
19. `packages/platform-llm`
|
||||
20. `packages/spacetime-client`
|
||||
21. `packages/tests-support`
|
||||
22. `scripts/*`
|
||||
|
||||
## 3. 已冻结边界
|
||||
|
||||
@@ -39,8 +52,9 @@
|
||||
|
||||
1. 迁移期保留 `server-node/`,不提前删除。
|
||||
2. 前端在 `M0 ~ M6` 期间只访问 Axum,不直连 SpacetimeDB。
|
||||
3. 外部副作用统一收口在 Axum / application / infra。
|
||||
4. `spacetime-module` 只负责状态、规则、reducer、view 与读模型。
|
||||
3. 外部副作用统一收口在 Axum / package 内应用层 / infra。
|
||||
4. `apps/api-server` 只组合与暴露协议,不直接吞并业务模块实现。
|
||||
5. `apps/spacetime-module` 只负责汇总各模块 package 的表、reducer、view。
|
||||
|
||||
## 4. 关联文档
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# api-server crate 占位说明
|
||||
# api-server 主工程 package 占位说明
|
||||
|
||||
日期:`2026-04-20`
|
||||
|
||||
## 1. crate 职责
|
||||
## 1. package 职责
|
||||
|
||||
`api-server` 是新后端的 Axum 入口 crate,后续负责:
|
||||
`api-server` 是新后端的 Axum 主工程 package,后续负责:
|
||||
|
||||
1. `main.rs` 启动入口
|
||||
2. `Router` 装配
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
当前提交仅完成目录占位,不提前进入具体实现。
|
||||
|
||||
后续与本 crate 直接相关的任务包括:
|
||||
后续与本 package 直接相关的任务包括:
|
||||
|
||||
1. 搭建 `main.rs` / `Router` / `with_state`
|
||||
2. 接入统一配置加载
|
||||
@@ -29,6 +29,6 @@
|
||||
## 3. 边界约束
|
||||
|
||||
1. `api-server` 负责 HTTP、SSE、Cookie、Header、路由与协议装配。
|
||||
2. 业务编排下沉到 `application` crate。
|
||||
3. 外部副作用通过 `auth-service`、`oss-service`、`llm-service` 与后续基础设施适配层完成。
|
||||
2. 业务逻辑优先通过独立模块 package 暴露能力,再由主工程组合。
|
||||
3. 外部副作用通过 `platform-auth`、`platform-oss`、`platform-llm` 与各模块 package 的应用层完成。
|
||||
4. 不把领域规则直接堆在 handler 中。
|
||||
Reference in New Issue
Block a user