# 元梦之星Lua开发规则

> 由元梦AICoding AI凝练生成
> 更新时间: 2026-09-16
> 规则数: 2 | 技能数: 3

---

## DreamHelper日志分析规则

分类: pattern | 版本: v1 | 来源: manual

---
description: "DreamHelper日志分析规则。当需要检查元梦之星Lua运行日志、排查错误时使用。"
globs: "**/*.lua"
---

# DreamHelper 日志分析规则

当用户要求检查日志、分析日志、查看错误等与元梦之星 Lua 运行日志相关的请求时：

1. 读取日志文件：`{workspaceRoot}/dist/dreamhelper-log.log`
2. 如果文件不存在，提示用户先运行 dreamhelper 输出（日志由 dreamhelper 自动实时写入）
3. 分析日志中的常见 Lua 错误：
   - nil reference（尝试访问 nil 值）
   - table index 错误
   - 循环超时警告
   - API 调用失败
   - 模块加载失败
4. 输出格式：按严重程度分类，标注行号，给出修复建议

---

## 元梦之星Lua开发规则

分类: pattern | 版本: v1 | 来源: seed

---
description: "元梦之星Lua开发核心规则。所有代码生成和修改必须遵守。Always apply when writing 元梦之星 Lua code."
globs: "**/*.lua"
---

# 元梦之星 Lua 开发规则

## API 使用

1. 使用元梦之星提供的 API 接口，参考 `__All_API_Total.md`
2. 遇到元梦之星中未提及且非 Lua 原生接口的 API，向用户确认后再使用

## 代码安全

3. 禁止随意删除不涉及改动的注释，注释中可能包含重要信息
4. 禁止使用 `os` 模块（`os.execute()`、`os.exit()` 等在元梦之星中不支持）

## CS 分离

5. CS 分离模式下，服务端日志必须用 `Log:PrintServerLog`，不能用 `Log:PrintLog` 或 `Log:PrintWarning`（它们是客户端 API）

## 文件编码

6. Lua 文件必须使用无 BOM 的 UTF-8 编码。带 BOM 的文件会导致 `unexpected symbol near '<\239>'` 错误。

## 配置表

7. 配置表用 `local xxx = {}` + `return xxx` 模式，不直接写 `_GAME.xxx = {}`。使用方通过 `require` 引入。

## 入口模块

8. `GameServer` 和 `GameClient` 是纯入口模块，用 `local {}` 定义，不用 `_GAME.Class` + `.New()`。`_GAME.Class` 仅用于有继承关系的子系统。

