Skip to content

Commit 7219dd4

Browse files
committed
Add AI instructions for SqlServerDsc project with detailed guidelines and usage priorities
1 parent e9279d1 commit 7219dd4

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

.github/copilot-instructions.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# AI Instructions for SqlServerDsc
2+
3+
This file provides AI agent guidance for the SqlServerDsc project. Each instruction file below targets specific file glob patterns and use cases.
4+
5+
## Instruction File Reference
6+
7+
- Always check file patterns to determine applicable instructions
8+
- SqlServerDsc-specific rules override general DSC Community guidelines
9+
- Maintain localization requirements across all source files
10+
- Follow test patterns strictly for maintainability
11+
12+
## Usage Priority
13+
14+
1. [SqlServerDsc Guidelines](instructions/SqlServerDsc-guidelines.instructions.md) - Always apply first for SqlServerDsc-specific requirements
15+
2. **File-type specific guidelines** - Apply based on glob pattern and type
16+
3. **General guidelines** - Apply as baseline for all files
17+
18+
### Core Project Guidelines
19+
20+
- [SqlServerDsc Guidelines](instructions/SqlServerDsc-guidelines.instructions.md) (`**/*.psm1,**/*.psd1,**/*.ps1`)
21+
- SqlServerDsc-specific rules: public command naming (SqlDsc prefix), SQL Server Management Objects (SMO) preference, integration test environments
22+
- Use for: All PowerShell files requiring SqlServerDsc-specific patterns
23+
24+
- [DSC Community Style Guidelines](instructions/dsc-community-style-guidelines.instructions.md) (`**`)
25+
- Project-level guidelines: build scripts, testing, localization requirements
26+
- Use for: General project structure and workflow guidance
27+
28+
### PowerShell Code Guidelines
29+
30+
- [DSC Community Style Guidelines - PowerShell](instructions/dsc-community-style-guidelines-powershell.instructions.md) (`**/*.psm1,**/*.psd1,**/*.ps1`)
31+
- Core PowerShell style: naming conventions, formatting, indentation, braces, quotes
32+
- Use for: All PowerShell code formatting and style
33+
34+
### DSC Resource Guidelines
35+
36+
- [DSC Community Style Guidelines - Class Resource](instructions/dsc-community-style-guidelines-class-resource.instructions.md) (`source/[cC]lasses/**/*.ps1`)
37+
- Class-based DSC resources: inheritance patterns, method overrides, ResourceBase usage
38+
- Use for: Files in source/Classes/ decorated with `[DscResource(...)]`
39+
40+
- [DSC Community Style Guidelines - MOF Resources](instructions/dsc-community-style-guidelines-mof-resources.instructions.md) (`source/DSCResources/**/*.psm1`)
41+
- MOF-based DSC resources: required functions, return types, error handling
42+
- Use for: Traditional DSC resources in source/DSCResources/
43+
44+
### Localization Guidelines
45+
46+
- [DSC Community Style Guidelines - Localization](instructions/dsc-community-style-guidelines-localization.instructions.md) (`source/**/*.ps1`)
47+
- General localization requirements for all source files
48+
- Use for: Any source file requiring localized strings
49+
50+
- [DSC Community Style Guidelines - Command Localization](instructions/dsc-community-style-guidelines-command-localization.instructions.md) (`source/[pP]ublic/**/*.ps1,source/[pP]rivate/**/*.ps1`)
51+
- Command-specific localization: string key naming, SqlServerDsc.strings.psd1 usage
52+
- Use for: Public commands and private functions
53+
54+
- [DSC Community Style Guidelines - MOF Resource Localization](instructions/dsc-community-style-guidelines-mof-resource-localization.instructions.md) (`source/DSCResources/**/*.psm1,source/DSCResources/**/*.strings.psd1`)
55+
- MOF resource localization: file structure, string ID format, usage patterns
56+
- Use for: Traditional DSC resource localization files
57+
58+
### Test Guidelines
59+
60+
- [DSC Community Style Guidelines - Tests](instructions/dsc-community-style-guidelines-tests.instructions.md) (`tests/**/*.[Tt]ests.ps1`)
61+
- General test patterns: Pester v5 syntax, Describe/Context/It structure, formatting
62+
- Use for: All test files
63+
64+
- [DSC Community Style Guidelines - Command Unit Tests](instructions/dsc-community-style-guidelines-command-unit-tests.instructions.md) (`tests/[uU]nit/[pP]ublic/**/*.[tT]ests.ps1,tests/[uU]nit/[pP]rivate/**/*.[tT]ests.ps1`)
65+
- Unit test specifics: parameter validation, mocking patterns, coverage requirements
66+
- Use for: Unit tests for public commands and private functions
67+
68+
- [DSC Community Style Guidelines - Command Integration Tests](instructions/dsc-community-style-guidelines-command-integration-tests.instructions.md) (`tests/[iI]ntegration/[cC]ommands/**/*.[iI]ntegration.[tT]ests.ps1`)
69+
- Integration test patterns: environment setup, real testing, naming conventions
70+
- Use for: Integration tests for public commands
71+
72+
### Documentation Guidelines
73+
74+
- [DSC Community Style Guidelines - Changelog](instructions/dsc-community-style-guidelines-changelog.instructions.md) (`CHANGELOG.md`)
75+
- Changelog format: keepachangelog format, issue references, concrete descriptions
76+
- Use for: CHANGELOG.md updates
77+
78+
- [DSC Community Style Guidelines - Markdown](instructions/dsc-community-style-guidelines-markdown.instructions.md) (`**/*.md`)
79+
- Markdown formatting: line wrapping (80 chars), indentation (2 spaces)
80+
- Use for: All Markdown documentation

0 commit comments

Comments
 (0)