npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pict-cli

v0.2.0

Published

Node.js-friendly command-line tool for running PICT-style combinatorial test generation

Downloads

194

Readme

pict-cli

pict-cli is a Node.js-friendly command-line tool for running PICT-style combinatorial test generation from npm, CI, or ad hoc shell usage.

This is an independent project by the package author and is not affiliated with Microsoft. It is inspired by Microsoft PICT and is intended to make similar workflows available in a Node.js environment, but it does not claim full command-line compatibility with the original pict executable.

Requirements

  • Node.js ^22 || ^24

Installation

Install pict-cli globally if you want a persistent local command:

npm install --global pict-cli

Run it without a global install for one-off usage:

npx pict-cli <model>

Use npx for ad hoc runs. Use a global install when you expect to run the command repeatedly on the same machine.

Quick Start

Create a model file such as model.txt:

OS: Windows, Linux
Browser: Edge, Chrome, Firefox

Generate combinations with either a global install or npx:

pict-cli model.txt
npx pict-cli model.txt

Example output:

OS	Browser
Windows	Edge
Windows	Chrome
Windows	Firefox
Linux	Edge
Linux	Chrome
Linux	Firefox

The generated result is written as tab-separated text.

CLI Usage

Usage: pict-cli model [options]

model must be exactly one argument: either a model file path or - to read the model from standard input.

| Option | Description | | ----------- | ------------------------------------------------- | | -o N\|max | Order of combinations. Default: 2. | | -d C | Separator for values. Default: ,. | | -a C | Separator for aliases. Default: \|. | | -n C | Negative value prefix. Default: ~. | | -e file | File with seeding rows. | | -r N | Randomize generation with seed N. | | -c | Enable case-sensitive model evaluation. | | -s | Show model statistics instead of generated cases. |

In addition to the Unix-style forms above, pict-cli also accepts Windows-style short options such as /c, /o:3, and /e:seed.tsv.

Examples:

pict-cli model.txt -o 3 -c
pict-cli model.txt -r 42
pict-cli model.txt -e seed.tsv
pict-cli model.txt /o:3 /c
pict-cli model.txt /e:seed.tsv
cat model.txt | pict-cli -
npx pict-cli model.txt -s

Compatibility and Limitations

  • Only short options are supported.
  • Windows-style short options are also accepted as /x and /x:value.
  • Exactly one model argument is required.
  • Use - as the model argument to read the model from standard input.

License

This project is licensed under the MIT License—see the LICENSE file for details.

Disclaimer

pict-cli is provided "as is", without warranty of any kind. The authors are not liable for any damages arising from its use.

Generated test cases do not guarantee complete coverage or the absence of defects. Please supplement pairwise testing with other strategies as appropriate.

pict-cli is an independent project and is not affiliated with Microsoft Corporation.


If you find pict-cli useful, please consider starring the repository.