-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.clinerules
More file actions
54 lines (48 loc) · 2.86 KB
/
Copy path.clinerules
File metadata and controls
54 lines (48 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# PoshLLM Development Rules
## PowerShell Version Compatibility
- Only use PowerShell 7 syntax
- Ensure all code is compatible with PowerShell 7+ versions
## Shell Command Execution
- Only use PowerShell commands for running tool actions when using shell commands
- Avoid using native shell commands directly when PowerShell equivalents exist
- Prefer PowerShell cmdlets and modules over external executables where possible
## Testing Procedures
- After minor changes, run the unit tests to ensure no regressions
- After major changes, re-run the integration tests to verify full functionality
## PowerShell Script Validation
- All generated PowerShell scripts must use valid cmdlet names, parameters, and parameter values
- Before generating any PowerShell code:
- Verify cmdlet names are correct and available in PowerShell 7+
- Ensure parameter names are valid for the cmdlets being used
- Validate parameter values match the expected types (string, int, bool, arrays, hashtables, etc.)
- Use proper PowerShell syntax for arrays `@()`, hashtables `@{}`, and splatting `@SplattedParams`
- Common validation checks:
- Parameter names must start with `-` when calling cmdlets
- String values should be properly quoted when containing spaces or special characters
- Boolean parameters should use `$true`/`$false` or be specified as switches
- Paths should use PowerShell-compatible formats (forward slashes or escaped backslashes)
- Enum values must match valid enumeration values for the parameter
- Test generated scripts mentally or document assumptions about cmdlet behavior
- When uncertain about parameter validity, add comments explaining the intended behavior
## Task Completion and Changelog
- As the **last step** of every completed task, update the `.aiwork/changelog.md` file
- The changelog should document:
- Date and time of the task completion
- Brief description of what was accomplished
- Files that were modified or created
- Any important notes or considerations
- Use markdown format with proper headings and bullet points
- Keep entries concise but informative
- This helps track the evolution of the project and AI contributions over time
## AI-Generated Artifacts and Temporary Files
- **ALL** AI-generated temporary files, analysis documents, test scripts, and artifacts MUST be placed in the `.aiwork` folder
- This includes but is not limited to:
- Test coverage analysis reports
- Test coverage recommendations
- Temporary test scripts
- Analysis documents
- Planning documents
- Any other non-permanent work files
- The `.aiwork` folder is specifically designated for AI assistant work products that are not meant to be checked into version control
- Never place temporary AI-generated files in main code folders (Source/, Tests/, root directory, etc.)
- Only place files outside of `.aiwork` when they are meant to be permanent additions to the codebase