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

infernoflow

v0.10.5

Published

The forge for liquid code — keep capabilities, contracts, and docs in sync.

Readme

🔥 infernoflow

The forge for liquid code — keep capabilities, contracts, and docs in sync with your codebase.

What it does

infernoflow ensures that when your code changes, your capability contracts and documentation stay in sync. It prevents "semantic drift" — where code evolves but no one knows what the system can actually do.

inferno/
├── contract.json       ← what your system promises to do
├── capabilities.json   ← registry of each capability
├── scenarios/          ← test scenarios covering each capability
└── CHANGELOG.md        ← history of capability changes

Install

npm install -g infernoflow
# or use without installing:
npx infernoflow init

Quick Start

# 1. Scaffold in your project root:
npx infernoflow init

# 2. See your contract health:
infernoflow status

# 3. When you add a feature, let AI update the docs:
infernoflow suggest "added email notifications and user profiles"

# 4. Validate everything:
infernoflow check

# 5. In CI / pre-push hook:
infernoflow doc-gate

Adopt Existing Project

Use this when your project already has code and you want InfernoFlow to bootstrap from current behavior.

# from existing project root
infernoflow init --adopt

Non-interactive adoption:

infernoflow init --adopt --yes

Override detected stack during adoption:

infernoflow init --adopt --lang ts --framework angular --project-type frontend

JSON report for CI/logging:

infernoflow init --adopt --yes --report-json

JSON-only output (clean machine output, no text logs):

infernoflow init --adopt --yes --report-json-only

Human-only output (visual report only, no JSON block):

infernoflow init --adopt --yes --report-human-only

What adoption creates:

  • inferno/contract.json (inferred capability baseline)
  • inferno/capabilities.json (inferred registry)
  • inferno/scenarios/adoption_baseline.json (coverage baseline)
  • inferno/adoption_profile.json (detected components, display fields, external libraries, UI layout, styling hints)
  • inferno/context-state.json (saved development profile: language/framework/project type)
  • inferno/CHANGELOG.md (adoption entry)

Safety:

  • Existing inferno/ is not overwritten unless --force is provided.
  • Adoption prints an inferred capability report with source-file hints and confidence.

Recommended Workflow

# start a feature
infernoflow context --intent "add search to tasks" --working "frontend search UX"

# generate implementation prompt(s) for coding agent
infernoflow implement "add server-side task search endpoint" --mode both

# build code changes

# sync inferno contract with AI assistance
infernoflow suggest "added task search by title and due date"

# verify no drift
infernoflow status
infernoflow check

Team SOP (Developer Workflow)

Use this checklist for every feature branch:

  1. Set intent
infernoflow context --intent "what feature is being built" --working "current slice"
  1. Build code
  • Implement UI/API/tests as usual.
  1. Sync contract with suggest
infernoflow suggest "plain-language description of what changed"
  • Paste generated prompt into your AI.
  • Paste AI JSON back into terminal.
  • Approve with y only after preview looks correct.
  1. Validate before commit
infernoflow status
infernoflow check
  1. CI-safe checks
infernoflow status --json
infernoflow check --json
infernoflow doc-gate --json
  1. Definition of done
  • Capability changes are reflected in inferno/contract.json.
  • New/changed capabilities exist in inferno/capabilities.json.
  • Scenario coverage updated under inferno/scenarios/.
  • inferno/CHANGELOG.md updated under ## Unreleased.
  • infernoflow check passes.

Commands

| Command | Description | |---|---| | infernoflow init | Interactive scaffold — creates inferno/ in your project | | infernoflow status | At-a-glance health of your contract | | infernoflow suggest | Generate an AI prompt, apply capability updates | | infernoflow implement | Generate implementation prompts for coding agents | | infernoflow check | Full validation: contract, capabilities, scenarios, changelog | | infernoflow doc-gate | Fails if code changed but docs weren't updated | | infernoflow context | Build/persist AI session context for this project |

Options

infernoflow init --force       # overwrite existing files
infernoflow init --yes         # skip prompts, use defaults
infernoflow init --adopt       # infer baseline from existing project
infernoflow init --adopt --lang ts --framework react --project-type frontend
infernoflow init --adopt --report-human-only
infernoflow suggest "..."      # describe what changed
infernoflow implement "..." --mode both
infernoflow implement "..." --mode cursor
infernoflow implement "..." --mode generic
infernoflow implement "..." --mode both --copy
infernoflow check --json       # machine-readable output for CI
infernoflow check --skip-doc-gate
infernoflow status --json      # machine-readable status summary
infernoflow doc-gate --json    # machine-readable doc-gate result

infernoflow suggest — AI-powered updates

When you add a feature, just describe it in plain language. infernoflow generates a prompt you can paste into any AI (Claude, ChatGPT, Copilot, Cursor, etc.), then applies the suggested changes automatically.

infernoflow suggest "added payment processing and invoice generation"

What happens:

  1. infernoflow reads your current contract state
  2. Generates a structured prompt with full context
  3. You paste it into your AI of choice
  4. Paste the JSON response back
  5. infernoflow previews the changes and asks for confirmation
  6. On approval — updates contract.json, capabilities.json, scenarios/, and CHANGELOG.md

Example output:

Proposed Changes

  Summary: Added payment processing and invoice generation functionality.

  + New capabilities:
      ProcessPayment — Process Payment
      GenerateInvoice — Generate Invoice

  ~ Scenario updates:
      [update] happy_path.json

  📝 Changelog: - Add payment processing and invoice generation capabilities.

  Apply these changes? (y/n)

Works with any AI — Claude, ChatGPT, GitHub Copilot, Cursor, or your own setup.

infernoflow implement — code-agent execution prompts

Generate coding prompts from your project context and inferno contract:

infernoflow implement "add pagination to tasks" --mode both

Modes:

  • --mode cursor: Cursor-specific coding prompt
  • --mode generic: generic prompt for any coding agent
  • --mode both: print both sections (default)
  • --copy: copy selected prompt output to clipboard

Recommended chain:

  1. infernoflow context --intent "..."
  2. infernoflow implement "..."
  3. run the coding agent and apply code changes
  4. infernoflow suggest "..."
  5. infernoflow check

Troubleshooting

  • Unknown command: suggest:
    • Run infernoflow --help and confirm suggest appears.
    • If using npx, force a specific version: npx infernoflow@latest --help.
  • infernoflow: command not found:
    • Use npx infernoflow ... or install globally: npm install -g infernoflow.
  • npm publish fails with existing version:
    • Bump version first (npm version patch|minor|major) then publish.
  • status or check fails due to missing inferno files:
    • Run infernoflow init at project root.
  • Windows/Git Bash path confusion:
    • Prefer node bin/infernoflow.mjs --help from package root for local debugging.

Why infernoflow?

The problem: AI-assisted development moves fast. Code changes daily. But what does the system actually do? What changed? What's covered?

The metaphor: A forge (כיבשן). Metal becomes liquid — flexible, shapeable. The forge is the controlled environment where that change happens safely, with molds (contracts) and tempering (validation).

The principle: Liquid where you want flexibility. Solid where you need safety.

CI Integration

# .github/workflows/ci.yml
- name: infernoflow check
  run: npx infernoflow check --json
  env:
    BASE_SHA: ${{ github.event.pull_request.base.sha }}
    HEAD_SHA: ${{ github.event.pull_request.head.sha }}

Release Checklist

npm test
npm pack --dry-run
node bin/infernoflow.mjs --help
node bin/infernoflow.mjs check --help

Then bump version and publish.

License

MIT