Shared
The result is not evidence that one prompt can optimize every agent. It is evidence that shared tools still need task-specific operating policy. A capable tool used with the wrong investigative posture can produce a worse agent.
Before applying this lesson to an automated review deployment:
The shared harness offered three Unix-inspired tools:
The old and shared tools appeared to map neatly onto one another:
At the level of verbs, the change looked modest. Directory listing became pattern-based discovery, code search became
The initial results showed that functional similarity was not enough. Average review cost increased, while the number of useful comments decreased. The tools could perform the required operations, but the agent was not using them in a review-efficient sequence.
That distinction matters. An agent tool is not only a command endpoint. Its description, surrounding instructions, expected sequence, retry policy, and stopping conditions influence how the model spends its attention.
GitHub began with what looked like a tool migration. The outcome demonstrated that it also needed to manage a workflow migration.
A pull-request reviewer has a more constrained starting point: the diff. Its central question is not “What does this repository contain?” but “Did these changes introduce a concrete problem?”
That difference should shape the order of operations.
A review-oriented investigation can begin by identifying a potentially risky change, forming a testable question, and retrieving only the surrounding evidence necessary to answer it. Broad exploration remains available, but it should follow a reason discovered in the diff rather than occur by default.
This is the core lesson from GitHub’s result.
The commands do not determine the posture. The instructions do.
GitHub’s revised approach gave the shared tools a reviewer-shaped sequence:
An agent that begins with a question can stop when the available evidence answers it. An agent that begins by browsing has no equally clear stopping condition, because another adjacent file or symbol will almost always be available.
The first consequence is cost. More returned content can mean more input for subsequent model calls.
The second is relevance. Additional text competes with the diff and with the evidence directly connected to the suspected issue. A large context is not automatically a better context if much of it does not help answer the review question.
The third is investigative drift. An irrelevant file may contain another symbol, configuration setting, or comment that looks important. Following that lead can generate more searches and reads even when it has little relationship to the original change.
Humans often skim a file and mentally discard it. An agent may continue carrying the file’s text into later reasoning. That makes precision in retrieval a product concern, not merely a token-accounting exercise.
This does not mean that an automated reviewer should always read less. It means that each read should have a purpose. A wide read may be justified when a change affects a complex interaction or when initial evidence points toward a broader dependency. The problem is reading widely before such a reason exists.
The useful optimization target is therefore not “minimum context.” It is sufficient, relevant context gathered in a controlled order.
The operating principle can be summarized as:
Ask, narrow, read, decide.
“Ask” means extracting a concrete review question from the changed code. A changed condition might raise a question about callers that rely on the previous behavior. A modified interface might raise a question about implementations or consumers. A changed error path might justify checking whether the result is handled consistently elsewhere.
These are examples of how a review team might apply the policy, not a claim that GitHub reported each specific workflow.
“Narrow” means using inexpensive discovery operations before introducing file contents into context.
“Read” means opening the specific evidence needed to evaluate the concern. The target may be a focused range around a caller, test, interface implementation, or configuration use rather than an entire collection of related files.
“Decide” creates a stopping point. If the evidence supports a concrete, useful comment, the reviewer can produce it. If the evidence dismisses the concern, the reviewer should avoid continuing merely because additional repository content is available.
The approach does not prohibit broader investigation. It makes expansion conditional. If a targeted search reveals that the changed code is used through an unexpected abstraction, the agent can widen its scope. The distinction is that the wider search now has a documented reason tied to the diff.
That is how cost can be reduced without simply making reviews shallower. An arbitrary cap on searches or reads might save money by preventing the agent from finding necessary evidence. A question-driven workflow instead attempts to remove irrelevant retrieval while preserving justified investigation.
After tuning the reviewer-specific instructions, GitHub reported roughly 20% lower average cost than the control. GitHub also reported no quality signal that it considered strong enough to block shipping.
That qualifier must remain intact. The result is not proof that there was no quality regression of any kind. It is not evidence that automated review matched human review quality, and it does not establish that every repository or pull request will receive the same cost improvement.
The supported conclusion is narrower: within GitHub’s evaluation and deployment process, the tuned workflow lowered average cost by roughly 20% without generating a quality signal that would have prevented shipping.
A failed search should not automatically trigger a broader investigation. It may indicate that the query was too specific, incorrectly escaped, or based on an uncertain path.
A controlled recovery policy keeps the agent anchored to the same review question:
Recovery restores the intended workflow after a small error. Exploration changes or expands the scope of the investigation. An agent should not move from the first to the second without an evidence-based reason.
Path guessing is especially risky. A guessed path may fail, wasting a call, or it may point to a real but irrelevant file. The second outcome can be more misleading because the successful
Using
This is a practical design pattern that teams can apply beyond GitHub’s reported result. Any agent using search, file, management, or diagnostic tools should have a defined response to predictable failures. Without one, the model may improvise by widening its scope and accumulating context that does not answer the original question.
That missing information matters when cost rises or useful-comment rates fall. A poor result can come from several different causes:
Behavioral traces can.
For this type of deployment, a useful trace review should answer several questions:
A final comment can look reasonable even after an inefficient investigation. Conversely, a short review can reflect disciplined selectivity or a failure to find evidence. Trace inspection helps distinguish those outcomes.
Teams do not need to retain every detail indefinitely to learn from traces. They do need enough visibility during evaluation to connect costs and output quality to identifiable behavior. Otherwise, a regression may be blamed on the tool interface when the actual problem is the policy governing its use.
The architecture can be understood as two layers:
The shared harness supplies capability. The product policy supplies purpose.
This separation allows teams to reuse core operations without pretending that every agent should use them in the same way. A pull-request reviewer, an interactive coding assistant, and an autonomous implementation agent may all need repository search, but their starting points and stopping conditions differ.
For code review, the diff provides a strong anchor. The policy should keep the investigation close to changed code unless retrieved evidence justifies widening it.
For another product, broader initial exploration may be appropriate. That possibility is why GitHub’s result should not be compressed into a universal slogan such as “always search narrowly” or “never read a whole file.” Those rules would substitute one context-free policy for another.
The stronger rule is to define tool behavior around the product’s objective.
A shared runtime should therefore expose enough control for each product to specify:
Organizations should be cautious about optimizing only the number of tool calls. A call count does not show how much text each call returned, whether the result was relevant, or whether the call moved the investigation closer to a decision.
A strict tool-call cap may make an agent cheaper while preventing it from validating a real concern. A more useful policy improves the sequence and purpose of calls:
Changed code → review question → targeted discovery → exact evidence → comment or no comment.
When that chain cannot be reconstructed, the team should investigate whether the agent is browsing by association rather than reviewing by evidence.
This is analysis derived from the reported workflow, not an additional GitHub finding. GitHub’s supported production claim remains the measured cost reduction and the absence of a quality signal strong enough to block shipping.
A team can apply the same discipline to any Windows repository or review workflow, but repository-specific examples should be treated as local recommendations rather than GitHub results.
Start by documenting what a useful automated review comment means for the organization. A useful comment should ordinarily identify a specific issue, connect it to changed code, present relevant supporting evidence, and offer enough precision for a developer to evaluate or act on it.
Then establish a baseline before modifying the toolset or instructions.
Where practical, have more than one evaluator assess a sample and resolve disagreements. The goal is not to claim perfect objectivity, but to prevent a cost reduction from being accepted merely because the evaluation standard shifted.
Where possible, use the same evaluation set offline or assign similar pull requests to control and treatment groups. Keep the quality rubric stable throughout the comparison.
Review both successful and unsuccessful cases. Studying only the best traces can hide systematic waste, while studying only failures can make a workable configuration appear worse than it is.
Do not approve rollout based on cost alone. A cheaper reviewer that misses important issues or generates less actionable feedback has not necessarily improved.
At the same time, do not overstate a clean evaluation. If the test produces no quality signal that would block deployment, report exactly that. Do not translate it into “no quality regression,” “equivalent to human review,” or “safe for every repository.”
A reasonable rollout can proceed in stages:
The improvement came from restoring that workflow at the instruction layer. Begin with the diff. Ask a concrete question. Narrow with
That sequence lowered average cost by roughly 20% against GitHub’s control without producing a quality signal that GitHub considered strong enough to block shipping.
The result should encourage infrastructure reuse, but it should also place a limit on standardization. Teams can share tools without sharing one universal behavioral policy. Each agent product still needs instructions, recovery rules, evidence thresholds, and stopping conditions aligned with its job.
For Windows development teams, the next step is measurable rather than rhetorical: establish a control, define useful comments, inspect traces for diff-first evidence gathering, test the revised tool policy, and roll it out only if cost improves without a shipping-blocking quality signal.
Agent optimization is not simply a matter of giving a model better commands. It is the work of ensuring that every command advances the task the product was built to perform.
grep, glob, and view tools initially increased Copilot code review’s cost and reduced useful comments. Reviewer-specific instructions—start with the diff, narrow with grep and glob, then view exact evidence—cut average cost by roughly 20% without producing a quality signal that GitHub considered strong enough to block shipping.The result is not evidence that one prompt can optimize every agent. It is evidence that shared tools still need task-specific operating policy. A capable tool used with the wrong investigative posture can produce a worse agent.
WindowsForum Quick Checklist
Before applying this lesson to an automated review deployment:- Baseline review cost and useful-comment rate. Record both before changing tools or instructions.
- Inspect traces for diff-first behavior. Confirm that investigations begin with changed code and a concrete review question.
- Require discovery before reading. Use
greporglobto establish relevance before callingview. - Control failed-search recovery. Retry failed
grepcalls with a simpler, properly escaped query. - Discover paths instead of guessing. Use
globwhen the exact path is uncertain. - Compare against a control. Test the revised workflow on comparable reviews before broad rollout.
- Keep the quality claim precise. Look for quality signals that could block deployment; do not treat their absence as proof of zero regression.
GitHub’s Infrastructure Cleanup Exposed a Product-Layer Problem
Before the migration, Copilot code review explored repositories through its own specialized tool layer:list_dir, search_file, search_dir, and read_code.The shared harness offered three Unix-inspired tools:
grep, glob, and view. That made consolidation attractive: code review could use the same basic repository-navigation interface available elsewhere in GitHub’s agent infrastructure.The old and shared tools appeared to map neatly onto one another:
| Old Copilot code review tool | Shared tool | Intended purpose |
|---|---|---|
list_dir | glob | Discover candidate files and directories |
search_file, search_dir | grep | Search for matching text, symbols, or call sites |
read_code | view | Read relevant file contents after locating evidence |
grep, and file reading became view.The initial results showed that functional similarity was not enough. Average review cost increased, while the number of useful comments decreased. The tools could perform the required operations, but the agent was not using them in a review-efficient sequence.
That distinction matters. An agent tool is not only a command endpoint. Its description, surrounding instructions, expected sequence, retry policy, and stopping conditions influence how the model spends its attention.
GitHub began with what looked like a tool migration. The outcome demonstrated that it also needed to manage a workflow migration.
The Shared Tools Needed a Reviewer-Specific Operating Policy
A general coding agent may need to explore broadly. It might be asked to understand an unfamiliar repository, plan a feature, diagnose a build failure, or modify several components. In those situations, mapping a wider area of the codebase can be reasonable.A pull-request reviewer has a more constrained starting point: the diff. Its central question is not “What does this repository contain?” but “Did these changes introduce a concrete problem?”
That difference should shape the order of operations.
A review-oriented investigation can begin by identifying a potentially risky change, forming a testable question, and retrieving only the surrounding evidence necessary to answer it. Broad exploration remains available, but it should follow a reason discovered in the diff rather than occur by default.
This is the core lesson from GitHub’s result.
grep can be used to find a specific caller of a changed function, or it can become the first step in an open-ended survey of a subsystem. glob can verify the location of a relevant file, or it can produce a long list of merely plausible candidates. view can retrieve a decisive range, or it can introduce a large amount of unrelated material.The commands do not determine the posture. The instructions do.
GitHub’s revised approach gave the shared tools a reviewer-shaped sequence:
- Start with the pull-request diff.
- Identify a concrete concern or review question.
- Use
greporglobto narrow the evidence space. - Use
viewonly after identifying the relevant file or range. - Decide whether the evidence supports a useful review comment.
- Expand the investigation only when the evidence justifies doing so.
An agent that begins with a question can stop when the available evidence answers it. An agent that begins by browsing has no equally clear stopping condition, because another adjacent file or symbol will almost always be available.
Context Has a Carrying Cost
Tool output does not disappear after the agent reads it. Returned text becomes part of the context used during later reasoning, so an unnecessary file read can have consequences beyond the retrieval itself.The first consequence is cost. More returned content can mean more input for subsequent model calls.
The second is relevance. Additional text competes with the diff and with the evidence directly connected to the suspected issue. A large context is not automatically a better context if much of it does not help answer the review question.
The third is investigative drift. An irrelevant file may contain another symbol, configuration setting, or comment that looks important. Following that lead can generate more searches and reads even when it has little relationship to the original change.
Humans often skim a file and mentally discard it. An agent may continue carrying the file’s text into later reasoning. That makes precision in retrieval a product concern, not merely a token-accounting exercise.
This does not mean that an automated reviewer should always read less. It means that each read should have a purpose. A wide read may be justified when a change affects a complex interaction or when initial evidence points toward a broader dependency. The problem is reading widely before such a reason exists.
The useful optimization target is therefore not “minimum context.” It is sufficient, relevant context gathered in a controlled order.
GitHub Replaced Repository Browsing With Evidence Gathering
GitHub addressed the regression by changing the instructions around the shared tools. The resulting workflow emphasized the diff, targeted discovery, focused reading, and a decision based on exact evidence.The operating principle can be summarized as:
Ask, narrow, read, decide.
“Ask” means extracting a concrete review question from the changed code. A changed condition might raise a question about callers that rely on the previous behavior. A modified interface might raise a question about implementations or consumers. A changed error path might justify checking whether the result is handled consistently elsewhere.
These are examples of how a review team might apply the policy, not a claim that GitHub reported each specific workflow.
“Narrow” means using inexpensive discovery operations before introducing file contents into context.
grep can identify candidate references, while glob can locate files when their paths are uncertain.“Read” means opening the specific evidence needed to evaluate the concern. The target may be a focused range around a caller, test, interface implementation, or configuration use rather than an entire collection of related files.
“Decide” creates a stopping point. If the evidence supports a concrete, useful comment, the reviewer can produce it. If the evidence dismisses the concern, the reviewer should avoid continuing merely because additional repository content is available.
The approach does not prohibit broader investigation. It makes expansion conditional. If a targeted search reveals that the changed code is used through an unexpected abstraction, the agent can widen its scope. The distinction is that the wider search now has a documented reason tied to the diff.
That is how cost can be reduced without simply making reviews shallower. An arbitrary cap on searches or reads might save money by preventing the agent from finding necessary evidence. A question-driven workflow instead attempts to remove irrelevant retrieval while preserving justified investigation.
After tuning the reviewer-specific instructions, GitHub reported roughly 20% lower average cost than the control. GitHub also reported no quality signal that it considered strong enough to block shipping.
That qualifier must remain intact. The result is not proof that there was no quality regression of any kind. It is not evidence that automated review matched human review quality, and it does not establish that every repository or pull request will receive the same cost improvement.
The supported conclusion is narrower: within GitHub’s evaluation and deployment process, the tuned workflow lowered average cost by roughly 20% without generating a quality signal that would have prevented shipping.
Failed Searches Need a Controlled Recovery Path
The revised instructions also addressed what the agent should do when discovery fails.A failed search should not automatically trigger a broader investigation. It may indicate that the query was too specific, incorrectly escaped, or based on an uncertain path.
A controlled recovery policy keeps the agent anchored to the same review question:
- If
grepfails, retry with a simpler, properly escaped query. - If the exact path is unknown, use
globto discover it. - Do not replace path discovery with a series of speculative path guesses.
- Do not treat one failed lookup as permission to survey an entire subsystem.
- If repeated targeted attempts find no relevant evidence, reconsider whether the original concern supports a comment.
Recovery restores the intended workflow after a small error. Exploration changes or expands the scope of the investigation. An agent should not move from the first to the second without an evidence-based reason.
Path guessing is especially risky. A guessed path may fail, wasting a call, or it may point to a real but irrelevant file. The second outcome can be more misleading because the successful
view call may cause the agent to treat unrelated content as supporting evidence.Using
glob makes file discovery explicit. Simplifying and escaping a grep query makes search recovery explicit. Both actions reduce uncertainty while preserving the purpose of the investigation.This is a practical design pattern that teams can apply beyond GitHub’s reported result. Any agent using search, file, management, or diagnostic tools should have a defined response to predictable failures. Without one, the model may improvise by widening its scope and accumulating context that does not answer the original question.
Behavioral Traces Make Regressions Debuggable
Final comments tell a team what an automated reviewer produced. They do not, by themselves, show how it arrived there.That missing information matters when cost rises or useful-comment rates fall. A poor result can come from several different causes:
- The agent may have misunderstood the diff.
- It may have formed an unproductive review question.
- It may have searched too broadly.
- It may have read files before confirming their relevance.
- It may have guessed paths instead of discovering them.
- It may have responded to a failed query by expanding the investigation.
- It may have found useful evidence but failed to turn it into a precise comment.
Behavioral traces can.
For this type of deployment, a useful trace review should answer several questions:
- Did the agent begin with the diff?
- Was each search connected to a concrete concern?
- Did
greporglobprecedeviewwhen discovery was needed? - Did each
viewcall target a file or range with an explicit evidentiary purpose? - Did failed searches produce controlled retries?
- Did the investigation narrow as it progressed?
- Did the agent stop when the question was answered?
- Did the resulting comment identify a concrete problem supported by the retrieved evidence?
A final comment can look reasonable even after an inefficient investigation. Conversely, a short review can reflect disciplined selectivity or a failure to find evidence. Trace inspection helps distinguish those outcomes.
Teams do not need to retain every detail indefinitely to learn from traces. They do need enough visibility during evaluation to connect costs and output quality to identifiable behavior. Otherwise, a regression may be blamed on the tool interface when the actual problem is the policy governing its use.
Shared Harnesses Need Product-Specific Policy
GitHub’s result does not argue against shared agent infrastructure. The tuned outcome shows that shared tools can support code review effectively when their instructions reflect the product’s job.The architecture can be understood as two layers:
| Layer | Responsibility |
|---|---|
| Shared harness | Provides reliable operations such as search, path discovery, and file viewing |
| Product-specific policy | Defines when to use each operation, how to recover from failure, what evidence is required, and when to stop |
This separation allows teams to reuse core operations without pretending that every agent should use them in the same way. A pull-request reviewer, an interactive coding assistant, and an autonomous implementation agent may all need repository search, but their starting points and stopping conditions differ.
For code review, the diff provides a strong anchor. The policy should keep the investigation close to changed code unless retrieved evidence justifies widening it.
For another product, broader initial exploration may be appropriate. That possibility is why GitHub’s result should not be compressed into a universal slogan such as “always search narrowly” or “never read a whole file.” Those rules would substitute one context-free policy for another.
The stronger rule is to define tool behavior around the product’s objective.
A shared runtime should therefore expose enough control for each product to specify:
- The investigation’s starting point.
- The preferred order of tools.
- The threshold for reading content.
- The recovery path after errors.
- The conditions that justify expanding scope.
- The evidence needed before producing an output.
- The stopping conditions.
- The cost and quality measurements used for release decisions.
The 20% Result Is an Attention-Allocation Result
The headline number is roughly 20% lower average review cost than the control. The more durable lesson is that the agent’s attention was redirected toward evidence related to the diff.Organizations should be cautious about optimizing only the number of tool calls. A call count does not show how much text each call returned, whether the result was relevant, or whether the call moved the investigation closer to a decision.
A strict tool-call cap may make an agent cheaper while preventing it from validating a real concern. A more useful policy improves the sequence and purpose of calls:
- Discover before reading.
- Search for evidence tied to a stated concern.
- Open the smallest useful range.
- Recover from errors without abandoning the original question.
- Expand only when evidence requires it.
- Stop when the question has been answered.
Changed code → review question → targeted discovery → exact evidence → comment or no comment.
When that chain cannot be reconstructed, the team should investigate whether the agent is browsing by association rather than reviewing by evidence.
This is analysis derived from the reported workflow, not an additional GitHub finding. GitHub’s supported production claim remains the measured cost reduction and the absence of a quality signal strong enough to block shipping.
Windows Development Teams Should Treat Instructions as Managed Configuration
For Windows-focused development organizations, the immediate lesson is not to reproduce an internal GitHub prompt word for word. The lesson is to treat agent instructions as managed production configuration.A team can apply the same discipline to any Windows repository or review workflow, but repository-specific examples should be treated as local recommendations rather than GitHub results.
Start by documenting what a useful automated review comment means for the organization. A useful comment should ordinarily identify a specific issue, connect it to changed code, present relevant supporting evidence, and offer enough precision for a developer to evaluate or act on it.
Then establish a baseline before modifying the toolset or instructions.
Baseline Procedure
Select a representative set of pull requests and record:- Average review cost under the current configuration.
- Number of comments produced.
- Number and percentage of comments judged useful.
- Number of unsupported, incorrect, duplicative, or excessively vague comments.
- Categories of defects or concerns the reviewer detects.
- Cases in which the reviewer fails to identify an issue expected by the evaluation team.
- Frequency of failed searches, guessed paths, broad reads, and investigations that drift away from the diff.
Where practical, have more than one evaluator assess a sample and resolve disagreements. The goal is not to claim perfect objectivity, but to prevent a cost reduction from being accepted merely because the evaluation standard shifted.
Controlled Test Procedure
Create a revised policy that requires:- Diff-first analysis.
- A concrete question before repository exploration.
greporglobbeforeviewwhen the relevant location is not already known.- Focused file or range retrieval.
- A simpler escaped retry after failed
grep. globafter path uncertainty instead of guessed alternatives.- Evidence-based expansion of scope.
- A clear stopping condition.
Where possible, use the same evaluation set offline or assign similar pull requests to control and treatment groups. Keep the quality rubric stable throughout the comparison.
Trace Review Procedure
For each configuration, sample traces and classify the investigation:| Trace characteristic | Desired pattern | Warning sign |
|---|---|---|
| Starting point | Begins with changed code | Begins with broad repository mapping |
| Search intent | Connected to a stated review question | Search has no clear relation to the diff |
| Path handling | Uses glob to discover uncertain paths | Repeatedly guesses path names |
| Search recovery | Simplifies and escapes the query | Expands immediately into unrelated terms |
| Reading behavior | Opens exact relevant evidence | Reads broad files before relevance is established |
| Scope changes | Expands after evidence warrants it | Expands because another concept happens to appear |
| Stopping behavior | Stops after answering the question | Continues while additional files remain available |
| Final output | Supported by retrieved evidence | Vague, speculative, or disconnected from the trace |
Rollout Decision
Compare the revised configuration with the control across cost, useful-comment rate, error categories, and trace quality.Do not approve rollout based on cost alone. A cheaper reviewer that misses important issues or generates less actionable feedback has not necessarily improved.
At the same time, do not overstate a clean evaluation. If the test produces no quality signal that would block deployment, report exactly that. Do not translate it into “no quality regression,” “equivalent to human review,” or “safe for every repository.”
A reasonable rollout can proceed in stages:
- Offline evaluation against a stable test set.
- Limited deployment to selected repositories or teams.
- Comparison with a concurrent control.
- Review of cost, useful-comment rate, and trace behavior.
- Adjustment of instructions and retry rules.
- Broader rollout only after the result remains stable.
- Continued monitoring for changes in repository mix, models, tools, or review behavior.
The Broader Lesson Is to Optimize the Workflow, Not the Tool List
GitHub’s experience began with an appealing consolidation: replace specialized repository operations with sharedgrep, glob, and view tools. The first outcome was worse—higher cost and fewer useful comments—because shared capability alone did not reproduce a review-specific workflow.The improvement came from restoring that workflow at the instruction layer. Begin with the diff. Ask a concrete question. Narrow with
grep and glob. Use view for exact evidence. Recover from failed searches predictably. Stop when the evidence supports a decision.That sequence lowered average cost by roughly 20% against GitHub’s control without producing a quality signal that GitHub considered strong enough to block shipping.
The result should encourage infrastructure reuse, but it should also place a limit on standardization. Teams can share tools without sharing one universal behavioral policy. Each agent product still needs instructions, recovery rules, evidence thresholds, and stopping conditions aligned with its job.
For Windows development teams, the next step is measurable rather than rhetorical: establish a control, define useful comments, inspect traces for diff-first evidence gathering, test the revised tool policy, and roll it out only if cost improves without a shipping-blocking quality signal.
Agent optimization is not simply a matter of giving a model better commands. It is the work of ensuring that every command advances the task the product was built to perform.
References
- Primary source: The GitHub Blog
Published: Fri, 10 Jul 2026 15:58:08 GMT
Loading…
github.blog - Official source: github.com
GitHub Code Review · GitHub
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
github.com
- Official source: docs.github.com
Loading…
docs.github.com - Related coverage: featbit.co
- Related coverage: ucd-serg.github.io
Loading…
ucd-serg.github.io - Related coverage: tao-xiao.github.io
Loading…
tao-xiao.github.io
- Related coverage: techradar.com
Loading…
www.techradar.com - Related coverage: windowscentral.com
"This could cost people their jobs": VS Code added Copilot as co-author without permission or notice | Windows Central
VS Code briefly added Copilot as a co‑author on Git commits even when AI features were disabled.www.windowscentral.com - Related coverage: itpro.com
Loading…
www.itpro.com