You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ This is the official OPC UA .NET Standard Stack from the OPC Foundation. It prov
20
20
-**Build**: Use Visual Studio 2026 or `dotnet build`
21
21
-**Key solutions**:
22
22
-`UA.slnx` - Contains all projects
23
+
-**Contributor guide**: see [`Docs/DeveloperGuide.md`](../Docs/DeveloperGuide.md) for prerequisites, building (including per-TFM), testing, coding standards, and how-to recipes.
23
24
24
25
### Project Structure
25
26
-`Libraries/` - Core OPC UA libraries (Client, Server, Configuration, etc.)
@@ -76,7 +77,7 @@ This is the official OPC UA .NET Standard Stack from the OPC Foundation. It prov
76
77
- All source generated code, in particular ObjectType proxies should be used over manually calling service calls inside new clients.
77
78
- Consider using the source generators to implement emitting "boilerplate", especially if it is related to the OPC UA standard (e.g. information model).
78
79
- Base services: File System, Certificate manager, Secret store, State machine, Alarms and conditions Streaming subscription, Sessions, etc. in new code. (Documented in docs/*).
79
-
- Observability is plumbed through via `ITelemetryContext`. Use it to create a`ILogger` for logging.
80
+
- Observability is plumbed through via `ITelemetryContext`. Use it to create an`ILogger` for logging; follow the source-generated logging conventions in [`Docs/DeveloperGuide.md`](../Docs/DeveloperGuide.md#add-a-log-message-source-generated).
80
81
- If reuse is not possible, ASK whether to extend an existing feature so it becomes reuseable.
81
82
82
83
### Code Style
@@ -102,6 +103,7 @@ This is the official OPC UA .NET Standard Stack from the OPC Foundation. It prov
102
103
- Assembly prefix: `Opc.Ua` (Except applications, or if otherwise requested)
103
104
- Package prefix: `OPCFoundation.NetStandard`
104
105
- Always use a line break after `<summary>` and before `</summary>` for all members (except for documentation of fields). This applies to **every** XML-doc summary, including in sample/application code — never write a single-line `/// <summary> ... </summary>`; always put the text on its own line between the opening and closing tags.
106
+
- Use source-generated `[LoggerMessage]` logging; never call `ILogger.LogInformation/LogError/...` directly. Follow the per-file `<Class>Log` and per-assembly `<AssemblyToken>EventIds` conventions in [`Docs/DeveloperGuide.md`](../Docs/DeveloperGuide.md#add-a-log-message-source-generated).
105
107
106
108
### Security Requirements
107
109
-**Never hardcode credentials, certificates, or secrets** in source code
@@ -139,6 +141,7 @@ This is the official OPC UA .NET Standard Stack from the OPC Foundation. It prov
139
141
- Update `/README.md` for significant changes
140
142
- Keep `NugetREADME.md` updated for package-related changes
141
143
- Document breaking changes prominently
144
+
- Keep [`Docs/DeveloperGuide.md`](../Docs/DeveloperGuide.md) (the contributor onboarding guide) current when build, test, or coding-convention changes affect contributors.
0 commit comments