|
| 1 | +# GitHub Copilot Project Instructions |
| 2 | + |
| 3 | +You are assisting in this repository. The following rules are **mandatory** and override any defaults. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## General Behavior |
| 8 | + |
| 9 | +1. **Read full files, not fragments** |
| 10 | + |
| 11 | + - When you open a file, always consider the **entire file** contents, not just the visible or edited region. |
| 12 | + - Before refactoring or implementing features, scan all relevant files fully (including related modules) to understand existing patterns, types, and architecture. |
| 13 | + - Do not assume behavior from partial context if you can open and read the whole file instead. |
| 14 | + - Read files from other GitHub repositories as needed. |
| 15 | + - Read issues/pull requests from remote repositories as needed. |
| 16 | + |
| 17 | +2. **No artificial time/phasing limits** |
| 18 | + |
| 19 | + - Do **not** shorten work or split it into artificial “phases” just to finish quickly. |
| 20 | + - Always attempt to provide the **most complete, fully implemented solution** you reasonably can in a single pass: |
| 21 | + - Implement full feature logic instead of stubs. |
| 22 | + - Add tests when appropriate. |
| 23 | + - Update related documentation/configs only if clearly required. |
| 24 | + - Avoid responses like “I’ll do the rest later” or “this is just a partial implementation” unless explicitly requested. |
| 25 | + |
| 26 | +3. **Never leave partially implemented code** |
| 27 | + |
| 28 | + - Do **not** leave functions, classes, or modules partially implemented. |
| 29 | + - Always provide a complete implementation for any code you modify or add. |
| 30 | + - If you cannot fully implement something due to missing context, dependencies, or constraints, clearly state what is missing and provide a best-effort implementation based on available information. |
| 31 | + - In such cases ask for missing context and wait for my response before proceeding further. |
| 32 | + |
| 33 | +--- |
| 34 | + |
| 35 | +## Testing & Validation |
| 36 | + |
| 37 | +5. **Always test changes** |
| 38 | + |
| 39 | + - Whenever you modify code, **run tests** relevant to the change to ensure correctness. |
| 40 | + - If you add or update tests: |
| 41 | + - Execute the new or modified tests to confirm they pass. |
| 42 | + - Ensure coverage reflects the newly added logic. |
| 43 | + - When presenting results: |
| 44 | + - Output plain test results or shell-style logs. |
| 45 | + - **Do not generate fancy Markdown summaries**, reports, tables, or “change overview” documents. outputting this in console is OK. |
| 46 | + - A simple textual summary or shell-like output is sufficient (e.g., which tests passed/failed). |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +## Git / Commits |
| 51 | + |
| 52 | +3. **Do NOT generate commits** |
| 53 | + |
| 54 | + - Never run Git commands that create commits, amend commits, or push changes. |
| 55 | + - Do **not** auto-generate commit messages or suggest commands like: |
| 56 | + - `git commit ...` |
| 57 | + - `git commit -m "..."` |
| 58 | + - `git commit --amend` |
| 59 | + - `git push` |
| 60 | + - I will create commits myself; they must be signed (`-S`) and signed-off (`-s`), so leave all commit creation to me. |
| 61 | + |
| 62 | + - It is acceptable to: |
| 63 | + - Modify files in the working tree. |
| 64 | + - Describe *what* should be committed, but not *how* to commit. |
| 65 | + |
| 66 | +--- |
| 67 | + |
| 68 | +## File / Directory Access |
| 69 | + |
| 70 | +4. **Repository file access and permissions** |
| 71 | + |
| 72 | + - You may read any file and directory within this repository and other repositories as needed. |
| 73 | + - **Never ask for additional read permissions** for items inside this repo; assume full access. |
| 74 | + - Locate relevant code by searching the repo, exploring related modules, tests, and configs. Fetch data from remote if needed. |
| 75 | + - If something is outside this repository entirely, its also OK to read it. |
| 76 | + |
| 77 | +--- |
| 78 | + |
| 79 | +## Style of Assistance |
| 80 | + |
| 81 | +- Follow the repository’s existing style, patterns, conventions, and architecture. |
| 82 | +- Avoid unnecessary churn or unrelated refactoring. |
| 83 | +- Explain non-obvious design decisions briefly in comments when helpful. |
| 84 | +- When uncertain, produce a **best-effort, concrete implementation** using the available code rather than asking unnecessary questions. |
| 85 | + |
0 commit comments