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
+18-15Lines changed: 18 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -169,34 +169,24 @@ from the list of paths. If user does not have a TypeSpec project, then prompt us
169
169
- Use the path of the `tspconfig.yaml` file already open in the editor or the `.tsp` file path as the project root.
170
170
- If no `.tsp` file or folder is in the current context, prompt the user to select a valid TypeSpec project root path.
171
171
172
-
3.**Pull Request Management**:
173
-
- Always start by checking if a pull request exists for spec changes before proceeding with validation or SDK
174
-
generation.
175
-
- Use `GetPullRequestForCurrentBranch` to query pull requests instead of the `gh` CLI.
176
-
- Provide a detailed pull request summary, including:
177
-
- Title, link, author, assignee, status (open, closed, merged), and mergeability.
178
-
- Check statuses (success or failure) with links and detailed failure reasons.
179
-
- API views for generated SDKs under the heading `API View for Generated SDK APIs`.
180
-
- Comments and action items for the user.
181
-
182
-
4.**Process Visibility**:
172
+
3.**Process Visibility**:
183
173
- Highlight all steps in the SDK generation process, showing completed and remaining steps.
184
174
- Do not skip any main steps. Ensure all steps are completed before moving to the next.
185
175
186
-
5.**Git Operations**:
176
+
4.**Git Operations**:
187
177
- Avoid using the `main` branch for pull requests. Prompt the user to create or switch to a new branch if necessary.
188
178
- Display git commands (e.g., `git checkout`, `git add`, `git commit`, `git push`) with a "Run" button instead of
189
179
asking the user to copy and paste.
190
180
- Do not run `git diff`
191
181
192
-
6.**Azure-Specific Rules**:
182
+
5.**Azure-Specific Rules**:
193
183
- Always use `Azure` as the repo owner in MCP tool calls.
194
184
- Confirm with the user if they want to change the repo owner or target branch, and prompt for new values if needed.
195
185
196
-
7.**Exclusions**:
186
+
6.**Exclusions**:
197
187
- Exclude changes in `.github` and `.vscode` folders from API spec and SDK pull requests.
198
188
199
-
8.**Working Branch Rule**:
189
+
7.**Working Branch Rule**:
200
190
- Ensure the TypeSpec project repository and the current working repository are not on the `main` branch:
201
191
- Check the current branch name for the cloned GitHub repository:
202
192
- If the current branch is `main`, prompt the user to create a new branch using
@@ -214,5 +204,18 @@ By following these rules, the SDK release process will remain clear, structured,
214
204
Follow `/typespec-to-sdk` prompt to generate and release SDK from TypeSpec API specification. The process is divided into several steps, each with specific actions to ensure a smooth SDK generation and release process.
215
205
Do not skip the step that choose SDK generation method to ensure the user selects the appropriate method for SDK generation, either locally or using the SDK generation pipeline. Do not repeat the steps.
216
206
207
+
1.**Identify TypeSpec Project**: Locate the TypeSpec project root path by checking for `tspconfig.yaml` or `main.tsp` files.
208
+
2.**Validate TypeSpec Specification**: Ensure the TypeSpec specification compiles without errors.
209
+
3.**Verify Authentication and Repository Status**: Ensure user is authenticated and working in the correct public Azure repository.
210
+
4.**Review and Commit Changes**: Stage and commit TypeSpec modifications, ensuring the current branch is not "main". Do not create pull request yet.
211
+
5.**Create Specification Pull Request**: Create a pull request for TypeSpec changes if not already created. This is required only if there are TypeSpec changes in current branch.
212
+
6.**Choose SDK Generation Method**: Determine how to generate SDKs (locally or via pipeline). Only Python is supported for local SDK generation at this time.
213
+
7.**Generate SDKs via Pipeline**: Generate SDKs using `/run-sdk-gen-pipeline` prompt, monitor the pipeline status and displaying generated SDK PR links.
214
+
8.**Show generated SDK PR**: Display the generated SDK pull request links for review.
215
+
9.**Create a release plan**: Create a release plan for the generated SDKs using spec pull request.
216
+
10.**Prompt user to change spec pull request to ready for review from draft status**: Update spec pull request to change it to ready for review.
217
+
11.**Release package**: Release the SDK package using `ReleaseSdkPackage` tool.
218
+
219
+
217
220
## Release readiness of SDK and information about the release pipeline
218
221
Run `/check-package-readiness` prompt to check the release readiness of an SDK package. This prompt will collect the required information from the user, execute the readiness check, and present the results.
Copy file name to clipboardExpand all lines: .github/prompts/create-release-plan.prompt.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ Follow these steps in order to create or manage a release plan for an API specif
20
20
- If no release plan exists, proceed to Step 3
21
21
22
22
## Step 3: Gather Release Plan Information
23
-
Collect the following required information from the user. Do not use non GUID valid for product and service tree Id.
23
+
Collect the following required information from the user. Do not use non GUID valid for product and service tree Id. Do not create release plan with temporary values.
24
24
Do not assume or use default for service tree Id and product service tree Id. Always show the values to user and ask them to confirm it's a valid value in service tree.
25
25
If any details are missing, prompt the user accordingly:
26
26
@@ -41,15 +41,20 @@ If any details are missing, prompt the user accordingly:
41
41
- Provide this resource: [Release Plan Creation Guide](https://eng.ms/docs/products/azure-developer-experience/plan/release-plan-create)
42
42
- Once all information is gathered, use `CreateReleasePlan` to create the release plan
43
43
- Display the newly created release plan details to the user for confirmation
44
+
- Run `/sdk-details-in-release-plan` to identify languages configured in the TypeSpec project and add them to the release plan
44
45
45
-
## Step 5: Link SDK Pull Requests (if applicable)
46
+
## Step 5: Update SDK Details in Release Plan
47
+
- Run `/sdk-details-in-release-plan.prompt.md` to add languages and package names to the release plan
48
+
- If the TypeSpec project is for a management plane, run `/verify-namespace-approval` if this is first release of SDK.
49
+
50
+
## Step 6: Link SDK Pull Requests (if applicable)
46
51
- Ask the user if they have already created SDK pull requests locally for any programming language
47
52
- If SDK pull requests exist:
48
53
- Collect the pull request links from the user
49
54
- Use `LinkSdkPullRequestToReleasePlan` to link each SDK pull request to the release plan
50
55
- Confirm successful linking for each SDK pull request
Copy file name to clipboardExpand all lines: .github/prompts/typespec-to-sdk.prompt.md
+24-22Lines changed: 24 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,16 +3,6 @@ mode: 'agent'
3
3
description: 'Generate SDKs from TypeSpec'
4
4
---
5
5
Your goal is to guide user through the process of generating SDKs from TypeSpec projects. Show all the high level steps to the user to ensure they understand the flow. Use the provided tools to perform actions and gather information as needed.
6
-
## TypeSpec to SDK Generation Process
7
-
1.**Pre-Flight Check**: Ensure user is not on main branch and prompt to create a new branch if necessary.
8
-
2.**Identify TypeSpec Project**: Locate the TypeSpec project root path by checking for `tspconfig.yaml` or `main.tsp` files.
9
-
3.**Validate TypeSpec Specification**: Ensure the TypeSpec specification compiles without errors.
10
-
4.**Verify Authentication and Repository Status**: Ensure user is authenticated and working in the correct public Azure repository.
11
-
5.**Review and Commit Changes**: Stage and commit TypeSpec modifications, ensuring the current branch is not "main".
12
-
6.**Choose SDK Generation Method**: Determine how to generate SDKs (locally or via pipeline).
13
-
7.**Create Specification Pull Request**: Create a pull request for TypeSpec changes if not already created.
14
-
8.**Verify API Readiness**: Ensure the API specification pull request is ready for SDK generation.
15
-
9.**Generate SDKs via Pipeline**: Create a release plan and generate SDKs, monitoring the pipeline status and displaying generated SDK PR links.
16
6
17
7
## Pre-Flight Check
18
8
- Verify ${workspaceFolder} is not on main branch
@@ -86,18 +76,7 @@ Your goal is to guide user through the process of generating SDKs from TypeSpec
0 commit comments