A keyboard-driven terminal UI for QA engineers and developers who want to generate pairwise and combinatorial test cases with Microsoft PICT. Build PICT models, define constraints, generate high-coverage test suites, and export results on Linux or Windows.
PICT-powered • Linux and Windows binaries • TXT / JSON / CSV / XLSX export
- Generate pairwise and higher-order combinatorial test cases with Microsoft PICT
- Build and edit PICT-compatible models from a fast terminal UI
- Add constraints without leaving the keyboard
- Export test cases to TXT, JSON, CSV, or XLSX
- Use AI assistance to draft parameters and constraints faster
Pre-built binaries for Linux and Windows are available on the Releases page — no runtime required.
- Download the binary for your platform from the latest release.
- Run it:
./pairwise-tui.exeon Windows or./pairwise-tuion Linux.
Windows SmartScreen warning
On first launch Windows may show "Windows protected your PC". This happens because the binary is not yet known to Microsoft's reputation system — it is not a malware detection.
To run the app:
- Click More info in the SmartScreen dialog.
- Click Run anyway.
Alternatively: right-click the .exe → Properties → check Unblock → OK, then run normally.
Three tabs, navigated with 1 / 2 / 3 or [ / ]:
| Tab | Purpose |
|---|---|
| Model | Define parameters (name + comma-separated values) and PICT constraints |
| Options | Set combination order, randomize seed, case sensitivity, output file path, output format, storage path, file template, AI model |
| Results | View generated test cases in a scrollable table |
Global:
| Key | Action |
|---|---|
g |
Generate test cases (runs PICT) |
s |
Save results to output file |
w |
Write model to storage |
o |
Open model from storage (file picker) |
m |
Open message log overlay |
t |
Cycle through themes |
? |
Open PICT documentation |
i |
Open AI prompt overlay (or AI setup if no API key configured) |
F2 |
Open AI setup overlay |
q / Ctrl+C |
Quit |
1 / 2 / 3 |
Switch tabs |
[ / ] |
Previous / next tab |
Model tab — params panel:
| Key | Action |
|---|---|
a |
Add parameter |
d |
Delete selected parameter |
e |
Edit values for selected parameter |
c |
Edit constraints |
x |
Clear entire model (prompts for confirmation) |
Tab |
Switch to values panel |
↑ / ↓ |
Navigate parameters |
Escape |
Return to params panel / cancel edit |
Results tab:
| Key | Action |
|---|---|
↑ / ↓ |
Scroll test cases |
Message log overlay (m):
| Key | Action |
|---|---|
↑ / ↓ |
Navigate log entries |
c |
Copy selected entry to clipboard |
a |
Copy all entries to clipboard |
m / Escape |
Close overlay |
AI setup overlay (F2 or i without key):
| Key | Action |
|---|---|
Enter |
Save API key |
d |
Clear saved API key |
Escape |
Close overlay |
AI prompt overlay (i):
| Key | Action |
|---|---|
Ctrl+G |
Generate parameters from description |
F2 |
Switch to AI setup |
Escape |
Cancel |
Documentation overlay (?):
| Key | Action |
|---|---|
↑ / ↓ |
Navigate chapters / scroll content |
Enter |
Open selected chapter |
Escape |
Back / close |
Pairwise-TUI can generate PICT parameters automatically from a natural language description using Claude.
- Get an Anthropic API key from console.anthropic.com.
- Press
F2(or pressiwhen no key is configured) to open the AI Setup overlay. - Type your API key and press
Enterto save it. Pressdto clear a saved key.
The key is stored at:
- Linux/macOS:
~/.config/pairwise-tui/credentials.json(chmod 600) - Windows:
%APPDATA%\pairwise-tui\credentials.json
The ANTHROPIC_API_KEY environment variable takes precedence over the stored key.
- Press
ito open the AI prompt overlay. - Describe the feature or test scenario in plain text, e.g.
Login form with email, password, and remember-me checkbox. - Press
Ctrl+Gto generate parameters. - Review the generated parameters in the Model tab.
- Press
gto run PICT and generate test cases.
In the Options tab, tab to the AI Model field and press Enter to cycle through models:
| Model | Characteristics |
|---|---|
claude-haiku-4-5 |
Fastest, lowest cost (default) |
claude-sonnet-4-6 |
Balanced speed and capability |
claude-opus-4-6 |
Most capable, highest cost |
The model is saved/loaded as a plain PICT text file (model.txt):
OS: Windows, Linux, macOS
Browser: Chrome, Firefox, Safari
Language: EN, DE, FR
IF [OS] = "Linux" THEN [Browser] <> "Safari";
The PICT binaries (binaries/pict and binaries/pict.exe) are stored in Git LFS. You must have Git LFS installed and pull the files before running the app:
git lfs install
git lfs checkoutThen install dependencies and start:
bun install
bun run dev| Command | Description |
|---|---|
bun run dev |
Run in watch mode |
bun run start |
Run the app |
bun run check |
Biome lint/format check |
bun run typecheck |
TypeScript type-check |
bun run build:dist |
Build Linux and Windows executables to dist/ |
bun run build:dist:linux |
Build the Linux executable |
bun run build:dist:windows |
Build the Windows executable |
bun run package:appimage |
Package the Linux AppImage |
bun run build:distOutputs self-contained executables to dist/ for Linux and Windows (no Bun required to run).
Windows builds must run on Windows for the custom executable icon to be embedded.
To package the Linux AppImage after building the Linux executable:
bun run build:dist:linux
APPIMAGETOOL=./dist/appimagetool.AppImage bun run package:appimageThe release workflow publishes three artifacts:
pairwise-tui.exefor Windows with the custom app iconpairwise-tuias the raw Linux executablePairwise-TUI-x86_64.AppImageas the desktop-friendly Linux download
To create a new release:
git tag v1.2.3
git push --tagsThis triggers the GitHub Actions release workflow, which builds the Windows executable, Linux executable, and Linux AppImage, then publishes them to the Releases page automatically.
