Skip to main content

testing-workflow

Select and report verification for MiniMax Code changes using the repository's declared test suites and CI gates. Use when validating code, skills, documentation, build tooling or source-distribution changes.

Jump to install

Source facts

Repository
MiniMax-AI/minimax-code
Last source activity
September 23, 2026 at 13:21
Detected SKILL.md language
English
Stars
1,833
Forks
216

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
testing-workflow
description
Select and report verification for MiniMax Code changes using the repository's declared test suites and CI gates. Use when validating code, skills, documentation, build tooling or source-distribution changes.
# Testing Workflow Start with changed files, then identify the owning runtime, user entry point and final observable behavior. Read `AGENTS.md`, `CONTRIBUTING.md` and the applicable steps in `scripts/verify.mjs`. ## Focused iteration Vitest files belong to groups in `test/vitest-suites.json`; aliases and inclusion come from `vitest.oss.config.mjs`. Select an existing declared file for a focused run, for example: ```bash pnpm exec vitest run --config vitest.oss.config.mjs packages/tui/test/unit/headless-contract.test.ts ``` Register new Vitest files in the suite declaration. Do not add hard-coded file lists to package scripts or the Vitest configuration. Vendored upstream test suites are outside this distribution's verification. | Scope | Repository gate | | --- | --- | | Runtime, TUI, providers, plugins and ACP | `pnpm test:capabilities` | | Headless CLI and offline BYOK behavior | `pnpm test:byok` | | CLI artifact smoke | `pnpm test:smoke` | | Public artifact content | `pnpm test:artifact` | | TUI build-mode contract | `pnpm test:status-contract` | | Permission facade on macOS/Linux | `pnpm test:policy` | | Sandbox on macOS | `pnpm test:sandbox` | | Source-sync, workflow and release tools | `pnpm test:release-tools` | | npm release archive installation | `MCODE_RELEASE_TAG=vX.Y.Z MCODE_RELEASE_ARCHIVE=/path/to/package.tar.gz pnpm verify --profile package` | | TUI source and test lint | `pnpm lint:tui` | | Types and standalone build boundary | `pnpm typecheck`, `pnpm build`, `pnpm check:standalone` | | Published files and generated paths | `pnpm check:source`, `pnpm check:tsconfig` | Artifact-dependent tests require a current `pnpm build`. Keep test state and reports outside the repository, using synthetic data and temporary directories. The declared Vitest gate runner serializes test files on Windows to limit filesystem contention while retaining individual test deadlines. Run the owning gate for platform acceptance; a direct Vitest invocation uses its default worker count. Full-runtime smoke children have a 30-second Windows startup budget, matching ACP; lightweight help and validation checks retain 15 seconds. ## Delivery verification Run `git diff --check` and the relevant individual gates while editing. Review new or removed files before regenerating `release/public-source.json` with `node scripts/source-inventory.mjs --write`. Before opening a PR, run `pnpm verify` on the reviewed commit with a clean tracked working tree. Source export reads committed HEAD and rejects uncommitted tracked changes; report that limitation if only iteration checks are possible. Use `pnpm verify --list` to inspect the current platform's gates. Use the `docs` profile only when every changed path qualifies under `scripts/ci-changes.mjs`. Skills under `.agents/skills`, unknown paths and inventory changes require the full profile. The `archive` profile is for source-archive validation, not a way to bypass the clean-commit export requirement. The `package` profile authenticates an npm release archive, installs it into a temporary npm prefix, and exercises its launcher, native dependencies and offline smoke/BYOK suites. It requires `MCODE_RELEASE_TAG` and `MCODE_RELEASE_ARCHIVE` and does not replace source validation. The release command commits matching root/TUI source versions before tagging. The release workflow rejects version mismatches and runs the full profile before package installation checks. ## Performance coverage Use [CONTRIBUTING.md](../../../CONTRIBUTING.md#performance-checks) to classify the change. Add `perf:full` for performance optimizations, changes to history/token processing, storage, streaming or tool execution, and large runtime refactors. The label automatically selects the full suite and keeps it selected for later commits. Before merge, link a passing `performance` run with `Suite: full` for the latest head and intended base. Read [Performance CI](../../../docs/performance-ci.md) for evidence, limits and manual dispatch. ## Manual evidence and reporting For CLI behavior, exercise the built `dist/cli.js` and inspect stdout, stderr and exit code. For terminal presentation, exercise the relevant interaction when feasible. For provider or service changes, distinguish offline fixtures from a real endpoint call. Report scope, commands and results, manual scenarios, and untested boundaries. Use PASS/FAIL/BLOCKED for actual checks; mark checks that did not run explicitly. Local macOS success does not establish Windows/Linux or live-service acceptance.
View on GitHub