AGENTS.md
AGENTS.mdAGENTS.mdroot
Quality
69/100
Scores the file, not the repository.Length
251 words
13 headings · 4 code blocksRepository
15k
— · pushed 0 days agoLast changed
2 days ago
First indexed 2 days ago.1本项目使用了 WPF-UI、 CommunityToolkit.Mvvm、Microsoft.Xaml.Behaviors.Wpf 来实现 MVVM 架构。在编写代码的时候请注意:23### 主要依赖框架4#### UI 框架5- **WPF-UI (4.0.2)** - 现代化 WPF UI 框架6- **gong-wpf-dragdrop(3.2.1)** - 拖拽框架78#### MVVM 框架9- **CommunityToolkit.Mvvm (8.2.2)** - 微软官方 MVVM 工具包10 - 所有 ViewModel 必须继承自 `ObservableObject`11 - 使用 `[ObservableProperty]` 特性自动生成属性12 - 使用 `[RelayCommand]` 特性自动生成命令13- **Microsoft.Xaml.Behaviors.Wpf(1.1.122)** - WPF 行为扩展库14 - 请尽量使用 Behaviors 库来实现交互,避免不符合 MVVM 规范的交互事件触发方式。1516### 其他框架使用要求171. 请优先使用 Newtonsoft.Json 作为json序列化工具,但是如果这个模型已经被System.Text.Json序列化过了,那么就直接使用System.Text.Json反序列化。182. 所有简单的对话框弹出需求优先使用 ThemedMessageBox 弹出。而不是 WPF 自带的 MessageBox。1920## MVVM 架构规则2122### 基础架构2324### ViewModel 编写规范25261. **继承规则**27```csharp28 public partial class ExampleViewModel : ViewModel29 {30 [ObservableProperty]31 private string _title = "";3233 [RelayCommand]34 private void DoSomething()35 {36 // 实现逻辑37 }38 }39```40412. **属性命名**42 - 私有字段使用下划线前缀: `_fieldName`43 - 公共属性使用 PascalCase: `PropertyName`44 - 使用 `[ObservableProperty]` 自动生成属性45463. **命令实现**47 - 使用 `[RelayCommand]` 特性48 - 异步命令使用 `[RelayCommand]` + `async Task`4950### View 编写规范51521. **代码后置**53```csharp54 public partial class ExamplePage : UserControl55 {56 public ExampleViewModel ViewModel { get; }5758 public ExamplePage(ExampleViewModel viewModel)59 {60 ViewModel = viewModel;61 DataContext = this;62 InitializeComponent();63 }64 }65```66672. **XAML 绑定**68 - 使用 `{Binding}` 语法绑定 ViewModel 属性69 - 命令绑定: `Command="{Binding ExampleCommand}"`70 - 避免在 XAML 中编写复杂逻辑7172### 依赖注入规范73741. **服务注册**75```csharp76 // 在 App.xaml.cs 中注册77 services.AddView<ExamplePage, ExampleViewModel>();78 services.AddSingleton<IExampleService, ExampleService>();79```8081最后,程序能够编译就认为成功,无需实际运行程序。8283编译指令参考,如果出现程序占用场景,直接放弃编译验证即可84```85dotnet build BetterGenshinImpact.sln -c Debug86```8788## Code Review Rules8990### Output language9192- 必须使用简体中文输出代码审查结果。93- 问题标题、问题描述、影响分析和修复建议必须使用中文。94- 类名、方法名、变量名、文件路径、代码片段和错误消息保持原文。95- 专业术语第一次出现时可以采用“中文(English)”格式。9697### Review priorities9899- 优先检查可能造成崩溃、死锁、资源泄漏和数据竞争的问题。100- 重点检查异步任务、CancellationToken、线程切换和 STA UI 线程使用。101- 重点检查 Mat、Bitmap、Stream、CancellationTokenSource 等 IDisposable 对象是否正确释放。102- 检查游戏输入、截图和多实例场景是否存在共享状态冲突。103- 不要只提出风格问题,除非它会影响正确性、可维护性或性能。104105### Finding format106107每个问题按以下结构输出:1081091. 严重程度1102. 问题位置1113. 问题原因1124. 可能造成的影响1135. 推荐修复方案114
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| OnlyTerp/prompt-cache-skillsAGENTS.md · 112 | AGENTS.md | setupbuildtestlint-format+5 | 100/100 | 3 days ago | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 199k | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| wpscanteam/wpscanAGENTS.md · 9.7k | AGENTS.md | setupbuildteststyle+6 | 100/100 | 2 days ago | |
| SkeneTechnologies/skene-cookbookAGENTS.md · 51 | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 2 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| trick77/agents-md-syncAGENTS.md · 2 | AGENTS.md | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| aaif-goose/gooseAGENTS.md · 52k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 3 days ago |
