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
+17-2Lines changed: 17 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,12 +29,14 @@
29
29
### Code Style and Formatting
30
30
31
31
#### EditorConfig Rules
32
-
The repository uses `.editorconfig` for consistent code style:
32
+
The repository uses `.editorconfig` at the repo root for consistent code style.
33
+
33
34
-**Indentation**: 4 spaces for C# files, 2 spaces for XML/YAML/JSON
34
35
-**Line endings**: LF (Unix-style)
35
36
-**Sort using directives**: System.* namespaces first (`dotnet_sort_system_directives_first = true`)
36
37
-**Type references**: Prefer language keywords over framework type names (`int` vs `Int32`)
37
-
-**Modern C# features**: Use object/collection initializers, coalesce expressions when possible
38
+
-**Modern C# features**: Use object/collection initializers, coalesce expressions when possible, use var when the type is apparent from the right-hand side of the assignment
39
+
-**Visibility modifiers**: only explicitly specify visibility when different from the default (e.g. `public` for classes, no `internal` for classes or `private` for fields, etc.)
38
40
39
41
#### Formatting Validation
40
42
- CI enforces formatting with `dotnet format whitespace` and `dotnet format style`
@@ -48,6 +50,12 @@ The repository uses `.editorconfig` for consistent code style:
48
50
-**Moq** for mocking dependencies
49
51
- Located in `src/*.Tests/`
50
52
53
+
#### Test Attributes
54
+
Custom xUnit attributes are sometimes used for conditional test execution:
55
+
-`[SecretsFact("XAI_API_KEY")]` - Skips test if required secrets are missing from user secrets or environment variables
56
+
-`[LocalFact("SECRET")]` - Runs only locally (skips in CI), requires specified secrets
57
+
-`[CIFact]` - Runs only in CI environment
58
+
51
59
### Dependency Management
52
60
53
61
#### Adding Dependencies
@@ -77,3 +85,10 @@ The repository uses `.editorconfig` for consistent code style:
77
85
- All PRs must pass format validation
78
86
- Tests must pass on all target frameworks
79
87
- Follow existing patterns and conventions in the codebase
88
+
89
+
## Documenting Work
90
+
91
+
Project implemention details, design and key decisions should be documented in a top-level AGENTS.md file at the repo root.
92
+
Keep this file updated whenever you make change significant changes for future reference.
93
+
94
+
User-facing features and APIs should be documented to highlight (not extensively, as an overview) key project features and capabilities, in the readme.md file at the repo root.
0 commit comments