diff --git a/src/Tiger/skills/tiger-cli/SKILL.md b/src/Tiger/skills/tiger-cli/SKILL.md index 04c5b75..b4205ad 100644 --- a/src/Tiger/skills/tiger-cli/SKILL.md +++ b/src/Tiger/skills/tiger-cli/SKILL.md @@ -10,13 +10,41 @@ real-time CI/CD information that may not yet be in the local database. ## Location -The Tiger executable is located at `../../tiger` relative to this skill file. Run it as: +Tiger's skills are copied beside the application in both source builds and installed +tools. Running from source does **not** require a separate `tiger` command on PATH or +another `dotnet run`. +Resolve `..\..\tiger.dll` on Windows (`../../tiger.dll` on Unix) from the directory +containing this loaded `SKILL.md`, **not** from the shell's current directory. Use the +resulting absolute path: + +``` +dotnet "" azdo tests --help ``` -dotnet run --project src/Tiger/Tiger.csproj -- + +Replace `` in every example with that resolved path; +keep it quoted for paths containing spaces. This works for both source-build output +and installed tool packages. Source builds also provide an adjacent `tiger.exe` +(or `tiger` on Unix), but the DLL form works without an apphost. + +For example, a Windows source build has this layout: + +```text +\artifacts\bin\Tiger\debug\ + tiger.exe + tiger.dll + skills\ + tiger-cli\SKILL.md ``` -All output is structured **JSON** suitable for programmatic consumption. +The dashboard registers this output's `skills` directory with Copilot, not the +repository's `src\Tiger\skills` directory. If the loaded skill is instead a manually +registered source file and has no adjacent application, build Tiger and load the +output skills before continuing. Do not assume a global `tiger` installation exists. + +Below, `tiger` in command names is shorthand for the resolved invocation above. +AzDO and Helix command results are structured **JSON** suitable for programmatic +consumption; `--help` displays help text. ## Available Commands @@ -77,6 +105,6 @@ Each command supports `--help` for full argument and option details. Always run options. For example: ``` -dotnet run --project src/Tiger/Tiger.csproj -- azdo tests --help -dotnet run --project src/Tiger/Tiger.csproj -- helix workitems --help +dotnet "" azdo tests --help +dotnet "" helix workitems --help ``` diff --git a/src/Tiger/skills/tiger-crash-dump/SKILL.md b/src/Tiger/skills/tiger-crash-dump/SKILL.md index af5eef5..70c8cd4 100644 --- a/src/Tiger/skills/tiger-crash-dump/SKILL.md +++ b/src/Tiger/skills/tiger-crash-dump/SKILL.md @@ -39,6 +39,19 @@ WHERE r.build_id = @buildId The method for retrieving the dump file depends on whether the test ran on Helix or not. +### Invoking Tiger + +For both source builds and installed tools, resolve `..\..\tiger.dll` on Windows +(`../../tiger.dll` on Unix) from the directory containing this loaded `SKILL.md`, +not from the shell's current directory. Replace `` in +the examples with the resulting absolute path and keep it quoted. + +The dashboard registers skills from the application's output directory, where this +DLL is already present even when running from source. No global `tiger` command or +additional `dotnet run` is needed. If the DLL is missing because the skill was loaded +directly from the source tree, build Tiger and load its output skills first. +Run the relevant command with `--help` before using it to discover its options. + ### Normal (non-Helix) tests When `helix_job_name` is NULL, the crash dump is uploaded inside an **Azure DevOps pipeline artifact** associated with the test job. @@ -47,19 +60,17 @@ When `helix_job_name` is NULL, the crash dump is uploaded inside an **Azure DevO ```shell # Download all dump files from a build -tiger azdo download-dumps +dotnet "" azdo download-dumps # Download dumps only from a specific test run -tiger azdo download-dumps --run-id +dotnet "" azdo download-dumps --run-id # Specify output directory -tiger azdo download-dumps --output ./dumps +dotnet "" azdo download-dumps --output ./dumps ``` This command scans build artifacts, finds `.dmp` files, and downloads them individually without downloading entire artifacts. -The `tiger` CLI is available at `../../tiger` (relative to this skill). - **How it works under the hood:** 1. Lists all artifacts for the build 2. If `--run-id` is provided, filters to the artifact matching that test run's name @@ -72,10 +83,10 @@ If `download-dumps` doesn't work, you can download the entire artifact containin ```shell # List artifacts to find the right one -tiger azdo artifacts +dotnet "" azdo artifacts # Download the full artifact (artifact name = test run name with underscores + "Attempt N Logs") -tiger azdo download --artifact "" --output ./logs.zip +dotnet "" azdo download --artifact "" --output ./logs.zip ``` As a last resort, use the AzDO REST API or the build's Artifacts tab in the web UI.