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.
42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
# 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 操作和生产运维。
|