You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
1
Act like a helpful assistant, who is a professional Typescript engineer with a broad experience in LLM.
2
+
2
3
In your work, you rigorously uphold the following guiding principles:
3
4
4
5
-**Integrity**: Act with unwavering honesty. Never distort, omit, or manipulate information.
@@ -10,3 +11,4 @@ In your work, you rigorously uphold the following guiding principles:
10
11
-**Step-by-Step Reasoning**: Break down complex analyses into clear, logical steps to enhance understanding and traceability.
11
12
-**Continuous Improvement**: Always seek ways to enhance the quality and reliability of your analyses by asking user for feedback and iterating on your approach.
12
13
-**Tool Utilization**: Leverage available tools effectively to augment your analysis, ensuring their outputs are critically evaluated and integrated appropriately.
14
+
-**Context Reuse**: When a project name, team name, or other identifier has been established in previous tool call results or user input during the conversation, reuse those values automatically in subsequent tool calls instead of leaving them blank or prompting the user again.
"Retrieve a list of teams for an Azure DevOps project. If a project is not specified, you will be prompted to select one.",
27
28
{
28
-
project: z.string().optional().describe("The name or ID of the Azure DevOps project. If not provided, a project selection prompt will be shown."),
29
+
project: z.string().optional().describe("The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown."),
29
30
mine: z.boolean().optional().describe("If true, only return teams that the authenticated user is a member of."),
30
31
top: z.number().optional().describe("The maximum number of teams to return. Defaults to 100."),
31
32
skip: z.number().optional().describe("The number of teams to skip for pagination. Defaults to 0."),
"Retrieve a list of iterations for a specific team in a project.",
24
+
"Retrieve a list of iterations for a specific team in a project. If a project or team is not specified, you will be prompted to select one.",
24
25
{
25
-
project: z.string().describe("The name or ID of the Azure DevOps project."),
26
-
team: z.string().describe("The name or ID of the Azure DevOps team."),
26
+
project: z.string().optional().describe("The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown."),
27
+
team: z.string().optional().describe("The name or ID of the Azure DevOps team. Reuse from prior context if already known. If not provided, a team selection prompt will be shown."),
27
28
timeframe: z.enum(["current"]).optional().describe("The timeframe for which to retrieve iterations. Currently, only 'current' is supported."),
28
29
},
29
30
async({ project, team, timeframe })=>{
30
31
try{
31
32
constconnection=awaitconnectionProvider();
33
+
34
+
letresolvedProject=project;
35
+
if(!resolvedProject){
36
+
constresult=awaitelicitProject(server,connection,"Select the Azure DevOps project to list team iterations for.");
37
+
if("response"inresult)returnresult.response;
38
+
resolvedProject=result.resolved;
39
+
}
40
+
41
+
letresolvedTeam=team;
42
+
if(!resolvedTeam){
43
+
constresult=awaitelicitTeam(server,connection,resolvedProject,"Select the Azure DevOps team to list iterations for.");
44
+
if("response"inresult)returnresult.response;
45
+
resolvedTeam=result.resolved;
46
+
}
47
+
32
48
constworkApi=awaitconnection.getWorkApi();
33
-
constiterations=awaitworkApi.getTeamIterations({ project, team },timeframe);
"List all iterations in a specified Azure DevOps project.",
132
+
"List all iterations in a specified Azure DevOps project. If a project is not specified, you will be prompted to select one.",
114
133
{
115
-
project: z.string().describe("The name or ID of the Azure DevOps project."),
134
+
project: z.string().optional().describe("The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown."),
116
135
depth: z.number().default(2).describe("Depth of children to fetch."),
117
136
excludedIds: z.array(z.number()).optional().describe("An optional array of iteration IDs, and thier children, that should not be returned."),
118
137
},
119
138
async({ project, depth,excludedIds: ids})=>{
120
139
try{
121
140
constconnection=awaitconnectionProvider();
141
+
142
+
letresolvedProject=project;
143
+
if(!resolvedProject){
144
+
constresult=awaitelicitProject(server,connection,"Select the Azure DevOps project to list iterations for.");
"Get the team capacity of a specific team and iteration in a project.",
253
+
"Get the team capacity of a specific team and iteration in a project. If a project is not specified, you will be prompted to select one.",
227
254
{
228
-
project: z.string().describe("The name or Id of the Azure DevOps project."),
229
-
team: z.string().describe("The name or Id of the Azure DevOps team."),
255
+
project: z.string().optional().describe("The name or Id of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown."),
256
+
team: z.string().describe("The name or Id of the Azure DevOps team. Reuse from prior context if already known."),
230
257
iterationId: z.string().describe("The Iteration Id to get capacity for."),
231
258
},
232
259
async({ project, team, iterationId })=>{
233
260
try{
234
261
constconnection=awaitconnectionProvider();
262
+
263
+
letresolvedProject=project;
264
+
if(!resolvedProject){
265
+
constresult=awaitelicitProject(server,connection,"Select the Azure DevOps project to get team capacity for.");
266
+
if("response"inresult)returnresult.response;
267
+
resolvedProject=result.resolved;
268
+
}
269
+
235
270
constworkApi=awaitconnection.getWorkApi();
236
-
constteamContext={ project, team };
271
+
constteamContext={project: resolvedProject, team };
"Get an iteration's capacity for all teams in iteration and project.",
397
+
"Get an iteration's capacity for all teams in iteration and project. If a project is not specified, you will be prompted to select one.",
363
398
{
364
-
project: z.string().describe("The name or Id of the Azure DevOps project."),
399
+
project: z.string().optional().describe("The name or Id of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown."),
365
400
iterationId: z.string().describe("The Iteration Id to get capacity for."),
366
401
},
367
402
async({ project, iterationId })=>{
368
403
try{
369
404
constconnection=awaitconnectionProvider();
405
+
406
+
letresolvedProject=project;
407
+
if(!resolvedProject){
408
+
constresult=awaitelicitProject(server,connection,"Select the Azure DevOps project to get iteration capacities for.");
"Get team settings including default iteration, backlog iteration, and default area path for a team.",
437
+
"Get team settings including default iteration, backlog iteration, and default area path for a team. If a project or team is not specified, you will be prompted to select one.",
395
438
{
396
-
project: z.string().describe("The name or ID of the Azure DevOps project."),
397
-
team: z.string().optional().describe("The name or ID of the Azure DevOps team. If not provided, the default team will be used."),
439
+
project: z.string().optional().describe("The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown."),
440
+
team: z.string().optional().describe("The name or ID of the Azure DevOps team. Reuse from prior context if already known. If not provided, a team selection prompt will be shown."),
398
441
},
399
442
async({ project, team })=>{
400
443
try{
401
444
constconnection=awaitconnectionProvider();
445
+
446
+
letresolvedProject=project;
447
+
if(!resolvedProject){
448
+
constresult=awaitelicitProject(server,connection,"Select the Azure DevOps project to get team settings for.");
449
+
if("response"inresult)returnresult.response;
450
+
resolvedProject=result.resolved;
451
+
}
452
+
453
+
letresolvedTeam=team;
454
+
if(!resolvedTeam){
455
+
constresult=awaitelicitTeam(server,connection,resolvedProject,"Select the Azure DevOps team to get settings for.");
0 commit comments