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
# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking
3
+
changeKind: fix
4
+
packages:
5
+
- "@azure-tools/typespec-ts"
6
+
---
7
+
8
+
Add the license header to emitted `.mts`/`.mjs` files (e.g. the browser and react-native static helper variants such as `get-binary-stream-response-browser.mts`), which were previously skipped because the source-code detection only matched `.ts`/`.js` extensions.
Detect operation name conflicts when multiple services are combined into one client via `@client({service: [ServiceA, ServiceB]})`. Previously only same-namespace duplicates were caught; now cross-service operation name collisions emit the existing `duplicate-client-name` diagnostic.
Write the typespec-go spector coverage report to the shared `@azure-tools/azure-http-specs/spec-coverage.json` location so the CI coverage upload uses the same convention as other emitters.
During SDK generation, if a go.mod file exists, its module identity is used as the source of truth, including any major version suffix. This alleviates the need to update tspconfig.yaml whenever a new major version is required.
Introduce a standardized opt-in `spector.config.yaml` for selecting which spector tests each emitter generates, loaded by the shared `@azure-tools/spector-runner` package (with a JSON schema generated from TypeSpec). Wire it into the Go (`tspcompile.js`), Python (`regenerate.ts`), TypeScript (`gen-spector.js`) and Java (`Generate.ps1`) regenerators. No change to the set of generated specs.
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,21 @@
2
2
3
3
This document serves as an index to task-specific instructions for GitHub Copilot. Each task has its own detailed instructions file in the `.github/prompts` directory.
4
4
5
+
## Development Environment (mise)
6
+
7
+
This repo pins its development tools with [mise](https://mise.jdx.dev) via `mise.toml` and `mise.lock`: Node.js, pnpm, Python, uv, Go, Java, and Maven.
8
+
9
+
- Check for mise first (`mise --version`). If it is installed, prefer the mise-managed tools over whatever happens to be on `PATH` — a globally installed `node`/`pnpm`/`python` is often the wrong version or misconfigured.
10
+
- A fresh clone or git worktree is untrusted, so mise refuses to load its config. If you see `Config files in ... are not trusted`, run `mise trust` from the repo root, then continue.
11
+
- Run `mise install` from the repo root to install the pinned versions. It is a fast no-op (`mise all tools are installed`) when everything is already present, so it is safe to run before other setup.
12
+
- Non-interactive shells (including the ones agents run commands in) usually do not have mise activated, so the pinned tools are not on `PATH`. Prefix commands with `mise exec --` (for example `mise exec -- pnpm install`, `mise exec -- pnpm build`, `mise exec -- python --version`). Without it, commands can fail with confusing errors such as `The packageManager dependency "pnpm@..." in pnpm-lock.yaml must use a registry package path`.
13
+
- Use `mise ls --current` to confirm which tool versions are active for this repo.
14
+
- If mise is not installed, fall back to the tools on `PATH`, but match the versions in `mise.toml` and the `packageManager` field in `package.json`.
15
+
5
16
## Install and Build
6
17
7
18
- Packages are located in the `packages` folder
8
-
- Use `pnpm` as the package manager
19
+
- Use `pnpm` as the package manager (prefix with `mise exec --` when mise is installed but not activated in the shell)
9
20
- Use `pnpm install` to install dependencies
10
21
- Use `pnpm build` to build every package
11
22
- Use `pnpm -r --filter "<pkgName>..." build` to build to a specific package `<pkgName>`
@@ -27,6 +38,7 @@ This document serves as an index to task-specific instructions for GitHub Copilo
27
38
28
39
- When creating worktrees or branches for new work, base them off the main Azure fork's `main` branch (Azure/typespec-azure). Depending on the user's local git remote setup, this may be called `upstream` or `origin`.
29
40
- When creating worktrees (which clone the repo), always clone recursively with `--recurse-submodules` and run `git submodule update --init` if the `core/` submodule is missing or not at the correct commit. See [CONTRIBUTING.md - Cloning recursively](https://github.com/Azure/typespec-azure/blob/main/CONTRIBUTING.md#cloning-recursively) for details.
41
+
- A new clone or worktree also needs `mise trust` (and `mise install` if tools are missing) before `pnpm` and other tools will work — see [Development Environment (mise)](#development-environment-mise).
30
42
- When pushing changes and creating pull requests, push to your personal fork and open PRs against the main Azure fork's `main` branch.
0 commit comments