

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12345# 开发流程指南67## 当前版本:v0.3.189核心功能已完成,当前处于优化和稳定阶段。1011### 已完成功能1213- ✅ C++ 源码分析(tree-sitter)14- ✅ Blueprint 内省 API15- ✅ Asset 引用查询16- ✅ 跨域引用链追踪17- ✅ 软引用追踪(Blueprint CDO)18- ✅ Mermaid 图表输出19- ✅ 工具集精简(22 → 8)2021### 当前优化方向22231. **性能优化**:大型项目搜索速度242. **准确性提升**:引用链完整性253. **用户体验**:错误提示和文档2627## 关键文件2829### MCP Server (Python)3031- [server.py](mdc:Mcp/src/unreal_analyzer/server.py) - 入口32- [unified.py](mdc:Mcp/src/unreal_analyzer/tools/unified.py) - 核心工具33- [cross_domain.py](mdc:Mcp/src/unreal_analyzer/tools/cross_domain.py) - 跨域工具34- [blueprint.py](mdc:Mcp/src/unreal_analyzer/tools/blueprint.py) - 蓝图工具35- [cpp.py](mdc:Mcp/src/unreal_analyzer/tools/cpp.py) - C++ 工具36- [analyzer.py](mdc:Mcp/src/unreal_analyzer/cpp_analyzer/analyzer.py) - C++ 分析器3738### Unreal Plugin (C++)3940- [UnrealAnalyzerHttpRoutes.cpp](mdc:Source/UnrealProjectAnalyzer/Private/UnrealAnalyzerHttpRoutes.cpp) - HTTP API 路由41- [UnrealProjectAnalyzer.cpp](mdc:Source/UnrealProjectAnalyzer/Private/UnrealProjectAnalyzer.cpp) - 插件入口4243## 开发命令4445### Python MCP Server4647```bash48cd unreal-project-analyzer4950# 安装依赖51uv sync5253# 运行测试54uv run pytest5556# 运行 MCP Server57uv run unreal-analyzer5859# Lint60uv run ruff check .61uv run ruff format .62```6364### Unreal 插件65661. 复制本仓库目录到 UE 项目的 `Plugins/` 目录672. 确保目录名为 `UnrealProjectAnalyzer/`(与 `UnrealProjectAnalyzer.uplugin` 一致)683. 用 UE 编辑器打开项目,编译插件694. 启用插件7071## 测试指南7273### 单元测试7475```bash76uv run pytest Mcp/tests/test_cpp_analyzer.py -v77```7879### 集成测试 (需要 UE 插件运行)8081```bash82# 确保 UE 编辑器已启动且插件已启用83# 确保 HTTP API 在 localhost:8080 可用8485uv run pytest Mcp/tests/test_integration.py -v86```8788### Lyra 项目验证89901. 下载 Lyra 示例项目912. 安装 UnrealProjectAnalyzer 插件923. 配置 MCP Server 连接934. 测试典型查询:94 - "分析 B_Hero_ShooterMannequin 的继承链"95 - "GA_Hero_Dash 的触发路径是什么"96 - "SK_Mannequin 被哪些资产引用"9798## Git 工作流99100- `main` 分支保持稳定101- 功能开发使用 feature 分支102- PR 需要通过测试103104## 调试技巧105106### MCP Server 调试107108```python109# 在 server.py 中添加日志110import logging111logging.basicConfig(level=logging.DEBUG)112```113114### Unreal 插件调试115116```cpp117// 在代码中添加断点日志118UE_LOG(LogTemp, Warning, TEXT("DEBUG: variable = %s"), *Variable);119```120121### 查看 HTTP 请求122123```bash124# 直接测试 UE 插件 API125curl http://localhost:8080/health126curl http://localhost:8080/blueprint/search?pattern=BP_Player127curl http://localhost:8080/blueprint/soft-references?bp_path=/Game/BP_Player128```129130## 工具设计原则131132参考 [mcp-tools-design.mdc](mdc:.cursor/rules/mcp-tools-design.mdc)133134核心原则:1351. **最小信息熵**:删除冗余参数,合并语义相同的参数1362. **统一命名**:`domain`, `scope`, `direction`, `format`1373. **合理默认值**:大多数情况下使用默认值即可138
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| syan2018/UnrealCopilot.cursor/rules/mcp-tools-design.mdc · 26 | Cursor rules | api | 62/100 | 14 days ago | |
| syan2018/UnrealCopilot.cursor/rules/project-overview.mdc · 26 | Cursor rules | no sections | 50/100 | 14 days ago | |
| syan2018/UnrealCopilot.cursor/rules/python-guidelines.mdc · 26 | Cursor rules | setuptestlint-format | 73/100 | 14 days ago | |
| syan2018/UnrealCopilot.cursor/rules/unreal-plugin.mdc · 26 | Cursor rules | api | 50/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 46 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 14 days ago | |
| nerds-odd-e/doughnut.cursor/rules/cli.mdc · 49 | Cursor rules | setupbuildteststyle+4 | 96/100 | 14 days ago | |
| enuno/unifi-mcp-server.cursor/rules/common-mistakes.mdc · 226 | Cursor rules | testlint-formatgitdo-not | 93/100 | today | |
| iloveitaly/llm-ide-rules.cursor/rules/general.mdc · 13 | Cursor rules | teststyledo-notagent-behaviour+1 | 92/100 | 14 days ago | |
| dotCMS/core.cursor/rules/e2e-rules.mdc · 949 | Cursor rules | setupteststylearch+5 | 89/100 | 14 days ago | |
| danielvm-git/bigpowers.cursor/rules/guard-git.mdc · 139 | Cursor rules | stylearchgitsecurity+2 | 89/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/syan2018-unrealcopilot-cursor-rules-development-workflow)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.