Files
wind_power_cal/.agents/skills/project-structure/SKILL.md
T
2026-07-14 15:43:18 +08:00

54 lines
1.9 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.
---
name: project-structure
description: 工程目录与构建规范。用于本仓库跨模块改动时,保证边缘端与云端目录职责清晰、构建产物结构一致、部署方式一致。
---
# 工程结构规范
## 顶层职责
- `collector/`:边缘采集进程
- `configurator/`:边缘配置服务
- `cloud_server/`:云端服务
- `frontend/config_app/`:边缘前端
- `frontend/cloud_app/`:云端前端
- `foundation/`:共享 C++ 基础库
- `docs/`:通用技术文档
## 构建与产物
- 各后端模块使用 `build/` 作为构建目录
- 打包输出到 `runtime/`
- 原则:`build/` 与对应 `runtime/` 目录结构保持一致,避免运行时路径偏差
## 脚本职责
- `build.sh`:编译 + 前端构建 + 资源同步
- `run.sh`:构建后启动(必要时先停旧进程)
- `package.sh`:整体打包到 `runtime/`
- `run_collector_tests.sh`:采集端 collector 测试入口(unit / ci / all
- `run_configurator_tests.sh`:配置端 configurator 测试入口(unit / ci / all
- `run_cloud_tests.sh`:云端 cloud_server 测试入口(unit / 集成 / 压测 / 长稳)
## 部署约束
- 开发环境:模块独立运行、独立调试
- 生产环境:使用打包产物 + systemd 管理
- 不引入额外“总控进程”替代现有部署方式
## 命名约定
- 目录:`snake_case`
- 前端组件目录:`PascalCase`
- 文档:业务文档可中文命名,标准文件按通用约定
## 测试约定
- 每个后端子工程有独立的 `run_<子工程>_tests.sh` 脚本入口
- 各后端子工程的单元测试放在 `子工程/tests/unit/`
- 子工程相关的集成测试/压测/E2E 放在 `子工程/tests/{integration,benchmark,e2e}/`
- GTest 公共基础设施位于 `foundation/cmake/EdgeCollectorTesting.cmake`
- 测试概览文档位于 `docs/testing.md`
- 详细测试文档位于各子工程 `tests/` 目录下