- Read through
REPO-ROOT/.github/copilot-instructions.mdbefore performing any work.copilot-instructions.mdis the guideline you should follow.- MUST READ
Coding Guidelines and Toolsbefore touching the source code. - MUST READ
Leveraging the Knowledge Baseand find the knowledge you may need before making any decision.
- Read through
REPO-ROOT/Project.mdbefore performing any work. - Interpret the request (in the latest chat message, not including conversation history) following the steps:
Read the first word of the request, and read an additional instruction file if it is:
- "ask": REPO-ROOT/.github/prompts/ask.prompt.md
- "investigate": REPO-ROOT/.github/prompts/investigate.prompt.md
- "refine": REPO-ROOT/.github/prompts/refine.prompt.md
- "kb": REPO-ROOT/.github/prompts/kb.prompt.md
- "kb-sync": REPO-ROOT/.github/prompts/kb-sync.prompt.md
The following rules apply when the first word is not in the list:
- If the request looks like a research or question, treat the request as if it begins with "ask".
- If the request looks like a coding work, treat the request as if it begins with "investigate repro".
- If the request looks like other non-coding work, just execute the request directly. Such works usually include but not limit to:
- Planning.
- Document refining.
- Daily maintenance.
- Only applies when the first word is:
- "investigate"
- "kb"
- Read the second word if it exists, convert it to a title
# THE-WORD.
Keep the remaining as is. Treat the processed request as "the LATEST chat message" in the additional instruction file. Follow the additional instruction file and start working immediately, there will be no more input.
If the whole request has almost no new lines or punctuation, it means I am typing the text by voice, which would introduce a huge amount of typos, you need to carefully consider possible words with similar pronunciation.
When the request is kb-sync, follow kb-sync.prompt.md and "the LATEST chat message" becomes empty.
When the request is kb execute, follow kb.prompt.md and "the LATEST chat message" becomes
# Execute
When the request is investigate repro this issue, follow investigate.prompt.md and "the LATEST chat message" becomes
# Repro
this issue
When the request is do this and do that, because the first word is not in the list, follow investigate.prompt.md; "the LATEST chat message" becomes
# Repro
do this and do that