From 7a2d709d935075bcdc48e0f3f0ae9f4641663b9f Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 17 三月 2026 09:12:34 +0800
Subject: [PATCH] docs: add repository contributor guidelines
---
/dev/null | 117 ---------------------------------------
.gitignore | 7 ++
Code/WCS/WIDESEAWCS_S7Simulator/AGENTS.md | 40 +++++++++++++
3 files changed, 47 insertions(+), 117 deletions(-)
diff --git a/.gitignore b/.gitignore
index 94881a2..8343077 100644
--- a/.gitignore
+++ b/.gitignore
@@ -419,3 +419,10 @@
/Code/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v18
/Code/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices
/Code/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/18.0.988.22099
+/Code/WCS/WIDESEAWCS_S7Simulator/tmp_extract3_PlcLink
+/Code/WCS/WIDESEAWCS_S7Simulator/tmp_extract3_proto2
+/Code/WCS/WIDESEAWCS_S7Simulator/tmp_extract_line_doc
+/Code/WCS/WIDESEAWCS_S7Simulator/tmp_extract_PlcLink_鍫嗗灈鏈洪」鐩�
+/Code/WCS/WIDESEAWCS_S7Simulator/tmp_extract_鍫嗗灈鏈轰笌涓婁綅鏈轰氦浜掍俊鎭�
+/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.backup.json
+/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.json
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.backup.json b/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.backup.json
deleted file mode 100644
index f12361b..0000000
--- a/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.backup.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "Version": 1,
- "WorkspaceRootPath": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\",
- "Documents": [
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\simulatorinstancescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\simulatorinstancescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\weatherforecastcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\weatherforecastcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\memorycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\memorycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\clientscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\clientscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{559E6124-CE06-87A7-E890-9BA8EA7CF3C5}|WIDESEAWCS_S7Simulator.Core\\WIDESEAWCS_S7Simulator.Core.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.core\\entities\\instanceconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{559E6124-CE06-87A7-E890-9BA8EA7CF3C5}|WIDESEAWCS_S7Simulator.Core\\WIDESEAWCS_S7Simulator.Core.csproj|solutionrelative:wideseawcs_s7simulator.core\\entities\\instanceconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- }
- ],
- "DocumentGroupContainers": [
- {
- "Orientation": 0,
- "VerticalTabListWidth": 256,
- "DocumentGroups": [
- {
- "DockedWidth": 200,
- "SelectedChildIndex": 6,
- "Children": [
- {
- "$type": "Bookmark",
- "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
- },
- {
- "$type": "Bookmark",
- "Name": "ST:0:0:{40ea2e6b-2121-4bb8-a43e-c83c04b51041}"
- },
- {
- "$type": "Bookmark",
- "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "InstanceConfig.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAuwB8AAAAkAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:36:47.925Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 1,
- "Title": "WeatherForecastController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAFAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:03:34.006Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 2,
- "Title": "MemoryController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "ViewState": "AgIAAL4AAAAAAAAAAAAuwIUAAAA6AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:07:28.028Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 0,
- "Title": "SimulatorInstancesController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "ViewState": "AgIAABUBAAAAAAAAAAAowDUBAAAEAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:01:35.389Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "ClientsController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAADoAAAAlAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T08:57:16.3Z",
- "EditorCaption": ""
- }
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.json b/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.json
deleted file mode 100644
index a045cd7..0000000
--- a/Code/WCS/WIDESEAWCS_S7Simulator/.vs/WIDESEAWCS_S7Simulator.slnx/v18/DocumentLayout.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "Version": 1,
- "WorkspaceRootPath": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\",
- "Documents": [
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\simulatorinstancescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\simulatorinstancescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\weatherforecastcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\weatherforecastcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\memorycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\memorycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.server\\controllers\\clientscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{50F85B54-7517-3BB9-35FA-43EC68F62065}|WIDESEAWCS_S7Simulator.Server\\WIDESEAWCS_S7Simulator.Server.csproj|solutionrelative:wideseawcs_s7simulator.server\\controllers\\clientscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{559E6124-CE06-87A7-E890-9BA8EA7CF3C5}|WIDESEAWCS_S7Simulator.Core\\WIDESEAWCS_S7Simulator.Core.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_s7simulator\\wideseawcs_s7simulator.core\\entities\\instanceconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{559E6124-CE06-87A7-E890-9BA8EA7CF3C5}|WIDESEAWCS_S7Simulator.Core\\WIDESEAWCS_S7Simulator.Core.csproj|solutionrelative:wideseawcs_s7simulator.core\\entities\\instanceconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- }
- ],
- "DocumentGroupContainers": [
- {
- "Orientation": 0,
- "VerticalTabListWidth": 256,
- "DocumentGroups": [
- {
- "DockedWidth": 200,
- "SelectedChildIndex": 6,
- "Children": [
- {
- "$type": "Bookmark",
- "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
- },
- {
- "$type": "Bookmark",
- "Name": "ST:0:0:{40ea2e6b-2121-4bb8-a43e-c83c04b51041}"
- },
- {
- "$type": "Bookmark",
- "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "InstanceConfig.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Core\\Entities\\InstanceConfig.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAuwB8AAAAkAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:36:47.925Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 1,
- "Title": "WeatherForecastController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\WeatherForecastController.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAFAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:03:34.006Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 2,
- "Title": "MemoryController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\MemoryController.cs",
- "ViewState": "AgIAAL4AAAAAAAAAAAAuwIUAAAA6AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:07:28.028Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 0,
- "Title": "SimulatorInstancesController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\SimulatorInstancesController.cs",
- "ViewState": "AgIAADgBAAAAAAAAAAAAAEMBAABBAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T09:01:35.389Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "ClientsController.cs",
- "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_S7Simulator\\WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "RelativeToolTip": "WIDESEAWCS_S7Simulator.Server\\Controllers\\ClientsController.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAADoAAAAlAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-13T08:57:16.3Z",
- "EditorCaption": ""
- }
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/AGENTS.md b/Code/WCS/WIDESEAWCS_S7Simulator/AGENTS.md
new file mode 100644
index 0000000..519d80b
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/AGENTS.md
@@ -0,0 +1,40 @@
+# Repository Guidelines
+
+## Project Structure & Module Organization
+This repository is a .NET 6 + Vue 3 split-stack S7 PLC simulator.
+
+- `WIDESEAWCS_S7Simulator.Core`: domain entities, memory regions (`M/DB/I/Q/T/C`), simulator runtime, persistence.
+- `WIDESEAWCS_S7Simulator.Application`: application-layer abstractions and protocol/application services.
+- `WIDESEAWCS_S7Simulator.Server`: ASP.NET Core Web API (`Controllers/`, `Program.cs`), runtime data under `Data/`.
+- `WIDESEAWCS_S7Simulator.Web`: Vue 3 + TypeScript frontend (`src/views`, `src/api`, `src/router`, `src/types`).
+- `WIDESEAWCS_S7Simulator.UnitTests`: xUnit tests for core/application behavior.
+- `docs/`: design and protocol notes.
+
+## Build, Test, and Development Commands
+Run from repository root unless noted.
+
+- `dotnet restore WIDESEAWCS_S7Simulator.slnx`: restore NuGet packages.
+- `dotnet build WIDESEAWCS_S7Simulator.slnx`: build backend projects.
+- `dotnet test WIDESEAWCS_S7Simulator.UnitTests`: run xUnit tests.
+- `dotnet run --project WIDESEAWCS_S7Simulator.Server`: start API (default `http://localhost:5137`).
+- `cd WIDESEAWCS_S7Simulator.Web && pnpm install`: install frontend deps.
+- `cd WIDESEAWCS_S7Simulator.Web && pnpm dev`: start Vite dev server (typically `http://localhost:3000` or `5173`).
+- `cd WIDESEAWCS_S7Simulator.Web && pnpm build`: type-check + production build.
+
+## Coding Style & Naming Conventions
+- C#: 4-space indentation, `PascalCase` for types/methods, `camelCase` for locals/parameters, interfaces prefixed with `I`.
+- TypeScript/Vue: `PascalCase` for view components (e.g., `DetailsView.vue`), `camelCase` for variables/functions, keep API DTO types in `src/types`.
+- Keep controllers thin; put business rules in Core/Application services.
+- Prefer small, focused files over large mixed-responsibility classes.
+
+## Testing Guidelines
+- Framework: xUnit (`Microsoft.NET.Test.Sdk`, `coverlet.collector`).
+- Name tests by behavior, e.g., `MemoryStoreTests.ReadBit_ReturnsExpectedValue`.
+- Add/update tests for any change to memory parsing, protocol templates, persistence, or instance lifecycle.
+- Run `dotnet test` before opening a PR.
+
+## Commit & Pull Request Guidelines
+- Follow Conventional Commit style seen in history: `feat: ...`, `fix: ...`, `refactor: ...` (Chinese summaries are acceptable).
+- Keep one logical change per commit; avoid bundling unrelated files.
+- PRs should include: purpose, key changes, test evidence (`dotnet test`, `pnpm build`), and screenshots/GIFs for UI changes.
+- Link related issue/task IDs and call out any config/data migration impacts.
--
Gitblit v1.9.3