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

@tinyideas/contitest-cli

v0.1.5

Published

CLI tool to scan and upload test plan snapshots

Downloads

12

Readme

@tinyideas/contitest-cli

CLI tool to scan and upload test plan snapshots

Installation

npm install -g @tinyideas/contitest-cli

Or use with npx (no installation required):

npx @tinyideas/contitest-cli scan
npx @tinyideas/contitest-cli push

Usage

1. Scan your project for test plan files

contitest scan

This will:

  • Find all .test-plan.md files in your project
  • Extract metadata (title, content preview, line count)
  • Generate a snapshot in .contitest/data.json

2. Push the snapshot to the cloud

contitest push

This uploads your test plan snapshot to the contitest platform.

3. View on the dashboard

Visit the dashboard to see your test plan snapshots!

Configuration

The CLI automatically fetches its configuration from a remote JSON file hosted on Vercel. This allows the CLI to stay up-to-date without requiring new releases.

How It Works

  1. Remote Config (Default): The CLI fetches https://contitest.tinyideas.dev/cli-config.json which contains:

    {
      "convexUrl": "https://charming-firefly-443.convex.cloud",
      "minimumCliVersion": "0.1.0",
      "apiVersion": "v1",
      "updatedAt": "2025-01-24T00:00:00Z"
    }
  2. Priority Order: The CLI resolves the Convex URL in this order:

    • --url flag (explicit override)
    • .env.local file (VITE_CONVEX_URL or CONVEX_URL)
    • process.env (VITE_CONVEX_URL or CONVEX_URL)
    • Remote config (fetched from Vercel)
  3. Caching: Config is cached for 5 minutes to reduce network requests.

Override for Local Testing

To test with a local config server:

export CONTITEST_CONFIG_URL=http://localhost:3000/cli-config.json
export CONTITEST_ALLOW_UNPINNED_CONFIG=1
export CONTITEST_ALLOW_INSECURE_HTTP=1
contitest scan --verbose

See cli/LOCAL_TESTING.md for detailed local testing instructions.

Config File Location

The config file is served from the main app's public/cli-config.json folder and deployed to Vercel alongside the application. To update the Convex URL:

  1. Edit public/cli-config.json in the main repository
  2. Commit and push
  3. Vercel automatically deploys the update
  4. CLI picks up changes after cache expires (5 minutes)

Security notes

  • Remote config is fetched over HTTPS from the pinned host contitest.tinyideas.dev only when pushing data. To use a different host, set CONTITEST_ALLOW_UNPINNED_CONFIG=1 and CONTITEST_CONFIG_URL=https://your-host/cli-config.json and ensure you trust it.
  • Authentication tokens are stored at ~/.contitest/auth.json with restrictive permissions (0700 dir / 0600 file). On shared machines, prefer OS keychain storage or rotate tokens frequently.
  • Provide Convex URLs over HTTPS; set --url or CONVEX_URL/VITE_CONVEX_URL. HTTP is blocked unless you opt into CONTITEST_ALLOW_INSECURE_HTTP=1 for local testing.

Options

scan

contitest scan [options]

Options:
  -d, --dir <directory>    Directory to scan (default: ".")
  --push                   Automatically push after scanning
  -u, --url <url>          Convex deployment URL (used with --push)
  --verbose                Show detailed parsing information
  --strict                 Fail on validation warnings

push

contitest push [options]

Options:
  -u, --url <url>        Convex deployment URL (overrides .env.local)

Example Workflow

# In your project directory
contitest scan
contitest push

# Or scan and push in one command
contitest scan --push

# Done! View your snapshots on the dashboard

License

MIT