- Add runtime code under
Assets/Project/Code/Runtime/<Layer>/ - Add editor-only code under
Assets/Project/Editor/ - Add EditMode and PlayMode tests under
Assets/Project/Code/Tests/ - Add new files required by specifications
- Execute Unity batchmode tests (non-destructive)
- Do NOT modify
ProjectSettings/* - Do NOT modify
Packages/* - Do NOT delete or regenerate
.metafiles - Do NOT perform large structural refactors unless explicitly requested
- Do NOT introduce new dependencies unless explicitly requested
- Only format or modify files that are directly touched
- Do NOT reformat unrelated files
- Keep diffs minimal and focused
- Windows 11
- Rider IDE
- GitHub
- Git
- This repository uses Git and is hosted on GitHub
- Use
gitcommands when needed for normal repository inspection and commits - Avoid destructive
gitcommands unless explicitly requested - Do not assume GitHub CLI is installed unless the task requires it
- Do NOT assume
rg,grep,sed,awk,bash, or other Unix utilities exist - Do NOT assume a Unix-like shell environment
- Assume PowerShell environment only
- Do NOT assume Windows PowerShell 5.1 default encoding is UTF-8.
- Treat all repository text files as UTF-8.
- When reading or searching text files in PowerShell, always force UTF-8 explicitly.
Required command patterns:
-
Read file:
- Get-Content -Encoding utf8 -Path ""
-
Search file:
- Select-String -Encoding utf8 -Path "" -Pattern ""
If using .NET APIs in PowerShell:
- Prefer:
- [System.IO.File]::ReadAllText("", [System.Text.Encoding]::UTF8)
Preferred shell:
- Use PowerShell 7+ (pwsh) if available, as UTF-8 defaults are safer than Windows PowerShell 5.1.
- Prefer scoped, user-provided context over broad inspection.
- If repository inspection is required, request one of the following
(in order of preference):
- Semantic anchors: target layer/assembly (asmdef) and root namespace, plus relevant type names (classes/interfaces) if known.
- A small folder tree (2--4 levels) rooted at the relevant area.
- File contents for the relevant files.
- Request exact file paths only when required to avoid writing to the wrong location (e.g., creating new files, or multiple plausible target files exist).
- Do NOT attempt to infer repository state using shell commands.
- Prefer static reasoning over command execution.
- Unity batchmode test execution
- Non-destructive PowerShell commands when explicitly required
- Non-destructive
gitcommands when explicitly required
- Destructive commands (e.g., deleting folders, force resets, mass file removal)
- Destructive
gitcommands unless explicitly requested - Unix-only tooling
- Repository state mutation via CLI