AGENTS.md 2.38 KB

inclusion: always

Codex 项目规则

字符集

  • 所有新增或修改的文本文件统一使用 UTF-8 编码。
  • 涉及中文内容(配置、脚本、文档、日志)时,禁止使用本地 ANSI 编码,避免乱码。
  • 读取、编辑、写回包含中文的文件时,必须显式使用 UTF-8 编码,不得依赖操作系统默认代码页自动推断。
  • 在 Windows PowerShell 中处理文本文件时,禁止直接依赖未显式声明编码的 Get-ContentSet-Content、重定向符号等默认行为读写中文文件。
  • 如果发现文件内容出现乱码、问号替换字符或编码不确定,必须立即停止修改,先确认原文件实际编码并完成无损读取后再继续。
  • 对已有中文文件做批量替换、脚本化改写或格式化前,必须先抽样验证读取结果正常,确认不会把错误解码后的内容再次写回。

项目结构说明

HaHRCS/
├─ src/
│  ├─ Rcs.Api              # 表示层:ASP.NET Core Web API、控制器、Hub、后台服务
│  ├─ Rcs.Application      # 应用层:DTO、应用服务、消息命令/查询
│  ├─ Rcs.Domain           # 领域层:实体、值对象、领域服务、仓储接口
│  ├─ Rcs.Infrastructure   # 基础设施层:EF Core、仓储实现、消息总线、MQTT、路径服务
│  ├─ Rcs.Shared           # 共享层:通用工具、扩展、公共选项
│  ├─ Rcs.Cyaninetech      # 第三方/集成相关模块
│  ├─ init-db              # 数据库初始化脚本
│  └─ docker-compose.yml   # 本地/测试环境容器编排
├─ docs/                   # 项目文档
├─ scripts/                # 脚本工具
├─ artifacts/              # 构建产物
├─ HaHRCS.sln              # 解决方案入口
└─ DEPLOY.md               # 部署说明

技术栈

  • 语言与框架:C# / .NET 8(net8.0)、ASP.NET Core Web API
  • 架构模式:DDD + Onion Architecture + CQRS
  • 数据访问:Entity Framework Core 8 + Npgsql
  • 数据存储:PostgreSQL 15(含 PostGIS 扩展)
  • 缓存:Redis 7
  • 消息总线:MassTransit 8 + RabbitMQ
  • 设备通信:MQTTnet 4 + EMQX
  • 映射与工具:AutoMapper、System.Linq.Dynamic.Core
  • 可观测性与日志:OpenTelemetry、Serilog
  • API 文档:Swashbuckle / Swagger
  • 容器化:Docker Compose(api、nginx、postgres、redis、rabbitmq、emqx)