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

ripple-qa

v0.2.0

Published

Release impact analyzer for QA engineers — cross-references Jira tickets with Confluence docs and your test suite to produce a structured test impact report

Readme

Ripple

Release impact analyzer for QA/SDET engineers. Given a Jira ticket or release, Ripple cross-references your Confluence documentation and existing test suite to produce a structured report: what changed, what's at risk, which tests to run, and where the coverage gaps are.


Installation

npm install -g ripple-qa

Quick Start

# 1. Run the setup wizard
ripple init

# 2. Add your API keys to .env
cp .env.example .env
# edit .env with your keys

# 3. Analyze a ticket
ripple analyze --ticket PROJ-1234

Example Output

# Ripple Analysis — PROJ-1234

Add rate limiting to the /payments API endpoint

Analyzed: 2024-03-15T14:32:00.000Z

## Risk Level: HIGH

This is a high-priority Bug affecting the payments component, which is core to checkout flows.

## Impacted Areas

| Area | Confidence | Reason |
|------|-----------|--------|
| Payments API | HIGH | Directly modified endpoint |
| Checkout Flow | HIGH | Payments API is called during checkout |
| Fraud Detection | MEDIUM | Rate limiting may interact with retry logic in fraud checks |

## Recommended Tests (6)

### HIGH Priority
- **TC-001: Successful payment with valid card** (Payments)
  → Core happy path for the modified endpoint
- **TC-002: Payment declined — insufficient funds** (Payments)
  → Ensures error handling still functions under rate limiting

### MEDIUM Priority
- **TC-015: Checkout end-to-end flow** (Checkout)
  → Rate limiting could break checkout if limits are too aggressive

## Coverage Gaps

These scenarios have no existing test case:

1. **Rate limit threshold is enforced (e.g. >100 req/min returns 429)**
   Suggested: Verify /payments returns HTTP 429 after exceeding rate limit within a time window

2. **Rate limit resets correctly after the window expires**
   Suggested: Confirm a client blocked by rate limiting can retry successfully after the cooldown period

## Context

- Wiki pages referenced: Payments Architecture, Checkout Flow Overview
- Test cases evaluated: 87
- Test cases recommended: 6

---
Generated by Ripple • claude-sonnet-4-6

CLI Reference

# Single ticket
ripple analyze --ticket PROJ-1234

# Multiple tickets
ripple analyze --ticket PROJ-1234 PROJ-1235 PROJ-1236

# Full release
ripple analyze --release v2.4.1

# Override output format
ripple analyze --ticket PROJ-1234 --output json
ripple analyze --ticket PROJ-1234 --output both

# Save report to file
ripple analyze --ticket PROJ-1234 --save
# Saves to ./ripple-reports/PROJ-1234-<timestamp>.md

# Verbose mode (shows raw source data)
ripple analyze --ticket PROJ-1234 --verbose

Configuration Reference

All non-secret configuration lives in ripple.config.json (safe to commit).

| Field | Description | |-------|-------------| | jira.url | Your Atlassian Cloud base URL (e.g. https://yourcompany.atlassian.net) | | jira.email | Email address associated with your Jira API token | | jira.projectKey | Jira project key (e.g. PROJ) | | confluence.url | Confluence base URL (usually same as Jira for Atlassian Cloud) | | confluence.spaceKey | Confluence space key to search for related docs | | testSuite.type | Currently only csv is supported | | testSuite.path | Relative path to your CSV file from the project root | | testSuite.columns.name | CSV column header for the test case name | | testSuite.columns.area | CSV column header for the feature area | | testSuite.columns.priority | CSV column header for the priority (High/Medium/Low) | | llm.provider | LLM provider: claude (default), github, openai, ollama | | llm.model | Model ID — default depends on provider (e.g. claude-sonnet-4-6, llama3.1:8b) | | llm.baseURL | API base URL — required for ollama, optional for openai | | llm.apiKeyEnv | Env variable name holding the API key — not used for ollama | | output.format | Default output format: markdown, json, or both | | output.saveReports | If true, always saves reports without needing --save | | output.reportsDir | Directory to write saved reports — default: ./ripple-reports |


Environment Variables

Store API keys in a .env file (never commit this file).

| Variable | Description | |----------|-------------| | ANTHROPIC_API_KEY | API key from console.anthropic.com | | JIRA_API_TOKEN | Jira API token from your Atlassian account settings | | CONFLUENCE_API_TOKEN | Confluence API token (usually the same as your Jira token for Atlassian Cloud) |


Supported Sources

| Source | v1 | Planned | |--------|----|---------| | Jira Cloud | ✅ | | | Jira Server/Data Center | | ✅ | | Confluence Cloud | ✅ | | | Confluence Server | | ✅ | | CSV test suite | ✅ | | | TestRail | | ✅ | | Zephyr Scale | | ✅ | | GitHub Issues | | ✅ |

Supported LLM Providers

| Provider | Notes | |----------|-------| | Claude (Anthropic) | Default — set ANTHROPIC_API_KEY | | GitHub Models | Uses your GitHub token — set GITHUB_TOKEN | | OpenAI / compatible | Set OPENAI_API_KEY (or custom env) | | Ollama | Local, no API key — see Using Ollama |


Using Ollama (Local Models)

Ripple supports Ollama as a fully local, no-cost LLM option — no API key required.

1. Install and start Ollama

# macOS / Linux
brew install ollama   # or download from ollama.com
ollama serve

2. Pull a model

ollama pull llama3.1:8b      # recommended — strong reasoning, fast
ollama pull mistral           # good alternative
ollama pull gemma2:9b         # Google's Gemma 2

3. Run ripple init and choose Ollama

? LLM provider: Ollama (local, no API key required)
? Ollama model: llama3.1:8b
? Ollama API base URL: http://127.0.0.1:11434/v1

This writes the following to ripple.config.json:

{
  "llm": {
    "provider": "ollama",
    "model": "llama3.1:8b",
    "baseURL": "http://127.0.0.1:11434/v1"
  }
}

4. Add only Jira/Confluence tokens to .env — no LLM key needed:

JIRA_API_TOKEN=...
CONFLUENCE_API_TOKEN=...

5. Analyze as usual

ripple analyze --ticket PROJ-1234

Note: Local model quality varies. llama3.1:8b works well for structured JSON output. If you get JSON parse errors, try a larger model (llama3.1:70b) or set "model": "mistral" in ripple.config.json.


Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/your-feature
  3. Make your changes — ES modules throughout, no TypeScript, no require()
  4. Open a pull request

License

MIT