-
Notifications
You must be signed in to change notification settings - Fork 10
Copilot instructions #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| - When suggesting multiple options, clearly label them and explain the trade-offs | ||
| - If a request is ambiguous, ask specific clarifying questions before proceeding | ||
| - Provide concrete examples when explaining abstract concepts | ||
| - Break down complex tasks into explicit, numbered steps when helpful |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does the agent know 'when' it is helpful?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probability trees, token prediction, training, context. It doesn't "know" anything, it just predicts tokens. I know that seems glib, but this is all emergent behavior, and guessing things like this can lead to mistaken assumptions and over-reliance on anthropomorphization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if it makes an actual difference (with or without the when helpful).
| When the developer provides HTTPS links in conversation: | ||
|
|
||
| - You are permitted and encouraged to fetch content from HTTPS URLs using the `fetch_webpage` tool | ||
| - This applies to documentation, GitHub issues, pull requests, specifications, RFCs, and other web-accessible resources |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the value added of this statement? I.e. Conversely this seems to imply that there is an unnamed set of URLs where even if the user is providing explicitly (as said on line 36) the URL, the agent is not allowed to go and fetch it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It often elaborates on a general point with specific examples, because it's not able to "reason" about whether something is in a particular class or not. It's not an exclusive list, just categorical clarification.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am still not sure why a category is needed and whether this statement only allows (for better or worse) to fetch things that are within those categories.
|
|
||
| When working in this workspace, always source `setup-env.sh` before executing commands that depend on the build environment: | ||
|
|
||
| - **Repository version**: `srcs/phlex/scripts/setup-env.sh` - Multi-mode environment setup for developers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This script and README seems to yet be merge into the repository, is that correct? Or is it provided/created by another tool?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See #50.
| - All text files must end with exactly one newline character and no trailing blank lines | ||
| - **Never add trailing whitespace on any line** (spaces or tabs at end of lines) | ||
| - This includes blank lines - they should contain only the newline character, no spaces or tabs | ||
| - Exception: Markdown two-space line breaks (avoid; use proper paragraph breaks instead) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there is a better alternative, why allow the lesser alternative?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Best guess is it's allowing two-space line breaks if they already exist, but not in markdown it writes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It probably does not matter much (i.e. your preference wins), I would try to phrase it as follow though:
| - Exception: Markdown two-space line breaks (avoid; use proper paragraph breaks instead) | |
| - Exception: Markdown use proper paragraph breaks unless the existing text already uses two-space line breaks. |
pcanal
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGFM
|
@pcanal As a general comment, I'd note that this entire document was authored by Claude, with the exception of a couple of conditionalizing tweaks from me. I would ask Claude to preserve something in its instructions in the best way for it to be able to follow them, and this is what resulted. Occasionally I would point out something it did that would seem to contradict the instructions, and ask it to adjust them so that it doesn't happen again. It's all about weights rather than absolutes, and as humans we can't reliably assess what weight any given word or phrase will have. |
8cace33 to
6007002
Compare
|
From Copilot itself:
I'll check GitHub support documentation for Copilot instruction files so I can give the accurate filenames, locations, and precedence. I'll run a GitHub support search for your exact question now.I searched the GitHub Copilot docs and summarized the supported filenames/locations and how Copilot chooses between them. Below are the possible instruction files, where they live, and the precedence rules (with links to the official docs I used). What I looked up and will summarize:
Supported instruction files / locations
Precedence (how Copilot picks/combines instructions)
Practical notes and recommendations
If you want, I can:
|
4619ea6 to
cbda128
Compare
No description provided.