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

test-lah

v1.0.9

Published

QA Test Case Management — AI-powered test case generation and management

Readme

Test Lah!

Just, Test lah!

A fully client-side QA management tool with interactive mindmaps, test case tracking, and AI-powered test case generation.

Features

  • Mindmap Editor — Drag-and-drop flow maps with horizontal/vertical directions and conditional edges
  • Test Case Table — Track pass/fail/skip/untested with expandable cells, custom columns, and bulk expand
  • AI Generation — Generate test cases from descriptions using Gemini, OpenAI, or DeepSeek
  • E2E Agentic Testing — AI-powered end-to-end test execution with Playwright, live browser preview, self-healing, and run history
  • Multi-Provider AI — Choose from Gemini, OpenAI, DeepSeek, Groq, OpenRouter, or bring your own custom provider
  • Multi-Project — Manage multiple projects with per-node column configs
  • Export — Download as Markdown or JSON
  • Duplicate Projects — Clone any project with one click
  • Profile Card — Your personal QA stats at a glance

Quick Start

Option 1: Global Install (Recommended)

From npmjs.com:

npm install -g test-lah
test-lah

From GitHub Packages:

# One-time setup
npm login --registry=https://npm.pkg.github.com

npm install -g @niamhramadhaan/test-lah
test-lah

This starts the server and opens your browser automatically.

test-lah --port 8080    # Custom port
test-lah --no-open      # Don't auto-open browser
test-lah --help         # Show help

Option 2: Development

git clone https://github.com/niamhramadhaan/test-lah.git
cd test-lah
npm install
npm run dev

Open http://localhost:3000. Enter any name containing "ayu" to login.

AI Setup

  1. Go to Integrations → choose a provider
  2. Enter API key → click Test → click Connect
  3. Select default model
  4. In any node's test cases → click Generate in the dock

Test Flow

It's 3 PM on a Friday. Your annoying manager just Slacked you: "Hey, can you have the test case report ready before EOD? The client wants to see it Monday morning."

Great. Another last-minute request. Now, Test Lah!

Step 1: Login

Open the app. Type your name (make sure it contains "ayu" ). You're in.

Step 2: Create a Project

Hit "+ New Project" and name it something like "Project Yang Jelas". Your PM will be impressed by the naming convention.

![Create Project]

Step 3: Build Your Mindmap

Click into the project. Start adding nodes to map out the user flow:

  • LoginBrowse ProductsAdd to CartCheckoutPayment
  • Add conditional edges: Payment pass → Confirmation, Payment fail → Error page

Drag nodes around. Right-click to add children. This is the fun part — enjoy it while it lasts.

Step 4: Generate Test Cases

Click on a node (say, "Checkout"). Hit the Generate button in the dock. Paste your ticket description or acceptance criteria. Pick your AI provider (Gemini, OpenAI, or DeepSeek).

Watch the cat pictures while AI does the heavy lifting. In seconds, you have a full set of test cases.

Step 5: Run E2E Tests

Click on a node. Hit the E2E button in the dock. Pick your browser — Chromium, Firefox, WebKit, or Edge. Hit Run.

The AI takes over: clicking buttons, filling forms, navigating pages — all while you watch a live browser preview. If a step breaks, it tries to fix itself. Because debugging on a Friday afternoon is nobody's idea of fun.

Step 6: Switch AI Provider

Go to Integrations. Pick from 6 providers:

  • Gemini — Google's finest
  • OpenAI — The classic
  • DeepSeek — Budget-friendly reasoning
  • Groq — Blazing fast LPU inference
  • OpenRouter — Gateway to 200+ models, some free
  • Custom — Ollama, LM Studio, vLLM, anything OpenAI-compatible

Your API keys are encrypted with AES-256-GCM before hitting localStorage. Security first.

Step 7: Review & Update Status

Go through each test case. Run them. Mark them as Pass, Fail, or Skip. Add notes for the ones that failed (blame the FE team, obviously).

Step 8: Export & Share

Click the export button. Download as Markdown for the wiki or JSON for the automation pipeline.

Step 9: Logout (If You Must)

Click the logout button. A friendly modal asks for Donation. because the developer would appreciate a coffee. You can either bail or buy them one.


Tech Stack

Next.js 14 · TypeScript · Tailwind CSS · Motion · Lottie · Playwright · @google/generative-ai · openai · @ai-sdk/groq · OpenRouter · AES-256-GCM encryption

Data stored in browser localStorage. No backend required.

Brand

| Color | Hex | Usage | |-------|-----|-------| | Background | #F7F5F1 | Page background | | Card | #FFFFFF | Cards, panels | | Text Primary | #1A1A1A | Headings, body | | Text Secondary | #7A7872 | Labels, hints | | Accent | #1A1A1A | Buttons, links | | Brown | #6F4E37 | Coffee, highlights | | Pass | #3B6011 | Pass status | | Fail | #8B1A1A | Fail status |

Full brand guideline: docs/brand-guideline.md

License

MIT

Credits

Built by Qois Ramadhani

Duck logo — Duck PNGs by Vecteezy