Skip to content

Commit 4257e0e

Browse files
authored
Merge pull request #1099 from Inxton/dev
[release] Rolls up work across Operon, Visual Composer, Prometheus, identity/external login, hardware templates, and broad localization.
2 parents 3012323 + 6f24008 commit 4257e0e

3,080 files changed

Lines changed: 2240575 additions & 302621 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.config/dotnet-tools.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,49 +3,49 @@
33
"isRoot": true,
44
"tools": {
55
"AXSharp.ixc": {
6-
"version": "0.24.0-preview.158",
6+
"version": "0.47.0-alpha.459",
77
"commands": [
88
"ixc"
99
],
1010
"rollForward": false
1111
},
1212
"docfx": {
13-
"version": "2.70.4",
13+
"version": "2.78.5",
1414
"commands": [
1515
"docfx"
1616
],
1717
"rollForward": false
1818
},
1919
"AXSharp.ixd": {
20-
"version": "0.24.0-preview.158",
20+
"version": "0.47.0-alpha.459",
2121
"commands": [
2222
"ixd"
2323
],
2424
"rollForward": false
2525
},
2626
"AXSharp.ixr": {
27-
"version": "0.24.0-preview.158",
27+
"version": "0.47.0-alpha.459",
2828
"commands": [
2929
"ixr"
3030
],
3131
"rollForward": false
3232
},
3333
"microsoft.visualstudio.slngen.tool": {
34-
"version": "12.0.3",
34+
"version": "12.0.32",
3535
"commands": [
3636
"slngen"
3737
],
3838
"rollForward": false
3939
},
4040
"docfxtocgenerator": {
41-
"version": "1.10.0",
41+
"version": "1.40.0",
4242
"commands": [
4343
"DocFxTocGenerator"
4444
],
4545
"rollForward": false
4646
},
4747
"gitversion.tool": {
48-
"version": "5.12.0",
48+
"version": "6.6.1",
4949
"commands": [
5050
"dotnet-gitversion"
5151
],

.editorconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true

.gitattributes

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Default: treat as text, normalize to LF in the repository
2+
* text=auto eol=lf
3+
4+
# Typical source files (explicit, but the default already covers these)
5+
*.c text eol=lf
6+
*.cpp text eol=lf
7+
*.h text eol=lf
8+
*.py text eol=lf
9+
*.js text eol=lf
10+
*.ts text eol=lf
11+
*.sh text eol=lf
12+
*.yaml text eol=lf
13+
*.yml text eol=lf
14+
*.json text eol=lf
15+
*.css text eol=lf
16+
*.cs text eol=lf
17+
*.ps1 text eol=lf
18+
*.sln text eol=lf
19+
20+
21+
# Windows-native scripts that often *must* be CRLF in the working tree
22+
# (repo still stores LF; checkout converts to CRLF)
23+
*.bat text eol=crlf
24+
*.cmd text eol=crlf
25+
26+
# Binary files (never touch line endings)
27+
*.png -text
28+
*.jpg -text
29+
*.zip -text
30+
*.pdf -text

.github/.copilot-instructions.yml

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
version: 1
2+
# Scope: steer Copilot's PR description output
3+
targets:
4+
- pull_request.description
5+
6+
rules:
7+
- id: pr-description-structure
8+
instruction: |
9+
Write PR descriptions using the following sections and order:
10+
11+
## Summary
12+
- One or two sentences: what changed and why.
13+
- Be specific; name the feature, behavior, or defect addressed.
14+
15+
## Functional Changes
16+
- Group by library. Use bullets.
17+
- For each entry, include the layer:
18+
- (PLC) for controller/PLC layer changes.
19+
- (.NET) for higher-level framework changes.
20+
- Example bullet format:
21+
- **AuthLibrary (.NET):** Introduced `ValidationService` to centralize token checks.
22+
- **OrderController (PLC):** Calls `ValidationService` before persisting orders.
23+
24+
## Interdependencies
25+
- List new or changed dependencies between libraries/components (with minimum required versions if relevant).
26+
- Example:
27+
- `AuthLibrary` now depends on `CoreLibrary.ValidationService` (>= v3.2).
28+
29+
## Chores (non-functional)
30+
- Keep chores separate from functional changes.
31+
- Subsections to use as needed: Dependencies, CI/CD, Docs, Tooling, Formatting.
32+
- Example bullets:
33+
- **Dependencies:** Bump `Newtonsoft.Json` 13.0.1 → 13.0.2 in `CoreLibrary`.
34+
- **CI/CD:** Switch pipeline to `dotnet test` on .NET 8.
35+
- **Docs:** Update README with `ValidationService` usage.
36+
37+
## Related Issues
38+
- Link issues using GitHub keywords (e.g., Fixes #123, Closes #456).
39+
40+
## Testing Notes
41+
- How to verify the change (commands, environments, manual steps).
42+
- Mention key unit/integration tests and their locations.
43+
44+
## Checklist
45+
- [ ] Builds pass
46+
- [ ] Tests added/updated
47+
- [ ] Docs updated (if needed)
48+
- [ ] Interdependencies documented
49+
- [ ] Chores separated
50+
51+
- id: pr-description-style
52+
instruction: |
53+
Style:
54+
- Write clear, concrete, measurable statements.
55+
- Prefer active, action verbs: Added, Removed, Updated, Refactored.
56+
- Keep sentences short; use lists for readability.
57+
58+
Avoid:
59+
- All-encompassing phrases: “overall improvements”, “general cleanup”, “improved everything”.
60+
- Clichés/vague terms: “minor tweaks”, “various enhancements”, “quality improvements”.
61+
- Empty summaries: “fixed bugs”.
62+
Replace with specifics:
63+
- “Refactored `OrderController` validation flow to remove duplication.”
64+
- “Fixed null reference in `UserSessionStore` when token is missing.”
65+
66+
- id: libraries-and-paths
67+
instruction: |
68+
Organize Functional Changes by **library**. Infer libraries from changed paths (e.g., `src/CoreLibrary`, `libs/AuthLibrary`, `plc/OrderController`).
69+
- Use the library’s canonical name in bold.
70+
- Mark each entry with (PLC) or (.NET).
71+
- If multiple files in the same library are changed, summarize at library level and call out notable classes/methods.
72+
73+
- id: interdependencies-mandatory
74+
instruction: |
75+
If any library now calls into another, or requires a minimum version/config, list it under **Interdependencies** with clear direction:
76+
- who depends on whom
77+
- what version/range is needed
78+
- any migration notes for downstream consumers
79+
80+
- id: chores-separation
81+
instruction: |
82+
Put non-functional changes in **Chores** and NOT under Functional Changes.
83+
Classify chores under: Dependencies, CI/CD, Docs, Tooling, Formatting.
84+
Do not mix chores with PLC/.NET functional bullets.
85+
86+
- id: plc-vs-dotnet-tagging
87+
instruction: |
88+
For every Functional Changes bullet, explicitly tag the layer:
89+
- (PLC) for controller/PLC code.
90+
- (.NET) for higher-level framework or library code.
91+
92+
- id: examples
93+
instruction: |
94+
Example (use as a guide; adapt names):
95+
## Summary
96+
Centralizes validation and aligns PLC controllers with new service.
97+
98+
## Functional Changes
99+
- **CoreLibrary (.NET):** Added `ValidationService` with email and token checks.
100+
- **AuthLibrary (.NET):** Uses `ValidationService` before issuing tokens.
101+
- **OrderController (PLC):** Validates input via `ValidationService` prior to persistence.
102+
103+
## Interdependencies
104+
- `AuthLibrary` depends on `CoreLibrary.ValidationService` (>= v3.2).
105+
- PLC controllers require `CoreLibrary` v3.2+.
106+
107+
## Chores
108+
- **Dependencies:** Update `Serilog` 2.12 → 3.0 in `CoreLibrary`.
109+
- **CI/CD:** Run integration tests on .NET 8.
110+
- **Docs:** Add `ValidationService` usage to README.
111+
112+
## Related Issues
113+
Fixes #123
114+
115+
## Testing Notes
116+
- `dotnet test` in `tests/CoreLibrary.Tests` and `tests/PLC.Controllers.Tests`
117+
- Manual: login flow + order creation with invalid email.

.github/dependabot.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "npm" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"
12+
- package-ecosystem: "nuget" # See documentation for possible values
13+
directory: "/" # Location of package manifests
14+
schedule:
15+
interval: "weekly"
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# 📝 GitHub Copilot Instructions: Pull Request Descriptions
2+
3+
## Content Rules
4+
5+
When drafting PR descriptions, **Copilot must**:
6+
7+
1. Follow the PR template (Summary, Changes Introduced, Related Issues, Testing Notes, Checklist).
8+
2. Use precise, specific, and factual language.
9+
3. State explicitly **where changes were made**:
10+
11+
* If in the **PLC (Controller)** layer.
12+
* If in the **higher-level framework (.NET)** part of the project.
13+
4. Organize functional changes **by library** if multiple libraries are affected.
14+
5. Clearly note **interdependencies** between libraries or components introduced or updated.
15+
6. Separate **chores** (non-functional tasks) from core changes.
16+
17+
---
18+
19+
## Style Rules
20+
21+
Copilot **must avoid**:
22+
23+
* **All-encompassing phrases**: e.g., “general cleanup”, “overall improvements”.
24+
* **Clichés and vague wording**: e.g., “minor tweaks”, “enhancements”.
25+
* **Unhelpful summaries**: e.g., “fixed bugs”.
26+
27+
✅ Instead, Copilot should write:
28+
29+
* *“Refactored `OrderController` in the PLC layer to centralize validation logic.”*
30+
* *“Bumped Newtonsoft.Json from 13.0.1 → 13.0.2 in CoreLibrary.”*
31+
32+
---
33+
34+
## Organization Guidelines
35+
36+
PR descriptions should be structured in **distinct sections**:
37+
38+
### 1. Functional Changes
39+
40+
Group by library and indicate PLC vs framework.
41+
Example:
42+
43+
* **Library A (DataAccess / .NET framework):** Introduced caching in query layer.
44+
* **Library B (OrderController / PLC):** Added call to caching layer before persisting orders.
45+
46+
### 2. Interdependencies
47+
48+
State explicit links between libraries or modules.
49+
Example:
50+
51+
* *OrderController now requires DataAccess v2.1+ for caching compatibility.*
52+
53+
### 3. Chores
54+
55+
List non-functional changes separately.
56+
Examples:
57+
58+
* **Dependencies:** Updated `Serilog` from 2.12 → 3.0.
59+
* **CI/CD:** Migrated pipeline to use `dotnet test` instead of `nunit-console`.
60+
* **Docs:** Updated README with usage instructions for `ValidationService`.
61+
62+
---
63+
64+
## Example PR Description
65+
66+
**Summary**
67+
Adds centralized validation in PLC controllers and updates libraries for consistent error handling. Includes some dependency and CI housekeeping.
68+
69+
**Functional Changes**
70+
71+
* **PLC Layer**
72+
73+
* Refactored `UserController` and `OrderController` to use `ValidationService`.
74+
* **CoreLibrary (.NET Framework)**
75+
76+
* Added `ValidationService`.
77+
* **AuthLibrary (.NET Framework)**
78+
79+
* Updated token validation to use `ValidationService`.
80+
81+
**Interdependencies**
82+
83+
* `AuthLibrary` now depends on `CoreLibrary.ValidationService`.
84+
* All PLC controllers require CoreLibrary v3.2+.
85+
86+
**Chores**
87+
88+
* Bumped `Newtonsoft.Json` to 13.0.2 in CoreLibrary.
89+
* Updated CI pipeline to run integration tests on .NET 8.
90+
* Adjusted README with new validation examples.
91+
92+
**Related Issues**
93+
94+
* Fixes #123
95+
96+
**Testing Notes**
97+
98+
* Run `dotnet test` in `PLC.Controllers.Tests`.
99+
* Verify login and order creation flows manually.
100+
101+

0 commit comments

Comments
 (0)