Skip to main content

aiq-release-qa

Use when validating an AI-Q change before opening or merging a PR — choosing and running the right Python, frontend, docs, or eval checks for the surfaces you touched instead of one fixed command list.

Zur Installation springen

Quellinformationen

Repository
NVIDIA-AI-Blueprints/aiq
Letzte Quellaktivität
15. Juli 2026 um 19:32
Erkannte Sprache von SKILL.md
Englisch
Sterne
873
Forks
265

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
aiq-release-qa
description
Use when validating an AI-Q change before opening or merging a PR — choosing and running the right Python, frontend, docs, or eval checks for the surfaces you touched instead of one fixed command list.
license
Apache-2.0
compatibility
Claude Code, Codex, Cursor, OpenCode, and Agent Skills-compatible tools.
metadata
{"version":"0.1.0","source-repo":"NVIDIA-AI-Blueprints/aiq","tags":"aiq nemo-agent-toolkit validation testing release-qa"}
allowed-tools
Read Bash
# AI-Q Release QA Use this skill to validate a change in the AI-Q repository before opening or merging a pull request. The goal is to run the **narrowest set of checks that covers what you touched**, then broaden only when a change crosses shared boundaries — not to run every command every time. ## Start Here - Identify which surfaces the change touches: backend Python (`src/`, `sources/`, `tests/`), web UI (`frontends/ui/`), docs (`docs/`), or evals (`frontends/benchmarks/`). - Run the scoped checks for those surfaces first (see the matrix below). - Broaden to the full suite only when the change crosses shared boundaries (for example editing `src/aiq_agent/common/` or a config many agents load). - Capture the exact commands and their output — `aiq-prepare-pr` requires this as validation evidence. - Never paste secrets or `deploy/.env` values into command output you share. ## Authoritative References - [AGENTS.md](../../../AGENTS.md): the "Build, test, and validation commands" section is the source of truth for every command below. - [CONTRIBUTING.md](../../../CONTRIBUTING.md): "Local Validation" — the exact commands to run and the requirement to include their output in the PR. - `pyproject.toml` and `uv.lock`: root Ruff config (line length 120, rule sets `E,F,W,I,PL,UP`) and the root dev environment. - `mcp/pyproject.toml` and `mcp/uv.lock`: the independent MCP runtime and dev environment. MCP is not a root dependency group. - `frontends/ui/package.json`: the real `scripts` (`lint`, `type-check`, `test:ci`, `build`) — use these names, do not invent npm scripts. For the full per-surface command list and expected results: - [references/validation-matrix.md](references/validation-matrix.md) ## Workflow 1. List the changed paths (`git status`, `git diff --name-only`) and map them to surfaces. 2. Run the scoped Python, UI, docs, or eval checks for those surfaces. 3. If the change touches shared code or config, broaden to the full suite for that surface. 4. Re-run until lint, format, type, and tests all pass; fix failures rather than skipping checks. 5. Record the exact commands and their output for the PR description. ## Validation Pick the block that matches the change. Run the narrowest first. Backend Python (run from the repo root; the project uses `uv`): ```bash uv run ruff check <changed paths> # lint uv run ruff format --check <changed paths> # format check uv run pytest <scoped test paths> # tests ``` MCP server (run from the repo root): ```bash uv sync --project mcp --extra dev uv run ruff check mcp uv run ruff format --check mcp uv run --project mcp --extra dev pytest mcp/tests ``` Broaden to the whole tree when the change crosses shared boundaries: ```bash uv run ruff check . uv run ruff format --check . uv run pytest uv run --project mcp --extra dev pytest mcp/tests ``` Frontend (from `frontends/ui/`): ```bash npm run lint npm run type-check npm run test:ci ``` Expected: Ruff reports no lint or format failures, tests pass, and the frontend lint/type-check/test commands exit cleanly. For docs and eval changes, see the matrix reference. ## Common Mistakes - Running both complete root and MCP test suites for a one-package change instead of scoping to the touched paths first — slow, and it buries the relevant signal. - Running MCP tests in the root environment; use `uv run --project mcp` so the check consumes the isolated MCP lock and dev extra. - Skipping `ruff format --check` and pushing unformatted code that fails CI. - Hand-reformatting unrelated code; only the changed code should move. - Forgetting that `nat eval` needs `deploy/.env`; run evals via `dotenv -f deploy/.env run nat eval ...` (see the matrix reference). - Inventing npm scripts; stick to the canonical checks `lint`, `type-check`, `test:ci`, and `build` defined in `frontends/ui/package.json`. ## Related Skills - `aiq-prepare-pr` - `aiq-add-tool` - `aiq-add-data-source`
Auf GitHub ansehen