Files
Genarrative/server-rs/README.md
高物 3cb3efb4d0 Prune stale docs and update .hermes content
Delete a large set of outdated documentation (many files under docs/ and .hermes/plans/, including audits, design, prd, technical, planning, assets, and todos). Update and consolidate .hermes content: refresh shared-memory pages (decision-log, development-workflow, document-map, pitfalls, project-overview, team-conventions) and several skills/references under .hermes/skills. Also modify AGENTS.md, README.md, UI_CODING_STANDARD.md, docs/README.md and .encoding-check-ignore. Purpose: clean up stale planning/audit material and keep current hermes documentation and related top-level docs in sync.
2026-05-15 06:24:07 +08:00

42 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# server-rs 工作区说明
更新时间:`2026-05-15`
`server-rs/` 是当前唯一后端工作区,承载 Rust `api-server`、SpacetimeDB module、领域模块、平台副作用适配和共享契约。旧 `server-node`、Express、PostgreSQL、Go 服务端和 `maincloud` 口径均为历史残留,不再作为当前实现目标。
## 当前职责
- `crates/api-server`Axum HTTP / SSE / BFF 门面、鉴权、中间件、外部服务编排和 DTO 映射。
- `crates/spacetime-module`SpacetimeDB 表、reducer、procedure、事务 adapter、row mapper 和迁移。
- `crates/spacetime-client`:后端访问 SpacetimeDB 的 typed facade。
- `crates/module-*`:领域模型、命令、应用规则、领域事件和领域错误。
- `crates/platform-*`OSS、LLM、语音、认证等外部平台能力。
- `crates/shared-contracts`:前后端共享 DTO 与公开契约。
- `crates/shared-kernel``crates/shared-logging``crates/tests-support`:跨模块基础能力、日志和测试支撑。
## 开发规则
1. `server-rs/Cargo.toml` 是 workspace 成员和依赖版本事实源;第三方依赖和 workspace 内 crate path 优先放在 `[workspace.dependencies]`
2. `module-*` 不直接依赖 Axum、SpacetimeDB table/reducer/procedure、`reqwest`、OSS、LLM、`spacetime-client``tokio` 或文件系统。
3. `api-server` 不承接领域真相;发现领域规则时优先沉到对应 `module-*`
4. SpacetimeDB schema 变化必须同步 `spacetime-module/src/migration.rs`、生成绑定和当前后端架构文档的表目录。
5. 人工命令、本地联调和文档示例不要使用 `spacetime --root-dir`
## 常用命令
```bash
cargo check -p api-server --manifest-path server-rs/Cargo.toml
cargo test -p api-server --manifest-path server-rs/Cargo.toml
npm run check:server-rs-ddd
npm run check:spacetime-schema
npm run spacetime:generate
npm run api-server
```
涉及 API smoke 时用 `npm run api-server` 启动后端并检查 `/healthz`,不要使用旧 `api-server:maincloud`
## 当前文档
- [../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md](../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md)DDD 边界、API 分组、schema 变更规则和表目录。
- [../docs/【开发运维】本地开发验证与生产运维-2026-05-15.md](../docs/【开发运维】本地开发验证与生产运维-2026-05-15.md)本地启动、检查、SpacetimeDB 操作和生产运维。