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

@accidentally-awesome-labs/spatula

v0.1.1

Published

Command-line interface and TUI for Spatula — AI-powered intelligent web crawling.

Readme

@accidentally-awesome-labs/spatula

Spatula CLI — AI-powered intelligent web crawling, terminal-first.

npm install -g @accidentally-awesome-labs/spatula --allow-scripts=better-sqlite3
spatula             # guided setup, safe sample, crawl, and result preview

The guided flow stores credentials in a user-only config file, asks before the Playwright Chromium download, verifies that the browser launches, estimates cost, and stops with actionable remediation rather than silently producing an empty dataset.

For a manual workflow, use spatula setup, spatula init <url>, and spatula run. Structured extraction is required by default; use spatula run --crawl-only to explicitly archive pages without an LLM.

Stability

@accidentally-awesome-labs/spatula is one of three public, semver-stable Spatula packages (alongside @accidentally-awesome-labs/spatula-client and @accidentally-awesome-labs/spatula-core-types). See docs/compat-policy.md for the full SDK ↔ server ↔ core-types compatibility matrix.

The full command surface, flag set, and config file shape (spatula.yaml) are part of the public contract and follow docs/deprecation-policy.md for breaking changes.

Modes

The CLI ships four interactive modes, all built on Ink (React-for-terminals):

  • Conversational — describe your data in plain language; the LLM proposes a job config.
  • Dashboard — live status across runs (page budget, LLM cost, quality scores).
  • Review — accept/modify schema-evolution actions before they apply.
  • Explorer — paginate entities + extracted fields with provenance.

Publishing

@accidentally-awesome-labs/spatula is built via tsup producing a dual ESM + CJS output with TypeScript declaration files:

pnpm --filter @accidentally-awesome-labs/spatula build   # tsup --config tsup.config.ts → dist/
pnpm --filter @accidentally-awesome-labs/spatula pack    # produces an installable .tgz

The published tarball contents are governed by the files allowlist in package.json (not .npmignore). Provenance attestation (--provenance) and trusted publishing via GitHub OIDC are wired in .github/workflows/release.yml.

No postinstall script

@accidentally-awesome-labs/spatula deliberately ships no postinstall script. The install command explicitly allows only the native SQLite dependency's build script. Playwright browsers (needed for the headless crawler) are installed via the explicit spatula setup command. This avoids surprising browser downloads during package installation, makes the install reproducible in CI, and lets users opt out of Playwright if they only need Firecrawl-backed crawls.

spatula setup                    # asks before downloading Chromium
spatula setup --install-browser  # install without the browser confirmation
spatula setup --skip-browser     # configure a Firecrawl-only environment

Engines

Compatibility

@accidentally-awesome-labs/spatula may speak to any Spatula server within the same major version. Major-version mismatch triggers a clear error at first request via the version probe in @accidentally-awesome-labs/spatula-client (see docs/compat-policy.md).